filemode: Remove Cray support.
[gnulib.git] / ChangeLog
blob9af234b677f745db01e02454d8492a8aa4827b17
1 2020-12-20  Bruno Haible  <bruno@clisp.org>
3         filemode: Remove Cray support.
4         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
5         (filemodestring): Don't produce an 'M' type.
6         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
7         * m4/st_dm_mode.m4: Remove file.
8         * modules/filemode (Files): Remove it.
10 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12         free-posix: assume glibc 2.33 fixes this.
13         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
14         Use compile-time test rather than guessing for cross-builds.
16 2020-12-20  Bruno Haible  <bruno@clisp.org>
18         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
19         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
20         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
21         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
23 2020-12-20  Bruno Haible  <bruno@clisp.org>
25         float: Fix compilation error when gnulib's float.h exists twice.
26         Reported by Santiago Vila <sanvila@unex.es>.
27         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
29 2020-12-19  Bruno Haible  <bruno@clisp.org>
31         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
32         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
33         Don't trust _POSIX_VERSION for this test.
35 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
37         free-posix: port to GNU/Linux
38         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
39         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
40         other GNU/Linux hosts.
42 2020-12-19  Bruno Haible  <bruno@clisp.org>
44         free-posix: Add tests.
45         * tests/test-free.c: New file.
46         * tests/macros.h (ASSERT_NO_STDIO,
47         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
48         WRITE_TO_STDERR): New macros.
49         * modules/free-posix-tests: New file.
51 2020-12-18  Bruno Haible  <bruno@clisp.org>
53         free-posix: Add C++ declaration test.
54         * tests/test-stdlib-c++.cc (free): New declaration.
56 2020-12-18  Bruno Haible  <bruno@clisp.org>
58         free-posix: New module, renamed from 'free'.
59         * modules/free-posix: Renamed from modules/free.
60         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
61         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
62         not GNULIB_FREE.
63         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
64         GNULIB_FREE.
65         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
66         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
67         what it does.
68         * NEWS: Mention that module 'free' no longer exists.
69         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
70         * modules/canonicalize-lgpl (Depends-on): Likewise.
72 2020-12-18  Bruno Haible  <bruno@clisp.org>
74         free: Remove support for obsolete platforms.
75         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
76         CANNOT_FREE_NULL.
77         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
78         * modules/free (Description): Update.
79         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
81 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
83         intprops: port to ICC 2021.1 Beta 20201112
84         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
85         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
86         Add a clause for other compilers that claim to support
87         __builtin_mul_overflow_p, since we might as well find out about
88         slackers other than Clang and ICC.
89         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
90         like older GCCs even when it claims to be a newer one.
92 2020-12-18  Bruno Haible  <bruno@clisp.org>
94         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
95         Reported by Stefan Liebler <stli@linux.ibm.com> in
96         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
97         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
98         GCC 5.x and 6.x.
99         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
100         GCC 5.x and 6.x.
102 2020-12-17  Bruno Haible  <bruno@clisp.org>
104         free: Fix warning.
105         Reported by Pádraig Brady <P@draigBrady.com> in
106         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
107         * lib/stdlib.in.h (free): New declaration.
108         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
109         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
110         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
111         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
112         'free' as a macro here.
113         * modules/free (Depends-on): Add stdlib.
114         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
116 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
118         canonicalize-lgpl: fix AIX test failures
119         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
120         Problem reported by Bruno Haible in:
121         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
122         * lib/canonicalize-lgpl.c: Include sys/stat.h.
123         (__realpath): When testing a file name ending in '/', use stat
124         rather than readlink, so that it does the right thing on AIX.
125         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
127         canonicalize: omit second readlink when not needed
128         * lib/canonicalize.c (canonicalize_filename_mode_stk):
129         Omit second readlink when (can_exist != CAN_MISSING
130         && startlen != 0 && !logical).  Simplify.
132         canonicalize: remove arbitrary 8192-byte limit
133         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
134         like GNU Hurd that do not define the PATH_MAX macro, and similarly
135         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
136         using scratch buffers.  Lessen the number of differences between
137         the two source files, to simplify this and future maintenance.
138         * lib/canonicalize-lgpl.c (__realpath):
139         * lib/canonicalize.c (canonicalize_filename_mode_stk):
140         Use scratch buffers instead of malloc and malloca.  This avoids
141         the need for alloca, and avoids the need for malloc in most cases.
142         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
143         easier to compare, e.g., by sorting include files and by switching
144         to the GNU convention of calling file names "file names", not
145         "path names".  Include stdbool.h, scratch_buffer.h.
146         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
147         (malloca) [_LIBC]: Remove.
148         [!_LIBC]: Do not include malloca.h.
149         (get_path_max): New function, so that pathconf is called only in
150         the rare and dubious case when when RESOLVED is not null and
151         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
152         file name, as we care about the longest file name starting from
153         "/" (not from the input file name), and POSIX does not specify
154         what pathconf does on a non-directory file anyway.  If PATH_MAX is
155         not defined, do not worry about overriding a path_max of 0, and do
156         not let path_max exceed IDX_MAX.
157         (__realpath): Remove an assumption that file name components
158         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
159         the Hurd, presumably).
160         When allocating the result, allocate it to just the right size;
161         this costs nothing when the result is smaller than 1023 bytes,
162         and for larger results it's probably worth the CPU to call realloc,
163         as canonicalize.c already does.
164         * lib/canonicalize.c: Include attribute.h.
165         Do not include pathmax.h or xgetcwd.h.
166         (PATH_MAX): Do not define, so file names longer than 8192 bytes
167         work on platforms with no fixed limit.
168         (canonicalize_filename_mode_stk): New function, with
169         the content of the old canonicalize_filename_mode.
170         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
171         since the scratch buffers now do memory management for us.
172         Use rawmemchr instead of adding strlen.
173         Use mempcpy instead of mempcpy + size.
174         Assume free preserves errno.
175         (canonicalize_filename_mode): Use it.
176         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
177         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
178         scratch_buffer, stdbool, xalloc-die.
179         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
180         malloca, realloc-posix.  Add scratch_buffer, stdbool.
182         canonicalize-lgpl: simplify merge to glibc
183         This patch lessens the differences between git glibc
184         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
185         The (perhaps wishful) goal is to make them identical.
186         * lib/canonicalize-lgpl.c [!_LIBC]:
187         Include <libc-config.h>, not config.h.
188         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
189         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
190         Do not include alloca.h, since we use malloca now.
191         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
192         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
193         freea so that the mainline code can be kept #ifdef free.
194         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
195         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
196         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
197         __eloop_threshold.  All uses of their definiens changed.
198         (SIZE_MAX): Remove; no longer needed.
199         (alloc_failed): Remove, and remove all instances.
200         No need for alloc_failed now that free preserves errno.
201         (__realpath): Default path_max to 1024 instead of 8192, as that’s
202         the glibc tradition and is safer when the 2nd argument is null.
203         Use __rawmemchr instead of strchr.
204         Use __mempcpy where appropriate.
205         Simplify test for overflow so that it does not need SIZE_MAX.
206         Do not preserve errno around free or freea calls; no longer needed.
207         Mark __realpath with libc_hidden_def.
208         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
209         malloc-posix, mempcpy, realloc-posix, rawmemchr.
210         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
212         free: preserve errno
213         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
214         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
215         platforms that do not preserve errno.
216         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
217         Also, define CANNOT_FREE_NULL if free cannot free NULL.
218         * modules/free (configure.ac): Also replace 'free' if
219         it does not preserve errno.
221         idx: simplify IDX_MAX, remove IDX_WIDTH
222         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
223         to UNSIGNED_IDX_T.
224         (IDX_WIDTH): Remove, since it’s not used and its value
225         arguably should be PTRDIFF_WIDTH anyway.
227 2020-12-16  Bruno Haible  <bruno@clisp.org>
229         posix_spawn_file_actions_addfchdir-tests: Rename test.
230         * tests/test-posix_spawn-fchdir.c: Renamed from
231         tests/test-posix_spawn5.c.
232         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
233         Update.
235         posix_spawn_file_actions_addchdir-tests: Rename test.
236         * tests/test-posix_spawn-chdir.c: Renamed from
237         tests/test-posix_spawn4.c.
238         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
239         Update.
241         posix_spawn-tests: Rename test.
242         * tests/test-posix_spawn-open1.c: Renamed from
243         tests/test-posix_spawn3.c.
244         * modules/posix_spawn-tests (Files, Makefile.am): Update.
246         posix_spawnp-tests: Rename test.
247         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
248         tests/test-posix_spawn2.c.
249         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
250         tests/test-posix_spawn2.in.sh.
251         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
253         posix_spawnp-tests: Rename test.
254         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
255         tests/test-posix_spawn1.c.
256         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
257         tests/test-posix_spawn1.in.sh.
258         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
260 2020-12-14  Bruno Haible  <bruno@clisp.org>
262         findprog-in: Allow overriding the current directory.
263         * lib/findprog.h (find_in_given_path): Add directory argument.
264         * lib/findprog-in.c (find_in_given_path): Likewise.
265         * lib/execute.c (execute): Update caller.
266         * lib/spawn-pipe.c (create_pipe): Likewise.
267         * lib/windows-spawn.c (spawnpvech): Likewise.
268         * NEWS: Mention the change.
270 2020-12-14  Bruno Haible  <bruno@clisp.org>
272         posix_spawn-internal: Make better use of 'const'.
273         * lib/spawn_int.h (__spawni): Does not need write access to the elements
274         of argv and envp.
275         * lib/spawni.c (__spawni, script_execute): Likewise.
276         * lib/spawn.c (posix_spawn): Update caller.
277         * lib/spawnp.c (posix_spawnp): Likewise.
279 2020-12-14  Bruno Haible  <bruno@clisp.org>
281         spawn: Make it compile on native Windows.
282         * modules/spawn (Depends-on): Add signal-h.
284 2020-12-14  Bruno Haible  <bruno@clisp.org>
286         windows-spawn: Avoid shadowing a variable.
287         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
289 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
291         string: port memchr macro to AIX 7.2 XLC
292         Its <string.h> defines a memchr macro to help inlining.
293         * lib/string.in.h (memchr): #undef before #defining.
295         canonicalize: fix AIX test failures
296         Problem reported by Bruno Haible in:
297         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
298         * lib/canonicalize.c (canonicalize_filename_mode):
299         When testing a file name ending in '/', use stat rather than
300         readlink, so that it does the right thing on AIX.
301         * modules/canonicalize (Depends-on): Add readlink, to pull in the
302         recent changes in the Gnulib readlink module.
304         Assume readlink/readlinkat ERANGE fix
305         * lib/areadlink-with-size.c (areadlink_with_size):
306         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
307         * lib/careadlinkat.c (readlink_stk):
308         Do not worry about readlink or readlinkat failing with errno == ERANGE,
309         since the Gnulib readlink and readlinkat modules now fix that.
311         getcwd: port to AIX
312         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
313         in case our sys/stat.h #defined a function macro with the same name.
315         readlink, readlinkat: add ERANGE portability
316         Fix some portability issues with Gnulib's readlink and readlinkat,
317         notably mostly working around the ERANGE problem in AIX and HP-UX.
318         * doc/posix-functions/readlink.texi:
319         * doc/posix-functions/readlinkat.texi:
320         ERANGE problem is mostly fixed now.  Mention AIX problem with
321         trailing / and EINVAL.  Lessen differences between these two files.
322         * lib/readlink.c (rpl_readlink):
323         * lib/readlinkat.c (rpl_readlinkat):
324         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
325         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
326         Lessen spurious differences between the readlink and readlinkat code.
327         * lib/readlinkat.c (rpl_readlinkat):
328         Fix bug where stat was used where fstatat was intended.
329         * m4/readlink.m4 (gl_FUNC_READLINK):
330         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
331         to identify readlink problems more precisely.  All uses changed.
332         Guess no on AIX or HP-UX for this variable.
333         Add check for whether readlink truncates results,
334         and define new macro READLINK_TRUCATE_BUG accordingly.
335         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
336         Also check gl_cv_func_readlink_trailing_slash when deciding
337         whether to replace readlinkat.
338         * modules/readlinkat (Depends-on): Most dependencies are also
339         needed if replacing readlinkat.  fstatat is different, as it
340         is needed only if replacing an existing readlinkat.
342 2020-12-13  Bruno Haible  <bruno@clisp.org>
344         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
345         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
346         the stdin_handle and/or stdout_handle.
348 2020-12-12  Bruno Haible  <bruno@clisp.org>
350         Fix gnulib-tool error when some modules occur in tests/.
351         * doc/gnulib.texi (Specification): Update statistics.
352         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
353         (Using AC_LIBOBJ): New section.
354         * check-AC_LIBOBJ: New file.
355         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
356         * modules/fopen-gnu (Files): Add lib/fopen.c.
357         * modules/memmem (Files): Add lib/memmem.c.
358         * modules/renameat (Files): Add lib/at-func2.c.
359         * modules/strcasestr (Files): Add lib/strcasestr.c.
360         * modules/strstr (Files): Add lib/strstr.c.
362 2020-12-11  Bruno Haible  <bruno@clisp.org>
364         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
365         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
366         elements of argv.
367         * lib/sh-quote.c (shell_quote_argv): Likewise.
368         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
369         the return type.
370         * lib/windows-spawn.c (prepare_spawn): Likewise.
371         * lib/os2-spawn.h (prepare_spawn): Likewise.
372         * lib/os2-spawn.c (prepare_spawn): Likewise.
373         * lib/execute.h (execute): Does not need write access to the elements of
374         prog_argv.
375         * lib/execute.c (execute): Likewise.
376         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
377         Likewise.
378         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
379         create_pipe_out): Likewise.
380         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
381         Likewise.
382         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
383         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
384         * lib/javaexec.h (execute_fn): Does not need write access to the
385         elements of prog_argv.
386         * lib/javaexec.c (execute_java_class): Update variable types and remove
387         casts to 'char *'.
388         * lib/csharpexec.h (execute_fn): Does not need write access to the
389         elements of prog_argv.
390         * lib/csharpexec.c (execute_csharp_using_mono,
391         execute_csharp_using_sscli): Update variable types and remove casts to
392         'char *'.
393         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
394         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
395         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
396         is_jikes_present): Update variable types and remove casts to 'char *'.
397         * lib/javaversion.c (execute_and_read_line): Does not need write access
398         to the elements of prog_argv.
399         * lib/csharpcomp.c (compile_csharp_using_mono,
400         compile_csharp_using_sscli): Update variable types and remove casts to
401         'char *'.
402         * tests/test-sh-quote.c (main): Update variable types and remove casts
403         to 'char *'.
404         * tests/test-execute-main.c (main): Update variable types and remove
405         casts to 'char *'.
406         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
407         remove casts to 'char *'.
408         * NEWS: Mention the changes.
410 2020-12-11  Bruno Haible  <bruno@clisp.org>
412         execute-tests: Fix compilation error with MSVC.
413         * tests/test-execute-child.c (is_device): With _fstat, use
414         'struct _stat', not 'struct stat'.
416 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
418         vararrays: just use 2.70
419         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
420         and later, since Autoconf 2.70 matches Gnulib now.
422         sys_types: just use 2.70
423         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
424         Reindent to match Autoconf sources.
425         Use Autoconf 2.70 as a prerequisite, not 2.69c.
427         stdint: port to Autoconf 2.70
428         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
429         instead of assuming that AC_INCLUDES_DEFAULT does it.
430         The old code relied on AC_INCLUDES_DEFAULT being called
431         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
432         but this does not occur in Autoconf 2.70.
434         pid_t.m4: just use 2.70
435         * m4/pid_t.m4 (AC_TYPE_PID_T):
436         Use Autoconf 2.70 as a prerequisite, not 2.69c.
438         largefile: just use 2.70
439         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
440         Use Autoconf 2.70 as a prerequisite, not 2.69c.
442         AC_C_RESTRICT: update from Autoconf
443         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
444         as a prerequisite, not 2.69c, since 2.70 is now out.
445         (AC_C_RESTRICT): Define only for 2.70 or earlier.
446         Try __restrict__ before __restrict.
448         extensions: update from Autoconf
449         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
450         Provide a default implementation for Autoconf 2.69 or earlier.
451         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
452         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
454         alloca: update from Autoconf
455         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
456         Trivial update to match Autoconf 2.70.
458 2020-12-11  Bruno Haible  <bruno@clisp.org>
460         memchr: Work around memory overrun bug on AIX 7.2.
461         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
462         * doc/posix-functions/memchr.texi: Mention the AIX bug.
464 2020-12-11  Bruno Haible  <bruno@clisp.org>
466         execute-tests: Fix compilation error on AIX in 32-bit mode.
467         * tests/test-execute-child.c: In order to get the original definition of
468         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
469         include the system's <sys/stat.h> and use it before including other
470         header files.
472 2020-12-10  Bruno Haible  <bruno@clisp.org>
474         windows-spawn: Relicense under LGPLv2+.
475         * modules/windows-spawn (License): Change to LGPLv2+.
477 2020-12-10  Bruno Haible  <bruno@clisp.org>
479         execute, spawn-pipe: Fix memory leak on native Windows.
480         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
481         * lib/windows-spawn.c: Don't include xalloc.h.
482         (quoted_arg_length, quoted_arg_string): New functions, extracted from
483         prepare_spawn.
484         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
485         elements of *new_argv together.
486         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
487         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
488         * lib/os2-spawn.c: Don't include xalloc.h.
489         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
490         elements of *new_argv together.
491         * lib/execute.c: Include xalloc.h.
492         (execute): Check return value of prepare_spawn. Free the memory
493         allocated by prepare_spawn.
494         * modules/execute (Depends-on): Add xalloc-die.
495         * lib/spawn-pipe.c: Include xalloc.h.
496         (create_pipe): Check return value of prepare_spawn. Free the memory
497         allocated by prepare_spawn.
498         * modules/spawn-pipe (Depends-on): Add xalloc-die.
500 2020-12-10  Bruno Haible  <bruno@clisp.org>
502         findprog-in: Relicense under LGPLv2+.
503         Paul Smith's approval is in
504         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
505         * modules/findprog-in (License): Change to LGPLv2+.
507 2020-12-10  Bruno Haible  <bruno@clisp.org>
509         findprog-in: Don't exit upon out-of-memory.
510         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
511         code.
512         * lib/findprog-in.c: Don't include xalloc.h.
513         (find_in_given_path): Call concatenated_filename, not
514         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
515         return NULL with errno set.
516         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
517         concat-filename, strdup-posix, malloc-posix.
519 2020-12-09  Bruno Haible  <bruno@clisp.org>
521         fmaf: Work around a bug on FreeBSD 12.2/arm.
522         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
523         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
525 2020-12-09  Bruno Haible  <bruno@clisp.org>
527         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
528         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
529         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
530         * lib/glthread/threadlib.c: Include <errno.h>.
531         (glthread_in_use): For FreeBSD, provide an alternative implementation
532         that uses pthread_key_create.
534 2020-12-09  Bruno Haible  <bruno@clisp.org>
536         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
537         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
538         not 'isnan'.
540 2020-12-08  Bruno Haible  <bruno@clisp.org>
542         std-gnu11: Make compatible with Autoconf 2.70.
543         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
544         use.
546 2020-12-08  Bruno Haible  <bruno@clisp.org>
548         argp: Avoid undefined behaviour when invoking qsort().
549         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
550         Reported by Jeffrey Walton <noloader@gmail.com> in
551         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
552         * lib/argp-help.c (group_cmp): Remove third argument.
553         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
554         upon hol_cluster_cmp.
555         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
556         (hol_entry_cmp): Rewritten to implement a total order.
558 2020-12-08  Bruno Haible  <bruno@clisp.org>
560         argp: Improve comments.
561         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
562         null pointer.
563         (struct hol_entry): Fix comment regarding sort order of group.
564         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
565         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
566         (hol_cluster_is_child, argp_hol): Move functions.
567         (HOL_ENTRY_PTRCMP): Remove unused macro.
569 2020-12-08  Bruno Haible  <bruno@clisp.org>
571         argp: Don't pass invalid arguments to isspace() and isalnum().
572         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
573         before passing it to isspace() or isalnum().
575 2020-12-08  Bruno Haible  <bruno@clisp.org>
577         argp: Don't rely on undefined behaviour of _tolower().
578         Patch by Eric Blake
579         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
580         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
581         not upper-case.  Pass correct range to tolower.
583 2020-12-07  Bruno Haible  <bruno@clisp.org>
585         unicodeio: Fix wrong result on FreeBSD.
586         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
587         characters on all platforms.
589 2020-12-07  Bruno Haible  <bruno@clisp.org>
591         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
592         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
593         FreeBSD systems.
595 2020-12-07  Bruno Haible  <bruno@clisp.org>
597         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
598         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
599         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
600         trivially of sbrk is not available.
601         * doc/glibc-functions/sbrk.texi: Mention that the function does not
602         exist in FreeBSD 12.2/arm64.
603         * doc/glibc-functions/brk.texi: Likewise.
605 2020-12-07  Bruno Haible  <bruno@clisp.org>
607         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
608         Suggested by Zack Weinberg in
609         <https://savannah.gnu.org/support/?110294>.
610         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
611         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
613 2020-12-07  Bruno Haible  <bruno@clisp.org>
615         Tweak the Windows oldnames workaround.
616         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
617         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
618         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
619         always.
620         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
621         * lib/stdlib.in.h (putenv): Likewise.
623 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
625         doc: fix flat address space discussion
626         * doc/gnulib-readme.texi (Other portability assumptions):
627         Move the all-bits-zero assumption outside the flat address space
628         section, since the two issues are independent.
630         doc: document -static-libubsan more
631         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
632         -static-libubsan a bit more.  Mostly cons.
634 2020-12-06  Bruno Haible  <bruno@clisp.org>
636         doc: Add more details regarding the undefined behaviour sanitizer.
637         * doc/gnulib-readme.texi (High Quality): Describe
638         -fsanitize-undefined-trap-on-error better.
640 2020-12-06  Bruno Haible  <bruno@clisp.org>
642         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
643         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
644         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
645         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
646         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
647         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
648         a preprocessor #define.
649         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
650         * lib/search.in.h (lfind, lsearch): Likewise.
651         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
652         Likewise.
653         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
654         * lib/string.in.h (memccpy, strdup): Likewise.
655         * lib/sys_stat.in.h (chmod, umask): Likewise.
656         * lib/time.in.h (tzset): Likewise.
657         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
658         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
659         read, rmdir, swab, unlink, write): Likewise.
660         * lib/utime.in.h (utime): Likewise.
661         * lib/wchar.in.h (wcsdup): Likewise.
662         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
663         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
664         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
666         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
667         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
668         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
669         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
671         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
672         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
673         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
674         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
675         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
677 2020-12-06  Bruno Haible  <bruno@clisp.org>
679         doc: Mention some missing function declarations.
680         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
681         AIX.
682         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
683         FreeBSD.
684         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
685         Cygwin.
686         * doc/pastposix-functions/fcvt.texi: Likewise.
687         * doc/pastposix-functions/gcvt.texi: Likewise.
689 2020-12-06  Bruno Haible  <bruno@clisp.org>
691         doc: Tweak example.
692         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
693         'print'.
695 2020-12-06  Bruno Haible  <bruno@clisp.org>
697         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
698         * tests/test-filenamecat.c: Include idx.h.
699         (main): Mark prefixlen as nonnegative.
700         * modules/filenamecat-tests (Depends-on): Add idx.
702 2020-12-06  Bruno Haible  <bruno@clisp.org>
704         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
705         * lib/time_rz.c: Include idx.h.
706         (save_abbr): Mark zone_size as nonnegative.
707         * modules/time_rz (Depends-on): Add idx.
709 2020-12-06  Bruno Haible  <bruno@clisp.org>
711         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
712         * lib/parse-datetime.y: Include idx.h.
713         (textint): Mark digits as nonnegative.
714         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
715         dsts_seen, times_seen, zones_seen as nonnegative.
716         (lookup_word): Mark wordlen as nonnegative.
717         (yylex): Mark count as nonnegative.
718         (parse_datetime2): Mark tzsize as nonnegative.
719         * modules/parse-datetime (Depends-on): Add idx.
721 2020-12-06  Bruno Haible  <bruno@clisp.org>
723         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
724         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
725         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
726         nonnegative.
727         * modules/fnmatch (Depends-on): Add idx.
729 2020-12-06  Bruno Haible  <bruno@clisp.org>
731         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
732         * lib/c-stack.c: Include idx.h.
733         (die): Mark buflen as nonnegative.
734         * modules/c-stack (Depends-on): Add idx.
736 2020-12-06  Bruno Haible  <bruno@clisp.org>
738         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
739         * lib/backupfile.c: Include idx.h.
740         (numbered_backup): Mark base_offset as nonnegative.
741         (backupfile_internal): Likewise.
742         * modules/backup-rename (Depends-on): Add idx.
743         * modules/backupfile (Depends-on): Likewise.
745 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
747         doc: fix curved quotes issue
748         * doc/gnulib.texi: Set txicodequoteundirected and
749         txicodequotebacktick so that ` and ' in examples do not generate
750         curved single quotes that do the wrong thing when cut and pasted.
752         doc: mention static and dynamic checking
753         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
754         for static and dynamic checking.
756         intprops: Add INT_ADD_OK etc.
757         * doc/intprops.texi (Checking Integer Overflow): New section.
758         * lib/intprops.h: From a suggestion by Bruno Haible in:
759         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
760         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
762         doc: move exotic platfroms to Target Platforms
763         * doc/gnulib-intro.texi (Supported Platforms)
764         (Formerly Supported Platforms, Unsupported Platforms):
765         New subsections, split off from Target Platforms.
766         (Unsupported Platforms): Move the exotic-platform stuff here ...
767         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
768         section.
770         doc: mention intptr_t etc. and IBM i
771         * doc/gnulib-readme.texi (Other portability assumptions):
772         Mention intptr_t and uintptr_t, and that arithmetic on them
773         works in the usual way.
774         (Exotic platforms): New section, containing material from
775         the old 'Integer Portability' section.  Also mention IBM i.
776         * doc/intprops.texi (Wraparound Arithmetic):
777         Say that the macros work on unsigned integers too.
778         (Integer Portability): Remove.
780 2020-12-04  Bruno Haible  <bruno@clisp.org>
782         utime: Fix a test failure on macOS 10.13.
783         Reported by Martin Storsjö <martin@martin.st> in
784         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
785         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
786         slashes on files.
787         * lib/utime.c (utime): Add alternative implementation for Unix
788         platforms.
789         * modules/utime (Depends-on): Add stat.
790         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
791         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
792         trailing-slash bug.
793         * doc/posix-functions/open.texi: Likewise.
794         * doc/posix-functions/stat.texi: Likewise.
795         * doc/posix-functions/symlink.texi: Likewise.
797 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
799         intprops: update doc and mention Unisys
800         * doc/gnulib-readme.texi (Other portability assumptions):
801         Also mention ptrdiff_t when talking about widths and overflow.
802         * doc/intprops.texi (Integer Properties): Summarize new section.
803         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
804         evaluates its argument.
805         (Integer Bounds): Fix typo.
806         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
807         Document that the _WRAPV macros now support pointers to unsigned
808         integers.
809         (Integer Range Overflow): Update SEI CERT citation.
810         (Integer Portability): New subsection, which mentions
811         the oddball Unisys platforms as non-Gnulib targets.
813 2020-12-03  Bruno Haible  <bruno@clisp.org>
815         idx: Clarify that idx_t always behaves like a signed type.
816         Suggested by Paul Eggert in
817         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
818         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
819         Don't test UNSIGNED_IDX_T.
821 2020-12-03  Bruno Haible  <bruno@clisp.org>
823         idx: New module.
824         * lib/idx.h: New file.
825         * modules/idx: New file.
826         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
827         ptrdiff_t.
828         * lib/canonicalize.c: Likewise.
829         * modules/canonicalize-lgpl (Depends-on): Add idx.
830         * modules/canonicalize (Depends-on): Likewise.
832 2020-12-03  Bruno Haible  <bruno@clisp.org>
834         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
835         Reported by Martin Storsjö <martin@martin.st> in
836         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
837         * tests/test-fprintf-posix3.c: Skip the test on macOS.
838         (main): Return a different exit code at each point. Allow 100 KB extra
839         memory consumption.
840         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
841         doesn't work" diagnostic.
843 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
845         canonicalize: refactor can_mode flag
846         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
847         (multiple_bits_set): ... this new static function.  Uses changed.
848         (canonicalize_filename_mode): Refactor for clarity to avoid
849         modifying the CAN_MODE argument.
851         canonicalize: prefer signed integer types
852         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
853         (seen_triple, canonicalize_filename_mode): Prefer signed to
854         unsigned types where either will do, as they avoid some glitches
855         in comparisons and can trap on overflow when debugging.
857         canonicalize: fix most of another EOVERFLOW issue
858         * lib/canonicalize.c (canonicalize_filename_mode):
859         Do not call stat if fewer than 20 symlinks have been traversed.
860         This avoids EOVERFLOW failure in the common case where there
861         are not that many symlinks, while continuing to catch loops
862         (or fail due to EOVERFLOW) in the unusual case when there
863         are many symlinks to traverse.
865         canonicalize: do not assume symlinks have st_ino
866         * lib/canonicalize.c (canonicalize_filename_mode):
867         When checking for loops, use st_dev and st_ino from the parent
868         directory not from the symlink, as pre-2017 POSIX says these
869         members are not reliable for symlinks.  Couple this with START
870         (the remaining file name to be resolved), not NAME (the whole file
871         name with START as its suffix).
872         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
874         canonicalize: fix EOVERFLOW bug
875         * lib/canonicalize.c (canonicalize_filename_mode):
876         When testing whether a directory entry is a symbolic link, or a
877         directory or other, do not use lstat or stat or
878         areadlink_with_size.  Just use areadlink, as this suffices and it
879         avoids the EOVERFLOW problem that lstat and stat have.
880         * modules/canonicalize (Depends-on): Depend on areadlink instead
881         of areadlink-with-size and stat.
883         canonicalize-lgpl: fix EOVERFLOW bug
884         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
885         (__realpath): Do not use lstat.  Just use readlink, as this
886         suffices and it avoids the EOVERFLOW problem that lstat has.
887         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
889 2020-12-02  Bruno Haible  <bruno@clisp.org>
891         strsignal-tests: Fix test failure on macOS 10.13.
892         Reported by Martin Storsjö <martin@martin.st> in
893         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
894         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
895         to be longer than the expected result.
897 2020-12-02  Bruno Haible  <bruno@clisp.org>
899         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
900         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
901         recursive self-include problem on FreeBSD 12.2 in C++ mode.
903 2020-12-02  Bruno Haible  <bruno@clisp.org>
905         spawn-pipe: Allow caller to specify directory for the subprocess.
906         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
907         Add directory argument.
908         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
909         (create_pipe): Add directory argument. If specified, resolve the program
910         file name and make it absolute, first. Pass the directory to spawnpvech
911         and posix_spawn_file_actions_addchdir.
912         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
913         argument.
914         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
915         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
916         * tests/test-spawn-pipe-main.c (test_pipe): Update.
917         * NEWS: Mention the change.
918         * lib/csharpcomp.c (compile_csharp_using_mono,
919         compile_csharp_using_sscli): Update.
920         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
921         is_gcj_43): Update.
922         * lib/javaversion.c (execute_and_read_line): Update.
923         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
924         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
926 2020-12-02  Bruno Haible  <bruno@clisp.org>
928         execute: Allow caller to specify directory for the subprocess.
929         * lib/execute.h (execute): Add directory argument.
930         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
931         (execute): Add directory argument. If specified, resolve the program
932         file name and make it absolute, first. Pass the directory to spawnpvech
933         and posix_spawn_file_actions_addchdir.
934         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
935         posix_spawn, posix_spawn_file_actions_addchdir.
936         * tests/test-execute-main.c: Add test for passing a directory.
937         * tests/test-execute-child.c: Likewise.
938         * tests/test-execute.sh: Update.
939         * modules/execute-tests (Depends-on): Add mkdir.
940         * NEWS: Mention the change.
941         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
942         * lib/csharpexec.c (execute_csharp_using_mono,
943         execute_csharp_using_sscli): Update.
944         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
945         compile_using_javac, compile_using_jikes, is_javac_present,
946         is_jikes_present): Update.
947         * lib/javaexec.c (execute_java_class): Update.
949 2020-12-01  Bruno Haible  <bruno@clisp.org>
951         vma-iter: Add support for macOS11/arm64.
952         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
953         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
954         and by Martin Storsjö <martin@martin.st> in
955         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
956         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
958 2020-12-01  Bruno Haible  <bruno@clisp.org>
960         spawn-pipe: Fix handling of OS/2 kLIBC.
961         Reported by KO Myung-Hun <komh78@gmail.com> in
962         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
963         * modules/spawn-pipe (configure.ac): Use the common idiom for
964         recognizing the OS/2 operating system.
966 2020-11-30  Bruno Haible  <bruno@clisp.org>
968         execute: Fix uninitialized use of errno.
969         * lib/execute.c (execute): Preserve errno across several system calls.
971 2020-11-30  Bruno Haible  <bruno@clisp.org>
973         access tests: Fix test failure on native Windows.
974         * tests/test-access.c (main): Change permissions of f2 file before
975         attempting to remove it.
977 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
979         faccessat: link with $(LIB_EACCESS)
980         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
981         module depends on euidaccess.
983 2020-11-30  Bruno Haible  <bruno@clisp.org>
985         execute, spawn-pipe: Make multithread-safe on native Windows.
986         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
987         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
988         (spawnpvech): New declaration.
989         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
990         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
991         (_): Remove macro.
992         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
993         undup_safer_noinherit): Remove functions.
994         (spawnpvech): New function.
995         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
996         cloexec, dup2, error, gettext-h.
997         * lib/execute.c: Include msvc-nothrow.h.
998         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
999         * lib/spawn-pipe.c: Include msvc-nothrow.h.
1000         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
1001         instead of _spawnvpe.
1002         * modules/execute (Depends-on): Add msvc-nothrow.
1003         * modules/spawn-pipe (Depends-on): Likewise.
1005 2020-11-30  Bruno Haible  <bruno@clisp.org>
1007         execute, spawn-pipe: Improve documentation.
1008         * lib/execute.h: Describe progname, prog_path, prog_argv.
1009         * lib/spawn-pipe.h: Likewise.
1011 2020-11-30  Bruno Haible  <bruno@clisp.org>
1013         execute tests: Add more tests.
1014         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
1015         inherited file descriptors >= 3.
1016         * tests/test-execute-child.c: Likewise.
1017         * tests/test-execute.sh: Update.
1019 2020-11-30  Bruno Haible  <bruno@clisp.org>
1021         havelib: Fix for non-ELF platforms (regression 2019-11-17).
1022         Reported by comex <comexk@gmail.com> in
1023         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
1024         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
1025         don't expect an ELF header.
1027 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1029         bitset: use integer_length in table implementation
1030         * lib/bitset/table.c (tbitset_list_reverse): Use
1031         BITSET_FOR_EACH_BIT_REVERSE.
1033 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1035         bitset: use integer_length in list implementation
1036         * lib/bitset/list.c (lbitset_list_reverse): Use
1037         BITSET_FOR_EACH_BIT_REVERSE.
1039 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1041         bitset: use integer_length in vector implementation
1042         * lib/bitset/array.c (vbitset_list_reverse): Use
1043         BITSET_FOR_EACH_BIT_REVERSE.
1045 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1047         bitset: use integer_length in array implementation
1048         * modules/bitset (Depends-on): Add integer_length_l.
1049         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
1050         * lib/bitset/array.c (abitset_list_reverse): Use it.
1052 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1054         bitset: style: use consistent names
1055         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
1056         and 'boffset' as 'bitoff', for consistency with the other
1057         implementations.
1058         * bitset/table.c (tbitset_list_reverse): Likewise.
1060 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1062         bitset: style: sort header
1063         * lib/bitset/base.h (bitset_ffs): Rename as...
1064         (bitset_ffs_): this.
1065         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
1067 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1069         bitset: tests: check BITSET_FOR_EACH_REVERSE
1070         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
1071         Check BITSET_FOR_EACH_REVERSE.
1073 2020-11-29  Bruno Haible  <bruno@clisp.org>
1075         spawn-pipe tests: Fix test failure with MSVC.
1076         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
1077         (gl_msvc_invalid_parameter_handler): New function.
1078         (main): Set a global invalid-parameter handler.
1079         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
1081 2020-11-29  Bruno Haible  <bruno@clisp.org>
1083         execute: Add tests.
1084         * tests/test-execute.sh: New file.
1085         * tests/test-execute-main.c: New file.
1086         * tests/test-execute-child.c: New file.
1087         * modules/execute-tests: New file.
1089 2020-11-29  Bruno Haible  <bruno@clisp.org>
1091         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
1092         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
1093         works.
1094         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
1095         fallback implementation as on Haiku.
1096         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
1097         effective.
1098         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
1100 2020-11-29  Bruno Haible  <bruno@clisp.org>
1102         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
1103         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
1104         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
1105         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
1106         * lib/windows-spawn.c: Remove modifications for kLIBC.
1107         * modules/spawn-pipe (Files): Add the new files.
1108         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
1110 2020-11-28  Bruno Haible  <bruno@clisp.org>
1112         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
1113         Reported by Paul Eggert in
1114         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
1115         * m4/sparcv8+.m4: New file.
1116         * modules/sparcv8+: New file.
1117         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
1119 2020-11-28  Bruno Haible  <bruno@clisp.org>
1121         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
1122         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
1124 2020-11-28  Bruno Haible  <bruno@clisp.org>
1126         windows-spawn: New module.
1127         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
1128         implementations.
1129         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
1130         * modules/windows-spawn: New file.
1131         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
1132         * lib/spawn-pipe.c: Likewise.
1133         * modules/execute (Files): Remove lib/w32spawn.h.
1134         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1135         xalloc.
1136         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1137         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
1138         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1139         xalloc.
1140         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1142 2020-11-27  Bruno Haible  <bruno@clisp.org>
1144         ssfmalloc tests: Port to macOS 11.
1145         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
1147 2020-11-26  Bruno Haible  <bruno@clisp.org>
1149         Fix dependencies of modules that use '_exit' on native Windows.
1150         Reported by Jim Meyering in
1151         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
1152         * modules/_Exit (Depends-on): Add unistd.
1153         * modules/closein (Depends-on): Likewise.
1154         * modules/closeout (Depends-on): Likewise.
1155         * modules/forkpty (Depends-on): Likewise.
1156         * modules/posix_spawn-internal (Depends-on): Likewise.
1157         * modules/savewd (Depends-on): Likewise.
1158         * modules/stat-time-tests (Depends-on): Likewise.
1160 2020-11-26  Bruno Haible  <bruno@clisp.org>
1162         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
1163         * modules/raise-tests (Depends-on): Add unistd.
1164         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
1166 2020-11-25  Jim Meyering  <meyering@fb.com>
1168         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
1169         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
1170         non-NULL, since we don't bother handing strdup failure.
1172         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
1173         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
1174         * tests/test-raise.c: Include unistd.h.
1175         (handler): Use _exit, not exit.
1177 2020-11-23  Bruno Haible  <bruno@clisp.org>
1179         Use the correct printf format attribute for mingw.
1180         Reported by Reuben Thomas <rrt@sc3d.org> in
1181         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
1183         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
1184         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
1186         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
1187         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
1188         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1189         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
1190         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
1191         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
1193         * modules/vasnprintf (Depends-on): Add stdio.
1194         * lib/vasnprintf.h: Include <stdio.h>.
1195         (asnprintf, vasnprintf): Use the standard printf format attribute.
1197         * modules/xvasprintf (Depends-on): Add stdio.
1198         * lib/xvasprintf.h: Include <stdio.h>.
1199         (xasprintf, xvasprintf): Use the standard printf format attribute.
1201         * modules/xprintf (Depends-on): List stdio first.
1202         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
1203         depends on GNULIB_VPRINTF_POSIX.
1204         (xfprintf, xvfprintf): Use a printf format attribute that depends on
1205         GNULIB_VFPRINTF_POSIX.
1207         * modules/c-vasnprintf (Depends-on): Add stdio.
1208         * lib/c-vasnprintf.h: Include <stdio.h>.
1209         (c_vasnprintf): Use the standard printf format attribute.
1211         * modules/c-vasprintf (Depends-on): Add stdio.
1212         * lib/c-vasprintf.h: Include <stdio.h>.
1213         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
1215         * modules/c-vsnprintf (Depends-on): Add stdio.
1216         * lib/c-vsnprintf.h: Include <stdio.h>.
1217         (c_vsnprintf): Use the standard printf format attribute.
1219         * modules/c-snprintf (Depends-on): Add stdio.
1220         * lib/c-snprintf.h: Include <stdio.h>.
1221         (c_snprintf): Use the standard printf format attribute.
1223         * modules/c-xvasprintf (Depends-on): Add stdio.
1224         * lib/c-xvasprintf.h: Include <stdio.h>.
1225         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
1227         * modules/error (Depends-on): Depend on stdio always.
1228         * lib/error.h: Include <stdio.h>.
1229         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
1230         (error, error_at_line): Use a printf format attribute that depends on
1231         GNULIB_VFPRINTF_POSIX.
1232         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1233         _GL_ATTRIBUTE_FORMAT_PRINTF.
1235         * modules/verror (Depends-on): Add stdio.
1236         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
1237         (verror, verror_at_line): Use the standard printf format attribute.
1238         * lib/verror.c: Include "error.h".
1240         * modules/argp (Depends-on): Add stdio.
1241         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
1242         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
1244         * modules/libtextstyle-optional (Depends-on): Add stdio.
1245         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
1246         printf format attribute.
1248         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
1249         format attribute.
1251 2020-11-23  Pádraig Brady  <P@draigBrady.com>
1253         selinux-at, selinux-h: use const correct declarations
1254         * lib/se-selinux.in.h: Use const for "set" functions,
1255         to match current selinux, and support cleaner user code.
1256         * lib/selinux-at.c: Likewise.
1257         * lib/selinux-at.h: Likewise.
1259 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
1261         canonicalize-lgpl: fix memory leak
1262         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
1263         which could have occurred if BUF was so large that malloc was
1264         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
1265         this eliminates the need to free BUF separately.
1267 2020-11-22  Bruno Haible  <bruno@clisp.org>
1269         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
1270         * modules/xvasprintf (Depends-on): Add xalloc.
1271         * modules/pipe-filter-gi (Depends-on): Likewise.
1272         * modules/execute (Depends-on): Likewise, for w32spawn.h.
1273         * modules/spawn-pipe (Depends-on): Likewise.
1275 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
1277         bootstrap: add option hooks
1278         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
1279         (bootstrap_option_hook): Likewise.
1280         (usage): Call bootstrap_print_option_usage_hook.
1282 2020-11-22  Bruno Haible  <bruno@clisp.org>
1284         argp: Don't break getprogname on non-glibc systems.
1285         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
1286         program_invocation_name and program_invocation_short_name.
1288 2020-11-22  Bruno Haible  <bruno@clisp.org>
1290         doc: Document <link.h>.
1291         * doc/glibc-headers/link.texi: New file.
1292         * doc/gnulib.texi: Include it.
1294 2020-11-22  Bruno Haible  <bruno@clisp.org>
1296         doc: Add references to the LSB.
1297         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
1298         * doc/posix-functions/*.texi: Likewise.
1300 2020-11-22  Bruno Haible  <bruno@clisp.org>
1302         doc: Fix a makeinfo warning (regression 2020-11-03).
1303         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
1305 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
1307         parse-datetime: fix printf format typo
1308         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
1309         previous patch to this file.  Problem reported by Chris Elvidge in
1310         <https://bugs.gnu.org/44763#32>.
1312         setlocale-null-tests: work around GCC bug 44511
1313         * tests/test-setlocale_null-mt-all.c:
1314         * tests/test-setlocale_null-mt-one.c:
1315         Ignore -Wreturn-type, to work around GCC bug 44511.
1317         nl_langinfo-tests: work around GCC bug 44511
1318         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
1319         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
1320         Problem reported for GNU grep by Andreas Schwab
1321         <https://bugs.gnu.org/44535>.
1323         selinux-h: add stubs for selabel_open etc.
1324         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
1325         because matchpathcon is deprecated in favor of selabel_open etc.,
1326         so this patch adds stubs for these functions.
1327         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
1328         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
1329         as it is needed for selabel_open and selinux/selinux.h declares
1330         this type here.
1331         * modules/selinux-h (Files): Add the new files.
1332         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
1333         (lib_SOURCES): Add se-label.in.h, se-label.c.
1334         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
1335         (selinux/label.h): New rule, mimicking selinux/context.h.
1336         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
1337         (Include): Add selinux/label.h.
1339 2020-11-21  Bruno Haible  <bruno@clisp.org>
1341         Update after 'test-driver' in Automake changed.
1342         * build-aux/test-driver.diff: Rebase.
1344 2020-11-21  Daiki Ueno  <ueno@gnu.org>
1346         read-file: remove dead assignment
1347         * lib/read-file.c (fread_file): Remove dead assignment when
1348         RF_SENSITIVE is set, flagged by clang-analyzer.
1350 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1352         bitset: tests: exercise the stats too
1354         * tests/test-bitset.c: Display the stats at the end of the test.
1355         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
1356         last bin, display "256-..." rather that "256-511", since the last bin
1357         does count item greater than or equal to 256.
1359 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1361         bitset: tests: try harder to break it
1362         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
1363         BITSET_LIST_SIZE.
1364         (main): Likewise.
1365         While at it, also exercise super small bitsets.
1367 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1369         bitset: use ffs where possible in the vector implementation
1370         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
1372 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1374         bitset: use ffs where possible in the table implementation
1375         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
1377 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1379         bitset: check empty and full bitsets
1380         * tests/test-bitset.c (check_zero, check_ones): New.
1381         (check_attributes): Use them.
1383 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1385         bitset: be sure to always return a value
1386         * lib/bitset/array.c (abitset_small_list): Always update *next and
1387         return a value.
1389 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1391         vcs-to-changelog: Expect spaces in file names
1392         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
1393         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
1394         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
1395         tabs to spaces.
1396         (list_changes): Use tabs to identify file names.
1398 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1400         bitset: strengthen tests
1401         * tests/test-bitset.c (compare): Also check count.
1402         Deal only with random values, move the one-bit tests to...
1403         (check_one_bit): this new function.
1404         (check_attributes): Call it.
1406 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1408         bitset: fix iteration over table bitsets
1409         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
1411 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1413         bitset: rename internal details for consistency
1414         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
1416 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1418         bitset: test: run deterministic tests on several bitset sizes
1419         * tests/test-bitset.c (check_attributes): Run it with small and large
1420         sizes.
1422 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1424         bitset: use ffs where possible in the list implementation
1425         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
1427 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1429         bitset: use ffs where possible in array implementation
1430         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
1432 2020-11-17  Bruno Haible  <bruno@clisp.org>
1434         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
1435         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1436         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1437         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
1438         C++ mode.
1440 2020-11-17  Bruno Haible  <bruno@clisp.org>
1442         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
1443         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
1444         is always declared.
1445         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
1446         declared.
1448 2020-11-17  Bruno Haible  <bruno@clisp.org>
1450         Fix link errors on AIX.
1451         * modules/clean-temp (Link): Link with $(LIBTHREAD).
1452         * modules/getumask (Link): Link with $(LIBTHREAD).
1453         * modules/getumask-tests (Makefile.am): Link test-getumask with
1454         $(LIBTHREAD).
1455         * modules/supersede (Link): Link with $(LIBTHREAD).
1456         * modules/supersede-tests (Makefile.am): Link test-supersede with
1457         $(LIBTHREAD).
1458         * modules/fatal-signal (Link): New section.
1459         * modules/execute (Link): New section.
1460         * modules/csharpexec (Link): Link with $(LIBTHREAD).
1461         * modules/javaexec (Link): Link with $(LIBTHREAD).
1462         * modules/spawn-pipe (Link): New section.
1463         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
1464         $(LIBTHREAD).
1465         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
1466         * modules/javacomp (Link): Link with $(LIBTHREAD).
1467         * modules/javaversion (Link): Link with $(LIBTHREAD).
1468         * modules/pipe-filter-gi (Link): New section.
1469         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
1470         test-pipe-filter-gi2-main with $(LIBTHREAD).
1471         * modules/pipe-filter-ii (Link): New section.
1472         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
1473         test-pipe-filter-ii2-main with $(LIBTHREAD).
1474         * modules/term-style-control (Link): New section.
1475         * modules/term-style-control-tests (Makefile.am): Link
1476         test-term-style-control-hello, test-term-style-control-yes with
1477         $(LIBTHREAD).
1478         * modules/wait-process (Link): New section.
1479         * modules/nonblocking-pipe-tests (Makefile.am): Link
1480         test-nonblocking-pipe-main with $(LIBTHREAD).
1481         * modules/nonblocking-socket-tests (Makefile.am): Link
1482         test-nonblocking-socket-main with $(LIBTHREAD).
1484 2020-11-16  Bruno Haible  <bruno@clisp.org>
1486         Fix link errors on platforms with libunistring.
1487         * modules/c32isalnum (Link): New section.
1488         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
1489         $(LIBUNISTRING).
1490         * modules/c32isalpha (Link): New section.
1491         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
1492         $(LIBUNISTRING).
1493         * modules/c32isblank (Link): New section.
1494         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
1495         $(LIBUNISTRING).
1496         * modules/c32iscntrl (Link): New section.
1497         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
1498         $(LIBUNISTRING).
1499         * modules/c32isdigit (Link): New section.
1500         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
1501         $(LIBUNISTRING).
1502         * modules/c32isgraph (Link): New section.
1503         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
1504         $(LIBUNISTRING).
1505         * modules/c32islower (Link): New section.
1506         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
1507         $(LIBUNISTRING).
1508         * modules/c32isprint (Link): New section.
1509         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
1510         $(LIBUNISTRING).
1511         * modules/c32ispunct (Link): New section.
1512         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
1513         $(LIBUNISTRING).
1514         * modules/c32isspace (Link): New section.
1515         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
1516         $(LIBUNISTRING).
1517         * modules/c32isupper (Link): New section.
1518         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
1519         $(LIBUNISTRING).
1520         * modules/c32isxdigit (Link): New section.
1521         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
1522         $(LIBUNISTRING).
1523         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
1524         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1525         $(LIBUNISTRING).
1527 2020-11-16  Bruno Haible  <bruno@clisp.org>
1529         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
1530         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1531         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1532         * modules/getumask-tests (Makefile.am): Link test-getumask with
1533         $(LIBINTL).
1534         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
1535         * modules/supersede-tests (Makefile.am): Link test-supersede with
1536         $(LIBINTL).
1537         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
1538         $(LIBINTL).
1540 2020-11-16  Bruno Haible  <bruno@clisp.org>
1542         getumask: Document link dependencies.
1543         * modules/getumask (Link): New section.
1545 2020-11-16  Bruno Haible  <bruno@clisp.org>
1547         Update link dependencies in modules after 2020-09-09 change.
1548         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
1549         * modules/mkdtemp (Link): Likewise.
1550         * modules/mkostemp (Link): Likewise.
1551         * modules/mkostemps (Link): Likewise.
1552         * modules/mkstemp (Link): Likewise.
1553         * modules/mkstemps (Link): Likewise.
1554         * modules/supersede (Link): Likewise.
1555         * modules/tmpfile (Link): Likewise.
1556         * modules/tmpfile-safer (Link): Likewise.
1558 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
1560         getumask-tests: port to Solaris 10 etc.
1561         Problem reported by Tom Christensen in:
1562         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
1563         * modules/getumask-tests (test_getumask_LDADD):
1564         Add $(LIB_CLOCK_GETTIME).
1566 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1568         bitset: use ffsl to accelerate iterations over set bits
1569         Suggested by Bruno Haible.
1570         * modules/bitset: Depend upon ffsl.
1571         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
1572         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
1574 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1576         bitset: more tests
1577         * tests/test-bitset.c (compare): Make it clear that the random values
1578         should not be modified.
1579         Check bitset_first, bitset_last and BITSET_FOR_EACH.
1581 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1583         bitset: fix the copy from lbitset to other types
1584         * lib/bitset/list.c (lbitset_copy): Rename as...
1585         (lbitset_copy_): this.
1586         (lbitset_copy): New.
1587         Dispatch to heterogeneous/homogeneous copy.
1589 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
1591         bitset: making debug traces more useful
1592         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
1594         bitset: comment changes
1595         * lib/bitset.c: Move some documenting comments to...
1596         * lib/bitset.h: here.
1597         * lib/bitset/array.c: Fix some comments.
1599 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
1601         careadlinkat: warn better about GCC bug 93644
1602         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
1603         not in effect, use "#warning" to let builders know more clearly
1604         about GCC bug 93644, because the bug triggers even if no -W option
1605         is given to GCC.
1607 2020-11-13  Jim Meyering  <meyering@fb.com>
1609         hard-locale-tests: avoid a -Wstrict-prototypes warning
1610         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
1611         changing "main ()" to "main (void)". This was the only case that
1612         triggered a warning when building grep with --enable-gcc-warnings.
1614 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
1616         time_rz: simplify CVE-2017-7476 fix
1617         * lib/time_rz.c: Do not include limits.h; I think it was included
1618         under the mistaken impression that limits.h defines SIZE_MAX.
1619         (SIZE_MAX): Remove.
1620         (save_abbr): Put string length into a ptrdiff_t variable,
1621         so that the size comparison works naturally.  This
1622         fixes CVE-2017-7476 in a cleaner way.
1624         parse-datetime: streamline overflow checking
1625         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
1626         did not work for unsigned destinations, and since time_t might
1627         be unsigned that meant it did not work for time_t destinations.
1628         This limitation of INT_ADD_WRAPV has been fixed, so we can
1629         now streamline parse-datetime.y a bit.
1630         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
1631         has not been used for a while.
1632         (yylex, parse_datetime2): Assume C99 declarations after statements.
1633         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
1634         to TYPE_MINIMUM.
1635         (parse_datetime2): No need for time_overflow now that
1636         INT_ADD_WRAPV works for unsigned results.
1638         parse-datetime-tests: port to Alpine Linux 3.12.1
1639         * tests/test-parse-datetime.c: Include errno.h for errno,
1640         and unistd.h for _SC_TZNAME_MAX and sysconf.
1641         (main): In the outlandishly-long time zone abbreviation test,
1642         do not exceed TZNAME_MAX as this has undefined behavior,
1643         and on Alpine Linux 3.12.1 it makes the test fail.
1645 2020-11-09  Pádraig Brady  <P@draigBrady.com>
1647         mgetgroups: avoid warning with clang
1648         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
1649         so disable -Wpointer-sign for all clang versions.
1651 2020-11-07  Bruno Haible  <bruno@clisp.org>
1653         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
1654         Reported by Simon Josefsson in
1655         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
1656         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
1657         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
1658         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
1660 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
1662         tests: pacify Sun C 5.9
1663         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
1664         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
1665         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
1666         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
1667         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
1668         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
1669         Remove unreachable ‘return NULL;’s.
1671         tests: port better to XLC 12.01
1672         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
1673         even in code that is not executed, as IBM XLC 12.01 complains "The
1674         subscript -1 is less than zero."
1675         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
1676         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
1677         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
1678         arguments than are required by the macro definition."
1680 2020-11-03  Bruno Haible  <bruno@clisp.org>
1682         aligned-malloc: Use fixes from the new modules.
1683         * modules/aligned-malloc (Depends-on): Add posix_memalign,
1684         aligned_alloc, memalign.
1685         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1687 2020-11-03  Bruno Haible  <bruno@clisp.org>
1689         aligned_alloc: Add tests.
1690         * tests/test-aligned_alloc.c: New file.
1691         * modules/aligned_alloc-tests: New file.
1693         aligned_alloc: New module.
1694         * lib/stdlib.in.h (aligned_alloc): New declaration.
1695         * lib/aligned_alloc.c: New file.
1696         * m4/aligned_alloc.m4: New file.
1697         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
1698         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
1699         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
1700         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
1701         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
1702         * modules/aligned_alloc: New file.
1703         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
1704         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
1705         AIX bug.
1707 2020-11-03  Bruno Haible  <bruno@clisp.org>
1709         posix_memalign: Add tests.
1710         * tests/test-posix_memalign.c: New file.
1711         * modules/posix_memalign-tests: New file.
1713         posix_memalign: New module.
1714         * lib/stdlib.in.h (posix_memalign): New declaration.
1715         * lib/posix_memalign.c: New file.
1716         * m4/posix_memalign.m4: New file.
1717         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
1718         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
1719         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
1720         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
1721         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
1722         * modules/posix_memalign: New file.
1723         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
1724         * doc/posix-functions/posix_memalign.texi: Mention the new module and
1725         the OpenBSD bug.
1727 2020-11-03  Bruno Haible  <bruno@clisp.org>
1729         memalign: Add tests.
1730         * tests/test-memalign.c: New file.
1731         * modules/memalign-tests: New file.
1733         memalign: New module.
1734         * modules/memalign: New file.
1735         * doc/glibc-functions/memalign.texi: Mention the new module.
1737 2020-11-03  Bruno Haible  <bruno@clisp.org>
1739         verify tests: Fix crash with GCC (regression 2020-11-02).
1740         * tests/test-verify.c (main): Fix initializer of s.
1742 2020-11-03  Pádraig Brady  <P@draigBrady.com>
1744         mountlist: recognize more file system types as remote
1746         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
1747         "remote" file systems from stat.c in coreutils.
1749 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
1751         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
1752         * tests/test-verify.c (main): Initialize state variable.
1753         Reported by Bruno Haible for GCC 5.4.0.
1755 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
1757         dfa.h: support inclusion from C++
1758         * lib/dfa.h: Allow multiple inclusion, and inclusion from
1759         C++ code.  The latter was suggested by Arnold Robbins.
1761 2020-11-01  Bruno Haible  <bruno@clisp.org>
1763         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
1764         * tests/test-ssfmalloc.c: Include <limits.h>.
1765         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
1767 2020-11-01  Bruno Haible  <bruno@clisp.org>
1769         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
1770         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
1772 2020-11-01  Jim Meyering  <meyering@fb.com>
1774         dfa-tests: test for today's invalid-merge fix
1775         * tests/test-dfa-invalid-merge.sh: New file.
1776         * modules/dfa-tests (Files): Add it.
1777         (TESTS): Add it.
1779 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1781         dfa: retain sequences of similar nodes in optimization
1782         DFA was merging similar nodes when it should not.  For example,
1783         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
1784         is not merged.  Problem reported by Gonzalo Padrino in
1785         https://bugs.gnu.org/44351
1786         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
1787         optimization.
1789 2020-11-01  Jim Meyering  <meyering@fb.com>
1791         test-dfa-match-aux.c: accept EREs, not BREs
1792         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
1793         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
1795 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
1797         verify tests: avoid -Wmissing-declarations warnings
1798         * tests/test-verify.c (test_assume_expressions): Add declaration.
1799         (test_assume_optimization): Likewise.
1800         (test_assume_noreturn): Likewise.
1801         (main): Move down after all other definitions.  While at it, also
1802         call test_assume_expressions and test_assume_optimization as a
1803         runtime check.
1805 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
1807         sys_stat: update comments for S_IRWXUGO, S_IXUGO
1808         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
1809         Perhaps these macros should be removed, as they’re not in either
1810         POSIX or GNU.  They could be moved to stat-macros.h, which would
1811         be cleaner in some sense.
1813 2020-10-25  Bruno Haible  <bruno@clisp.org>
1815         ssfmalloc tests: Small tweaks.
1816         * tests/test-ssfmalloc.c: Add comments.
1817         (alloc_pages): Don't require PROT_EXEC bits.
1818         (block_sizes): Add more small sizes, for better coverage of
1819         ssfmalloc-bitmap.h.
1821         ssfmalloc tests: Portability to Minix.
1822         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
1823         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
1824         * m4/mmap-anon.m4: Update comment.
1826         ssfmalloc: Portability to AIX.
1827         * modules/ssfmalloc (Include): Add ssfmalloc.h.
1828         (Link): New section.
1829         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
1830         $(LIBTHREAD).
1832         ssfmalloc: Portability to Cygwin.
1833         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
1834         (pg_offset_t): Define depending on PAGESIZE_MAX.
1835         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
1836         (PAGESIZE_MAX): New macro.
1838         ssfmalloc: Fix buffer overrun in bitmap search.
1839         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
1840         word *words_end.
1842 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
1844         doc: mention ‘restrict’ and C++
1845         * doc/gnulib-readme.texi (C99 features assumed): Document
1846         that ‘restrict’ should be avoided in C++ code.
1848 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1850         selinux-at, selinux-h: port to SELinux 3.1
1851         The new release finally deprecated the typedef 'security_context_t',
1852         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
1853         Use the simpler 'char *' instead.
1854         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
1855         (lgetfilecon): Likewise.
1856         (fgetfilecon): Likewise.
1857         (map_to_failure): Likewise.
1858         (rpl_getfilecon): Likewise.
1859         (rpl_lgetfilecon): Likewise.
1860         (rpl_fgetfilecon): Likewise.
1861         * lib/se-selinux.in.h (security_context_t): Remove typedef.
1862         (getcon): Adjust type of context parameter.
1863         (freecon): Likewise.
1864         (getfscreatecon): Likewise.
1865         (setfscreatecon): Likewise.
1866         (matchpathcon): Likewise.
1867         (getfilecon): Likewise.
1868         (lgetfilecon): Likewise.
1869         (fgetfilecon): Likewise.
1870         (setfilecon): Likewise.
1871         (lsetfilecon): Likewise.
1872         (fsetfilecon): Likewise.
1873         (security_check_context): Likewise.
1874         (security_check_context_raw): Likewise.
1875         (setexeccon): Likewise.
1876         (security_compute_create): Likewise.
1877         * lib/selinux-at.c (getfileconat): Likewise.
1878         (lgetfileconat): Likewise.
1879         (setfileconat): Likewise.
1880         (lsetfileconat): Likewise.
1881         * lib/selinux-at.h: Likewise.
1883 2020-10-19  Bruno Haible  <bruno@clisp.org>
1885         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
1886         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
1887         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
1888         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
1889         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
1890         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
1891         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
1893 2020-10-18  Bruno Haible  <bruno@clisp.org>
1895         ssfmalloc: Add tests.
1896         * tests/test-ssfmalloc.c: New file.
1897         * modules/ssfmalloc-tests: New file.
1899         ssfmalloc: New module.
1900         * lib/ssfmalloc.h: New file.
1901         * lib/ssfmalloc-bitmap.h: New file.
1902         * modules/ssfmalloc: New file.
1904 2020-10-18  Bruno Haible  <bruno@clisp.org>
1906         wchar: Fix configure test result on some versions of AIX.
1907         Reported by Clément Chigot <clement.chigot@atos.net> in
1908         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
1909         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
1910         systems.
1912 2020-10-18  Bruno Haible  <bruno@clisp.org>
1914         time: Fix warning about asctime when asctime is not used.
1915         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
1916         invocation.
1918 2020-10-18  Bruno Haible  <bruno@clisp.org>
1920         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
1921         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
1922         '_GL_ATTRIBUTE_CONST'.
1923         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
1924         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
1925         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
1926         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
1927         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
1928         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
1929         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
1931 2020-10-18  Bruno Haible  <bruno@clisp.org>
1933         obstack: Fix a clang warning.
1934         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
1936 2020-10-16  Bruno Haible  <bruno@clisp.org>
1938         hash: Rename hash_delete to hash_remove.
1939         * lib/hash.h (hash_remove): Renamed from hash_delete.
1940         (hash_delete): New declaration.
1941         * lib/hash.c (hash_remove): Renamed from hash_delete.
1942         (hash_delete): New function.
1943         * tests/test-hash.c (main): Update.
1944         * lib/fts-cycle.c (leave_dir): Likewise.
1945         * NEWS: Mention the change.
1947 2020-10-16  Bruno Haible  <bruno@clisp.org>
1949         hash, xhash: Make usable from C++.
1950         * lib/hash.h: Add extern "C".
1952 2020-10-16  Bruno Haible  <bruno@clisp.org>
1954         hash, xhash: Move comments to the .h file.
1955         * lib/hash.c: Move comments meant for the user from here...
1956         * lib/xhash.c: ... and here...
1957         * lib/hash.h: ... to here.
1959 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
1961         Don't declare an intention to modify the return value of strerror.
1962         * tests/test-perror2.c (main): Assign the return value of strerror to a
1963         'const char *' variable.
1965 2020-10-11  Bruno Haible  <bruno@clisp.org>
1967         *printf: Avoid "expanded before it was required" warning.
1968         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
1969         AC_DEFUN_ONCE.
1971 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
1973         getprogname: Add support for OpenServer 6 and UnixWare 7.
1974         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
1975         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
1977 2020-10-11  Bruno Haible  <bruno@clisp.org>
1979         tests: Avoid a name clash on UnixWare.
1980         Reported by Tim Rice <tim@multitalents.net> in
1981         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
1982         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
1984 2020-10-11  Bruno Haible  <bruno@clisp.org>
1986         stdioext: Update comments regarding UnixWare.
1987         Reported by Tim Rice <tim@multitalents.net> in
1988         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
1989         * lib/fbufmode.c: Update comments.
1990         * lib/fflush.c: Likewise.
1991         * lib/fpending.c: Likewise.
1992         * lib/fpurge.c: Likewise.
1993         * lib/freadable.h: Likewise.
1994         * lib/freadable.c: Likewise.
1995         * lib/freadahead.c: Likewise.
1996         * lib/freading.h: Likewise.
1997         * lib/freading.c: Likewise.
1998         * lib/freadptr.c: Likewise.
1999         * lib/freadseek.c: Likewise.
2000         * lib/fseeko.c: Likewise.
2001         * lib/fseterr.c: Likewise.
2002         * lib/fwritable.h: Likewise.
2003         * lib/fwritable.c: Likewise.
2004         * lib/fwriting.h: Likewise.
2005         * lib/fwriting.c: Likewise.
2007 2020-10-11  Bruno Haible  <bruno@clisp.org>
2009         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
2010         Reported by Tim Rice <tim@multitalents.net> in
2011         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2012         Uses the info from
2013         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
2014         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
2016 2020-10-11  Bruno Haible  <bruno@clisp.org>
2018         stdioext: Avoid compilation errors on UnixWare 7.
2019         Reported by Tim Rice <tim@multitalents.net> in
2020         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
2021         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
2022         * lib/fpurge.c: Likewise.
2023         * lib/freadable.h: Likewise.
2024         * lib/freading.h: Likewise.
2025         * lib/fwritable.h: Likewise.
2026         * lib/fwriting.h: Likewise.
2027         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
2028         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2029         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
2030         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
2031         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
2032         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
2034 2020-10-11  Bruno Haible  <bruno@clisp.org>
2036         stdioext: Update comments regarding Cygwin.
2037         * lib/fpending.c: Update comments.
2038         * lib/fpurge.c: Likewise.
2039         * lib/freadable.h: Likewise.
2040         * lib/freadable.c: Likewise.
2041         * lib/freading.h: Likewise.
2042         * lib/freading.c: Likewise.
2043         * lib/fwritable.h: Likewise.
2044         * lib/fwritable.c: Likewise.
2045         * lib/fwriting.h: Likewise.
2046         * lib/fwriting.c: Likewise.
2048 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
2050         Fix "warning: implicit declaration of function 'pthread_sigmask'".
2051         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
2052         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
2054 2020-10-10  Bruno Haible  <bruno@clisp.org>
2056         *-list, *-oset, *-omap: Avoid possible compiler warnings.
2057         Reported by Marc Nieper-Wißkirchen in
2058         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
2059         * lib/gl_anylinked_list2.h (gl_linked_iterator,
2060         gl_linked_iterator_from_to): Mark as 'pure'.
2061         (gl_linked_iterator_free): Mark as 'const'.
2062         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
2063         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
2064         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
2065         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
2066         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
2067         (gl_tree_iterator_free): Mark as 'const'.
2068         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
2069         'pure'.
2070         (gl_tree_iterator_free): Mark as 'const'.
2071         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
2072         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
2073         (gl_tree_iterator_free): Mark as 'const'.
2074         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
2075         compare_position_threshold): Mark as 'pure'.
2076         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
2077         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
2078         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
2079         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
2080         'pure'.
2081         (gl_array_iterator_free): Mark as 'const'.
2082         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
2083         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
2084         (gl_array_iterator_free): Mark as 'const'.
2085         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
2086         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
2087         gl_array_iterator_atleast): Mark as 'pure'.
2088         (gl_array_iterator_free): Mark as 'const'.
2089         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
2090         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
2091         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
2092         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
2093         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
2094         gl_carray_sortedlist_search): Mark as 'pure'.
2095         (gl_carray_iterator_free): Mark as 'const'.
2097 2020-10-10  Bruno Haible  <bruno@clisp.org>
2099         rbtree-list: Avoid possible compiler warnings.
2100         This mirrors the change of avltree-list on 2014-09-16.
2101         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
2102         declaration. Add cast to void for ignored value of check_invariants.
2104 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
2106         stack: New module.
2107         * MODULES.html.sh: Add entry for the stack module.
2108         * modules/stack: New file.
2109         * modules/stack-tests: New file.
2110         * lib/stack.h: New file.
2111         * tests/test-stack.c: New file.
2113 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2115         attribute: improve const, pure doc
2116         Problem reported by Marc Nieper-Wißkirchen in:
2117         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
2118         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
2119         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
2121 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2123         thread: pacify GCC on Solaris 10
2124         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
2125         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
2126         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
2127         where pthread_t is unsigned int.
2129 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2131         c-stack: avoid AS_IF
2132         Problem reported by Bruno Haible in:
2133         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
2134         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
2136         c-stack: pacify GCC 9.3.1 when using libsigsegv
2137         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
2139 2020-10-04  Bruno Haible  <bruno@clisp.org>
2141         localename: Fix a couple of "unused parameter" warnings.
2142         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
2143         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
2144         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
2145         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
2146         parameter list.
2148 2020-10-04  Bruno Haible  <bruno@clisp.org>
2150         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
2151         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
2152         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
2153         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
2154         HAVE_SNPRINTF_TRUNCATION_C99.
2155         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
2156         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
2158 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
2160         c-stack: streamline Solaris configuration
2161         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
2162         the code is used only if a test for sigaltstack worked
2163         in some other way.
2164         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
2165         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
2166         heuristic does not work).
2167         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
2168         we no longer require the libsigsegv module.
2169         (Depends-on): Depend on havelib, not libsigsegv.
2171         c-stack: stop using SIGSTKSZ
2172         It’s been proposed to stop making SIGSTKSZ an integer constant:
2173         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
2174         Also, using SIGSTKSZ in #if did not conform to current POSIX.
2175         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
2176         * lib/c-stack.c (SIGSTKSZ): Remove.
2177         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
2178         All uses changed.
2180         c-stack: fix libsigsegv typo
2181         Problem reported by Bruno Haible in:
2182         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
2183         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
2184         to be used only on Solaris (exactly where it is not needed!).
2186 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
2188         MODULES.html.sh: Fix typo.
2189         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
2191 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
2193         version-etc: pacify Oracle Studio 12.6
2194         Without this patch, it complains: "version-etc.h", line 64:
2195         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
2196         pedantic mode.
2197         * lib/version-etc.h (version_etc): Port to C89 macro rules.
2199 2020-09-27  Bruno Haible  <bruno@clisp.org>
2201         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
2202         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2203         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2204         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
2205         ourselves; don't use AC_DECL_SYS_SIGLIST.
2207 2020-09-27  Bruno Haible  <bruno@clisp.org>
2209         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
2210         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2211         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2212         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
2213         instead of _AC_COMPUTE_INT.
2215 2020-09-27  Bruno Haible  <bruno@clisp.org>
2217         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
2218         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2219         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2220         Based on a patch by Paul Eggert.
2221         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
2222         test STDC_HEADERS. Assume <stdlib.h> exists.
2223         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
2225 2020-09-27  Bruno Haible  <bruno@clisp.org>
2227         Enable testing of prereleases of Autoconf 2.70.
2228         Suggested by Paul Eggert in
2229         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
2230         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
2231         >= 2.70.
2232         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
2233         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
2234         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
2236 2020-09-27  Bruno Haible  <bruno@clisp.org>
2238         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
2239         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2240         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2241         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
2242         AC_PROG_CC, depending on the Autoconf version.
2244 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
2246         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
2247         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
2248         of AC_HELP_STRING.
2249         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
2251 2020-09-27  Bruno Haible  <bruno@clisp.org>
2253         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
2254         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2255         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2256         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
2258 2020-09-27  Bruno Haible  <bruno@clisp.org>
2260         extensions: Simplify last commit.
2261         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
2262         AC_GNU_SOURCE ever.
2264 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2266         extensions: require AC_GNU_SOURCE only for <=2.63
2267         Problem reported by Gavin Smith in:
2268         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
2269         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
2270         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
2271         shouldn’t be needed after that, and Autoconf 2.70 complains about
2272         it being obsolete.
2274 2020-09-26  Bruno Haible  <bruno@clisp.org>
2276         regex-tests: Make test more robust.
2277         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
2278         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
2280 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2282         regex-tests: fix possible Turkish false-alarm
2283         * modules/regex-tests (Depends-on): Add wctype-h.
2284         * tests/test-regex.c: Include wctype.h.
2285         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
2286         as the Turkish regex test assumes this.
2288         regex-tests: fix test and add debug output
2289         Perhaps this will fix the recent grep test failure reported at:
2290         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
2291         At least, the debug output should help narrow down the failure.
2292         * tests/test-regex.c: Include stdarg.h, stdio.h.
2293         (exit_status): New var.
2294         (report_error): New function.
2295         (main): Use it to report failures to stdout instead of merely
2296         exiting with some nonzero status.  The status info alone isn’t
2297         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
2298         regex before calling re_compile_pattern, fixing a portability bug.
2300         regex: no longer match glibc
2301         * config/srclist.txt: Comment out regex_internal.c for now.
2303 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2305         regex: fix ignore-case Turkish bug
2306         * lib/regex_internal.c (build_wcs_upper_buffer):
2307         Do not assume that converting single-byte character to upper
2308         yields a single-byte character.  This is not true for Turkish,
2309         where towupper (L'i') yields L'İ', which is not single-byte.
2310         * tests/test-regex.c (main): Test for this bug.
2312         regex: port to weird isascii platforms
2313         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
2315 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2317         dfa: make dfasupported a global function
2318         * lib/dfa.c (dfasupported): Rename, and make it global.
2319         Update caller.
2320         * lib/dfa.h (dfasupported): Add prototype.
2322 2020-09-20  Bruno Haible  <bruno@clisp.org>
2324         canonicalize: Add support for UNC file names on native Windows.
2325         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
2326         <https://savannah.gnu.org/bugs/?59079>.
2327         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
2328         extend the prefix to include the server.
2330 2020-09-20  Bruno Haible  <bruno@clisp.org>
2332         supersede: Fix test failures on native Windows.
2333         * lib/supersede.c (open_supersede): Handle non-regular files on native
2334         Windows like on Solaris.
2335         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
2337 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2339         test-stdalign: test Oracle Studio better
2340         * doc/posix-headers/stdalign.texi (stdalign.h):
2341         * tests/test-stdalign.c (main):
2342         Sun Studio Bug #2125432 seems to be fixed.
2344         c-stack: output diagnostic in single 'write'
2345         * lib/c-stack.c (die): In the typical case, use just one 'write'
2346         syscall to output the diagnostic, as this lessens interleaving.
2347         (die, c_stack_action): Assume C99.
2348         * modules/c-stack (Depends-on): Add c99, mempcpy.
2350         c-stack: improve checking if !libsigsegv
2351         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
2352         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
2353         unlikely pointer overflow.  Also, fix some obsolete code and typos.
2354         I found these problems while looking into this bug report:
2355         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
2356         * lib/c-stack.c: Include c-stack.h first, to test interface.
2357         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
2358         max_align_t, intprops.h for INT_ADD_WRAPV.
2359         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
2360         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
2361         for libsigsegv 2.8 and earlier since the bug should be fixed
2362         after that.
2363         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
2364         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
2365         Assume sprintf returns byte count; this assumption is safe now.
2366         (page_size): New static volatile variable, since sysconf isn’t
2367         documented to be async-signal-safe on Solaris.  This variable is
2368         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
2369         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
2370         SIGINFO_WORKS).
2371         (segv_handler): Use it if present.  Never report null pointer
2372         dereference as a stack overflow.  Check for (unlikely) unsigned
2373         and/or pointer overflow.
2374         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2375         Rename cache variables to gl_cv_sys_stack_overflow_works
2376         and gl_cv_sys_xsi_stack_overflow_heuristic.
2377         All uses changed.
2378         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
2379         c-stack no longer uses STACK_DIRECTION.
2380         Do not check for unistd.h, since we depend on unistd.
2381         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
2382         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
2383         stdbool, stddef.
2385 2020-09-20  Bruno Haible  <bruno@clisp.org>
2387         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
2388         * m4/musl.m4: Revert 2020-09-19 patch.
2389         * m4/setlocale_null.m4: Likewise.
2390         * modules/setlocale-null: Likewise.
2392 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
2393             Bruno Haible  <bruno@clisp.org>
2395         relocatable-prog: Fix for multiple relocatable library directories.
2396         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
2397         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
2398         being attached to a single one.
2400 2020-09-19  Jim Meyering  <meyering@fb.com>
2402         test-verify.c: avoid -Wshadow warnings
2403         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
2404         (enum): Capitalize member names. Adjust uses.
2406 2020-09-19  Bruno Haible  <bruno@clisp.org>
2408         havelib: Avoid linking with libc.a on GNU systems.
2409         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
2410         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
2411         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
2412         dependency_libs value of a .la file, ignore '-lc' options on GNU
2413         systems.
2415 2020-09-19  Bruno Haible  <bruno@clisp.org>
2417         Fix recognition of musl libc on Alpine Linux 3.10.
2418         Reported by Jeffrey Walton <noloader@gmail.com> in
2419         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
2420         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
2421         (gl_MUSL_LIBC): Require it.
2422         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
2423         * modules/setlocale-null (Files): Add m4/musl.m4.
2425 2020-09-19  Bruno Haible  <bruno@clisp.org>
2427         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
2428         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
2429         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
2430         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
2431         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
2432         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
2433         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
2434         or <threads.h>.
2435         (ITEMS, MAX_RESULT_LEN): New macros.
2436         (nl_langinfo_unlocked): New function.
2437         (gl_get_nl_langinfo_lock): New declaration.
2438         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
2439         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
2440         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
2441         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
2442         REPLACE_NL_LANGINFO.
2443         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
2444         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
2445         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
2446         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
2447         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
2449 2020-09-18  Bruno Haible  <bruno@clisp.org>
2451         fsusage, getaddrinfo: Produce more regular configure output.
2452         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
2453         corresponding AC_MSG_RESULT.
2454         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2456 2020-09-18  Bruno Haible  <bruno@clisp.org>
2458         Add back gl_SILENT.
2459         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
2461 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2463         c-stack-tests: fix -fsanitize=undefined false alarm
2464         * tests/test-c-stack2.sh: Skip the test-harness self-test
2465         if ‘gcc -fsanitize=undefined’ is in use.
2467 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2469         signalblocking: simplify and remove gl_SILENT
2470         gl_SILENT was problematic because if a trap was sprung, stderr
2471         generated during the trap was lost.  Avoid the problem by
2472         removing the need for gl_SILENT.
2473         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
2474         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
2475         Simplify, avoiding the need for gl_SILENT while preserving the
2476         ability of the user to override the value of the cache variable,
2477         now ac_cv_func_sigprocmask.
2479 2020-09-17  Bruno Haible  <bruno@clisp.org>
2481         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
2482         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
2483         (gl_SILENT): Use 'exec', not a compound statement, to redirect
2484         AS_MESSAGE_FD.
2486 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2488         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
2489         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
2490         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
2491         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
2492         Define to 0.
2493         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
2494         Do not use __builtin_mul_overflow_p.
2496         libc-config: port __THROW to Ubuntu 4
2497         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
2498         for GCC 3.3.  Problem reported by Jeffrey Walton in:
2499         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
2500         The GCC 3.3.4 documentation says the attribute should work, but
2501         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
2502         little point or desire to research this circa-2004 platform further,
2503         so just avoid the attribute there.
2505 2020-09-17  Jim Meyering  <meyering@fb.com>
2507         test-dfa-match.sh: port timeout work-around to newer Busybox
2508         * tests/test-dfa-match.sh: Update timeout -t portability test to
2509         accommodate Busybox 1.30.0 and newer.
2511 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2513         fnmatch: adjust to match glibc fix
2514         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
2515         This does not affect Gnulib; it merely keeps Gnulib and glibc
2516         closer together, to help with any eventual merge, by incorporating
2517         a recent glibc patch.  The patch and the following commentary is
2518         by Andreas Schwab.
2519         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
2520         contains the index into the extra array, whereas wextra points
2521         into the extra array at this index, containing the length of the
2522         following collating sequence in the wide character representation.
2524 2020-09-16  Bruno Haible  <bruno@clisp.org>
2526         stat, fstat: Fix compilation error with old mingw headers.
2527         Reported by Eli Zaretskii <eliz@gnu.org> in
2528         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2529         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
2530         define it.
2532 2020-09-16  Bruno Haible  <bruno@clisp.org>
2534         stat, fstat: Fix when compiling for versions older than Windows Vista.
2535         Reported by Eli Zaretskii <eliz@gnu.org> in
2536         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
2537         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
2538         that was originally set before we redefined it.
2539         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
2540         (gl_PREREQ_STAT): Require it.
2541         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
2543 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
2545         dfa: remove dfa-heap-overrun workaround
2546         * lib/dfa.c (reorder_tokens): Go back to a single pass that
2547         both sets map[*] and does other things.  This reverts
2548         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
2549         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
2550         fixed the underlying problem.
2552 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
2554         dfa: avoid use of uninitialized constraint
2555         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
2556         to zero here.
2557         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
2558         use of an uninitialized constraint by later code when ! (flags[i]
2559         & OPT_QUEUED) means merge_nfa_state was not called to initialize
2560         the constraint.  Problem found by running 'valgrind src/grep -E
2561         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
2563         dfa: assume C99 in reorder_tokens
2564         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
2566         dfa: fix dfa-heap-overrun failure
2567         * lib/dfa.c (reorder_tokens): When setting
2568         map[d->follows[i].elems[j].index], instead of incorrectly assuming
2569         that (i < d->follows[i].elems[j].index), use two loops, one to set
2570         the map array and the other to use it.  The incorrect assumption
2571         caused some elements to be missed, and this in turn caused grep's
2572         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
2573         with GCC.  I found this bug while investigating
2574         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
2575         and I think the bug also occurs on GNU/Linux but with more-subtle
2576         symptoms.  The bug predates the recent dfa.c changes; perhaps the
2577         recent changes make the bug more likely.
2579 2020-09-13  Bruno Haible  <bruno@clisp.org>
2581         parse-datetime: Make the build rule work with parallel 'make'.
2582         Reported by Daiki Ueno <ueno@gnu.org> in
2583         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
2584         * modules/parse-datetime (Makefile.am): Use a phony target and the
2585         general idiom for rules that produce multiple files.
2587 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
2589         getpass: Check for nonnull prompt argument while avoiding warnings.
2590         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
2591         (getpass) [!_WIN32]: Print prompt only if nonnull.
2593 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2595         dfa: epsilon-closure tweaks (Bug#40634)
2596         Rename BACKWORD to BACKWARD consistently.
2597         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
2598         (addtok_mb): Redo slightly to make it act more like a state machine.
2599         Check depth only when it increases.
2600         (epsclosure): Let the switch test the tokens.
2601         (dfaanalyze): Cache tindex.  Simplify position loops.
2602         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
2603         only if it is not null, since we're testing that anyway.
2604         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
2606 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2608         dfa: use backward set in removal of epsilon closure
2609         When removing in epsilon closure, the code searched all nodes
2610         sequentially, and this was slow for some cases.  Build a backward
2611         set before search, and only check previous position with the set.
2612         Problem reported in <https://bugs.gnu.org/40634>.
2613         * lib/dfa.c (struct dfa): New member 'epsilon'.
2614         (addtok_mb): Check whether a pattern has epsilon node or not.
2615         (epsclosure): New arg BACKWORD; caller changed.  When removing
2616         epsilon node and reconnecting, check only previous positions.
2617         Treat BEG as if it were character.
2618         (dfaanalyze): Build backward set.
2620 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2622         canonicalize: fix pointer indexing bugs
2623         Problem reported by Florian Weimer in:
2624         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
2625         * lib/canonicalize-lgpl.c (__realpath):
2626         * lib/canonicalize.c (canonicalize_filename_mode):
2627         Do not generate a pointer past the end of the array.
2628         * lib/canonicalize.c (canonicalize_filename_mode):
2629         Do not use a pointer after passing it to realloc.
2631 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2633         tempname: help merge with glibc
2634         Inspired by draft patches by Adhemerval Zanella in:
2635         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
2636         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
2637         * lib/tempname.c: Include stdalign.h, time.h.
2638         If _LIBC, do not include random-bits.h.
2639         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
2640         (RANDOM_BITS): Remove, replacing with ...
2641         (random_bits): ... this new static function.  All uses changed.
2642         Add entropy each time if getrandom is not supported.
2643         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
2644         Assume 64-bit support a la C99.
2645         (try_tempname_len): Take advantage of ASLR when initializing
2646         random value.
2647         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
2649         getcwd: merge recent glibc changes
2650         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
2651         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
2653 2020-09-06  Bruno Haible  <bruno@clisp.org>
2655         attribute: Clarify which file to include.
2656         * modules/attribute (Include): Add "attribute.h".
2658 2020-09-06  Bruno Haible  <bruno@clisp.org>
2660         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
2661         * lib/pipe-filter-ii.c: Include <process.h>.
2662         * lib/pipe-filter-gi.c: Likewise.
2664 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2666         verify: avoid __builtin_assume
2667         Our latest attempt to use Clang’s __builtin_assume caused a crash
2668         in GNU Emacs that we spent quite some time tracking down as being
2669         caused by the switch to __builtin_assume.  It’s not known whether
2670         the crash is due is a Clang bug or a portability bug in GNU Emacs.
2671         For now, play it safe and avoid __builtin_assume.
2672         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
2673         (assume): Simplify by not trying to use Clang’s __builtin_assume.
2675 2020-09-05  Bruno Haible  <bruno@clisp.org>
2677         Fix several "warning: no previous prototype for function".
2678         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
2679         in front of the declaration of the lookup function in
2680         unicase/locale-languages.h.
2681         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
2682         unictype/bidi_byname.h.
2683         * modules/unictype/category-byname (Makefile.am): Likewise in
2684         unictype/categ_byname.h.
2685         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
2686         unictype/combiningclass_byname.h.
2687         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
2688         unictype/joininggroup_byname.h.
2689         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
2690         unictype/joiningtype_byname.h.
2691         * modules/unictype/property-byname (Makefile.am): Likewise in
2692         unictype/pr_byname.h.
2693         * modules/unictype/scripts (Makefile.am): Likewise in
2694         unictype/scripts_byname.h.
2695         * modules/uninorm/composition (Makefile.am): Likewise in
2696         uninorm/composition-table.h.
2698 2020-09-05  Bruno Haible  <bruno@clisp.org>
2700         select: Fix "warning: no previous prototype for function".
2701         * lib/select.c: Include <sys/select.h>.
2703 2020-09-05  Bruno Haible  <bruno@clisp.org>
2705         Use module 'c99' when needed for variadic macros with '...' syntax.
2706         * modules/crypto/sm3 (Depends-on): Add c99.
2708 2020-09-05  Bruno Haible  <bruno@clisp.org>
2710         Use module 'c99' when needed for subobject initializer syntax.
2711         * modules/tempname (Depends-on): Add c99.
2712         * modules/nstrftime-tests (Depends-on): Likewise.
2714 2020-09-05  Bruno Haible  <bruno@clisp.org>
2716         Use module 'c99' when needed for declaration-after-statement syntax.
2717         * modules/backup-rename (Depends-on): Add c99.
2718         * modules/backupfile (Depends-on): Likewise.
2719         * modules/bitset-tests (Depends-on): Likewise.
2720         * modules/bitsetv (Depends-on): Likewise.
2721         * modules/c-strtod (Depends-on): Likewise.
2722         * modules/c-strtold (Depends-on): Likewise.
2723         * modules/clean-temp (Depends-on): Likewise.
2724         * modules/copy-file (Depends-on): Likewise.
2725         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
2726         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
2727         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
2728         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
2729         * modules/crypto/md5-buffer (Depends-on): Likewise.
2730         * modules/crypto/md5-tests (Depends-on): Likewise.
2731         * modules/crypto/sha1-buffer (Depends-on): Likewise.
2732         * modules/crypto/sha1-tests (Depends-on): Likewise.
2733         * modules/crypto/sha256-buffer (Depends-on): Likewise.
2734         * modules/crypto/sha256-tests (Depends-on): Likewise.
2735         * modules/crypto/sha512-buffer (Depends-on): Likewise.
2736         * modules/crypto/sha512-tests (Depends-on): Likewise.
2737         * modules/diffseq (Depends-on): Likewise.
2738         * modules/fatal-signal (Depends-on): Likewise.
2739         * modules/fchmodat (Depends-on): Likewise.
2740         * modules/fstrcmp (Depends-on): Likewise.
2741         * modules/fsusage (Depends-on): Likewise.
2742         * modules/fts (Depends-on): Likewise.
2743         * modules/fts-tests (Depends-on): Likewise.
2744         * modules/getumask (Depends-on): Likewise.
2745         * modules/git-merge-changelog (Depends-on): Likewise.
2746         * modules/hash-map (Depends-on): Likewise.
2747         * modules/hash-set (Depends-on): Likewise.
2748         * modules/lchmod (Depends-on): Likewise.
2749         * modules/libgmp-tests (Depends-on): Likewise.
2750         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
2751         * modules/linkedhash-map (Depends-on): Likewise.
2752         * modules/linkedhash-set (Depends-on): Likewise.
2753         * modules/long-options (Depends-on): Likewise.
2754         * modules/mbrtoc32 (Depends-on): Likewise.
2755         * modules/memchr2-tests (Depends-on): Likewise.
2756         * modules/memmem-tests (Depends-on): Likewise.
2757         * modules/memrchr-tests (Depends-on): Likewise.
2758         * modules/mktime-internal (Depends-on): Likewise.
2759         * modules/nstrftime (Depends-on): Likewise.
2760         * modules/opendirat (Depends-on): Likewise.
2761         * modules/parse-datetime (Depends-on): Likewise.
2762         * modules/quotearg-simple-tests (Depends-on): Likewise.
2763         * modules/same (Depends-on): Likewise.
2764         * modules/supersede (Depends-on): Likewise.
2765         * modules/supersede-tests (Depends-on): Likewise.
2766         * modules/time_rz (Depends-on): Likewise.
2767         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
2768         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
2769         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
2770         * modules/xalloc (Depends-on): Likewise.
2771         * modules/xnanosleep (Depends-on): Likewise.
2773 2020-09-05  Bruno Haible  <bruno@clisp.org>
2775         Fix "warning: array initialized from parenthesized string constant".
2776         * tests/test-memmem.c (main): Remove parentheses around string constant.
2777         * tests/test-c-strcasestr.c (main): Likewise.
2778         * tests/test-strcasestr.c (main): Likewise.
2780 2020-09-05  Bruno Haible  <bruno@clisp.org>
2782         argmatch tests: Fix ISO C compliance warning.
2783         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
2784         invocation.
2786 2020-09-05  Bruno Haible  <bruno@clisp.org>
2788         uniname/uniname: Fix -Wshadow warning.
2789         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
2790         * modules/uniname/uniname (Depends-on): Add c99.
2792 2020-09-05  Bruno Haible  <bruno@clisp.org>
2794         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
2795         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
2796         argument to size_t.
2797         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
2798         n to size_t.
2800 2020-09-05  Bruno Haible  <bruno@clisp.org>
2802         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
2803         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
2804         u32_uctomb): Change type of last argument to ptrdiff_t.
2805         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
2806         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
2807         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
2808         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
2809         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
2811 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2813         manywarnings: remove -Wchkp and -Wabi from C++ too
2814         Suggested by Reuben Thomas in:
2815         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
2816         At some point somebody should merge the many other manywarnings-c.m4
2817         changes into manywarnings-c++.m4 too, e.g.,
2818         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
2819         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
2820         Remove -Wchkp, -Wabi.
2822 2020-08-30  Bruno Haible  <bruno@clisp.org>
2824         strerrorname_np: Add tests.
2825         * tests/test-strerrorname_np.c: New file.
2826         * modules/strerrorname_np-tests: New file.
2828         strerrorname_np: New module.
2829         * lib/string.in.h (strerrorname_np): New declaration.
2830         * lib/strerrorname_np.c: New file.
2831         * m4/strerrorname_np.m4: New file.
2832         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
2833         is declared.
2834         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
2835         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
2836         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
2837         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
2838         * modules/strerrorname_np: New file.
2839         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
2840         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
2841         the glibc 2.32 bug.
2843 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
2845         perror, strerror_r: remove unportable tests
2846         Problem reported by Florian Weimer in:
2847         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
2848         * tests/test-perror2.c (main):
2849         * tests/test-strerror_r.c (main): Omit unportable tests.
2851 2020-08-26  Bruno Haible  <bruno@clisp.org>
2853         stdint, wchar, wctype-h: Change configure message.
2854         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
2855         enough..." instead of "checking whether wint_t is too small...".
2857 2020-08-26  Bruno Haible  <bruno@clisp.org>
2859         time_rz: Change configure message.
2860         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
2861         near extrema..." instead of "checking whether localtime loops forever
2862         near extrema...".
2864 2020-08-26  Bruno Haible  <bruno@clisp.org>
2866         stdint: Change configure message.
2867         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
2868         without ISO C predefines..." instead of "checking whether stdint.h
2869         predates C++11...".
2871 2020-08-26  Bruno Haible  <bruno@clisp.org>
2873         socketlib: Change configure message.
2874         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
2875         instead of "checking if we need to call WSAStartup in winsock2.h and
2876         -lws2_32...".
2878 2020-08-26  Bruno Haible  <bruno@clisp.org>
2880         include_next: Change configure message.
2881         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
2882         code line length is unlimited..." instead of "checking whether system
2883         header files limit the line length...".
2885 2020-08-26  Bruno Haible  <bruno@clisp.org>
2887         getcwd: Change configure message.
2888         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
2889         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
2890         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
2892 2020-08-26  Bruno Haible  <bruno@clisp.org>
2894         chdir-long: Change configure message.
2895         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
2896         system supports file names of any length..." instead of "checking
2897         whether this system has an arbitrary file name length limit...".
2898         Set gl_cv_have_unlimited_file_name_length instead of
2899         gl_cv_have_arbitrary_file_name_length_limit.
2900         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
2902 2020-08-26  Bruno Haible  <bruno@clisp.org>
2904         ceill: Change configure message.
2905         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
2906         instead of "checking whether ceill() breaks with small values...".
2908 2020-08-26  Bruno Haible  <bruno@clisp.org>
2910         iconv: Change configure message.
2911         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
2912         with its POSIX signature..." instead of "checking for iconv
2913         declaration...". Remove K&R C support.
2915 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
2917         getcwd: help the merge back into glibc
2918         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
2919         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
2920         The idea is to make it easier for Gnulib lib/getcwd.c to match
2921         glibc io/getcwd-generic.c.
2922         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
2923         Include not-cancel.h.
2924         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
2925         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
2926         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
2927         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
2928         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
2929         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
2930         (__getcwd_generic): Rename from __getcwd.
2931         Use the abovementioned macros for consistency with glibc.
2932         (weak_alias): Remove.
2934 2020-08-25  Bruno Haible  <bruno@clisp.org>
2936         verify: Avoid warnings when assume(0) is used.
2937         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
2938         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
2939         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
2940         the constant 0.
2941         * tests/test-verify.c (f): New function.
2942         (state): New type.
2943         (test_assume_expressions, test_assume_optimization,
2944         test_assume_noreturn): New functions.
2946 2020-08-25  Bruno Haible  <bruno@clisp.org>
2948         fstrcmp: Clarification regarding NOTE_ORDERED.
2949         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
2951 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2953         diffseq: new option NOTE_ORDERED
2954         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
2955         * NEWS: Mention this.
2956         * lib/diffseq.h (NOTE_ORDERED): New macro.
2957         (IF_LINT2): Remove; no longer needed.
2958         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
2959         subproblem and iterate to do the larger.
2961 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2963         sys_types: let Autoconf 2.70 do pid_t
2964         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
2965         only for Autoconf versions 2.69 and earlier, since 2.70
2966         will be fixed.
2968 2020-08-23  Bruno Haible  <bruno@clisp.org>
2970         tests: Don't assume that pid_t fits in an 'int'.
2971         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
2972         of 'int'.
2973         * tests/test-nonblocking-socket-main.c (main): Likewise.
2975         sys_types: Fix definition of pid_t on 64-bit MSVC.
2976         * m4/pid_t.m4: New file.
2977         * modules/sys_types (Files): Add it.
2978         * modules/dirent (Files): Likewise.
2979         * modules/fcntl-h (Files): Likewise.
2980         * modules/sched (Files): Likewise.
2981         * modules/signal-h (Files): Likewise.
2982         * modules/spawn (Files): Likewise.
2983         * modules/sys_stat (Files): Likewise.
2984         * modules/sys_wait (Files): Likewise.
2985         * modules/termios (Files): Likewise.
2986         * modules/unistd (Files): Likewise.
2988 2020-08-23  Bruno Haible  <bruno@clisp.org>
2990         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
2991         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
2992         program.
2994 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2996         intprops: be consistent about +X vs X+0
2997         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
2999         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
3000         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
3001         is a bit-field, on older GCC or non-GCC compilers where we do
3002         things ourselves instead of using __builtin_mul_overflow.
3003         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
3004         to applying sizeof to a bit-field.
3005         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
3006         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
3008 2020-08-23  Bruno Haible  <bruno@clisp.org>
3010         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
3011         Reported by Jörg Sonnenberger <joerg@netbsd.org>
3012         via Thomas Klausner <tk@giga.or.at> in
3013         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
3014         * lib/supersede.c (open_supersede): When opening an existing non-regular
3015         file on Solaris, use O_CREAT although it should not be necessary.
3017 2020-08-23  Bruno Haible  <bruno@clisp.org>
3019         verify: Make assume work on bit field expressions (regr. 2020-08-22).
3020         Reported by Benno Schulenberg <bensberg@telfort.nl> in
3021         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
3022         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
3023         variable.
3025 2020-08-23  Bruno Haible  <bruno@clisp.org>
3027         libc-config: Improve comments.
3028         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
3029         cannot use clang's __diagnose_if__ here.
3031 2020-08-22  Bruno Haible  <bruno@clisp.org>
3033         verify: Do use __builtin_assume on clang.
3034         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
3035         variable in a statement expression.
3037 2020-08-22  Bruno Haible  <bruno@clisp.org>
3039         sig2str: Add more signals.
3040         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
3042 2020-08-22  Bruno Haible  <bruno@clisp.org>
3044         doc: Update for OpenBSD 6.0, 6.7.
3045         * doc/*/*.texi: Update.
3046         * m4/printf.m4: Update comments and cross-compilation guesses.
3047         * m4/ceill.m4: Update comments.
3048         * m4/getcwd-abort-bug.m4: Likewise.
3049         * m4/ilogb.m4: Likewise.
3050         * m4/ilogbf.m4: Likewise.
3051         * m4/langinfo_h.m4: Likewise.
3052         * m4/modf.m4: Likewise.
3053         * m4/modff.m4: Likewise.
3055 2020-08-22  Bruno Haible  <bruno@clisp.org>
3057         doc: Mention sig2str module.
3058         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
3060 2020-08-21  Bruno Haible  <bruno@clisp.org>
3062         sigdescr_np: Add tests.
3063         * tests/test-sigdescr_np.c: New file.
3064         * modules/sigdescr_np-tests: New file.
3066         sigdescr_np: New module.
3067         * lib/string.in.h (sigdescr_np): New declaration.
3068         * lib/sigdescr_np.c: New file.
3069         * m4/sigdescr_np.m4: New file.
3070         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
3071         declared.
3072         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
3073         HAVE_SIGDESCR_NP.
3074         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
3075         HAVE_SIGDESCR_NP.
3076         * modules/sigdescr_np: New file.
3077         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
3078         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
3080 2020-08-20  Bruno Haible  <bruno@clisp.org>
3082         sigabbrev_np: Add tests.
3083         * tests/test-sigabbrev_np.c: New file.
3084         * modules/sigabbrev_np-tests: New file.
3086         sigabbrev_np: New module.
3087         * lib/string.in.h (sigabbrev_np): New declaration.
3088         * lib/sigabbrev_np.c: New file.
3089         * m4/sigabbrev_np.m4: New file.
3090         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
3091         declared.
3092         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
3093         HAVE_SIGABBREV_NP.
3094         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
3095         HAVE_SIGABBREV_NP.
3096         * modules/sigabbrev_np: New file.
3097         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
3098         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
3100 2020-08-20  Bruno Haible  <bruno@clisp.org>
3102         stdalign tests: Skip test with AIX xlclang.
3103         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
3105 2020-08-20  Bruno Haible  <bruno@clisp.org>
3107         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
3108         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
3109         workaround as for GCC versions < 4.9.
3111 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3113         Sync up ProjectQuirks comments and documentation
3114         Transform the ProjectQuirks comments into a docstring so that it can
3115         be accessed from python as ProjectQuirks.__doc__ and harmonize
3116         descriptions with the documentation.
3117         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
3118         Transform comments into a docstring.
3119         * doc/vcs-to-changelog.texi: Sync up description with comments.
3121         Split ProjectQuirks out into its own file
3122         ProjectQuirks is used by external quirks files and importing it from
3123         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
3124         is cleaner to put it in its own file anyway.
3125         * build-aux/vcstocl/projectquirks.py: A new file...
3126         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
3127         we move ProjectQuirks and import the file.
3129 2020-08-19  Bruno Haible  <bruno@clisp.org>
3131         uchar: Fix compilation errors in C++ mode on macOS.
3132         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
3133         system header file before attempting to use 'char16_t' and 'char32_t'.
3135 2020-08-19  Bruno Haible  <bruno@clisp.org>
3137         ansi-c++-opt: Work around an autoconf macro reordering problem.
3138         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
3139         section.
3141 2020-08-19  Bruno Haible  <bruno@clisp.org>
3143         math C++ tests: Fix compilation error in with GCC 10.
3144         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
3145         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
3146         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3148 2020-08-19  Bruno Haible  <bruno@clisp.org>
3150         uchar: Fix compilation errors in C++ mode on OpenBSD.
3151         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
3152         CXX_HAS_UCHAR_TYPES is 1.
3153         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
3154         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
3155         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
3157 2020-08-19  Bruno Haible  <bruno@clisp.org>
3159         Fix compilation errors in C++ mode on OpenBSD.
3160         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
3161         OpenBSD with clang, use the approach without C preprocessor macro.
3163 2020-08-18  Bruno Haible  <bruno@clisp.org>
3165         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
3166         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
3167         AC_LANG_POP.
3169 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3171         verify: avoid __built_assume on Clang
3172         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
3173         Clang 9 incorrectly diagnoses arguments as having side effects
3174         even when they do not.  I guess Clang 9 considers any function
3175         call as if it had a side effect here.
3177         libc-config: avoid Clang’s __diagnose_if__
3178         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
3179         For now, do not use __diagnose_if__ here, as this fails
3180         on Fedora 31 with Clang 9.0.1, with diagnostic
3181         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
3182         size than length of destination buffer
3183         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
3184         for functions that are not called?
3186         careadlinkat: speedup for GCC 10 with GCC_LINT
3187         Inspired by a suggestion by Bruno Haible in:
3188         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
3189         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
3190         (readlink_stk): New function, with most of the old careadlinkat
3191         contents and with a new STACK_BUF arg.  Inline it in GCC 10
3192         if GCC_LINT.
3193         (careadlinkat): Use the new function for everything but the
3194         stack buffer.
3196         * build-aux/gcc-warning.spec: Update comments.
3198 2020-08-17  Bruno Haible  <bruno@clisp.org>
3200         Assume autoconf >= 2.64.
3201         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
3203 2020-08-17  Bruno Haible  <bruno@clisp.org>
3205         Revert autoupdate's revert.
3206         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
3208 2020-08-17  Bruno Haible  <bruno@clisp.org>
3210         uchar C++ tests: Fix build error on FreeBSD 12.
3211         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
3212         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
3213         <cuchar> does not exist.
3215 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3217         time_rz: remove unused functions
3218         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
3220         time_rz: fix issues with mktime_z failures
3221         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
3222         Use a cheaper tm_yday test for failed mktime.
3224 2020-08-16  Bruno Haible  <bruno@clisp.org>
3226         intprops test: Strengthen on clang.
3227         * tests/test-intprops.c (VERIFY): Use verify_stmt.
3229 2020-08-16  Bruno Haible  <bruno@clisp.org>
3231         nstrftime: Guide inlining also on clang.
3232         * lib/nstrftime.c (iso_week_days): Inline also on clang.
3234 2020-08-16  Bruno Haible  <bruno@clisp.org>
3236         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
3237         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
3239 2020-08-16  Bruno Haible  <bruno@clisp.org>
3241         log2l: Disable MSVC workaround on clang.
3242         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
3244 2020-08-16  Bruno Haible  <bruno@clisp.org>
3246         argp: Emit a warning also with clang.
3247         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
3248         clang.
3250 2020-08-16  Bruno Haible  <bruno@clisp.org>
3252         libc-config: Enable __REDIRECT macro also on clang.
3253         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
3254         __ASMNAME2): Define on clang like on GCC.
3256 2020-08-16  Bruno Haible  <bruno@clisp.org>
3258         regex: Use initializer shorthand syntax also with clang.
3259         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
3260         with clang.
3262 2020-08-16  Bruno Haible  <bruno@clisp.org>
3264         regex: Use space optimization also with clang.
3265         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
3266         with clang.
3268 2020-08-16  Bruno Haible  <bruno@clisp.org>
3270         Use _Static_assert and static_assert primitives when present on clang.
3271         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
3272         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
3273         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
3275 2020-08-16  Bruno Haible  <bruno@clisp.org>
3277         Use 'throw ()' for optimization in C++ mode also on clang.
3278         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
3279         * lib/getopt-cdefs.in.h (__THROW): Likewise.
3280         * lib/md5.h (__THROW): Likewise.
3282 2020-08-16  Bruno Haible  <bruno@clisp.org>
3284         absolute-header: Add support for clang.
3285         * modules/absolute-header (Makefile.am): Include '__clang__' in the
3286         HAVE_INCLUDE_NEXT expression.
3288 2020-08-16  Bruno Haible  <bruno@clisp.org>
3290         Fix "warning: implicitly declaring library function 'strcasecmp'".
3291         * lib/argp-help.c: Include <strings.h>.
3293 2020-08-16  Bruno Haible  <bruno@clisp.org>
3295         stdio: Don't break attribute 'scanf' on clang.
3296         * lib/stdio.in.h (scanf): Treat clang like GCC.
3298 2020-08-16  Bruno Haible  <bruno@clisp.org>
3300         Use __restrict also on clang.
3301         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
3302         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
3303         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
3305 2020-08-16  Bruno Haible  <bruno@clisp.org>
3307         pthread-spin: Use GCC built-ins also on clang.
3308         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
3309         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
3310         also on clang.
3312 2020-08-16  Bruno Haible  <bruno@clisp.org>
3314         asyncsafe-spin tests: Update.
3315         * tests/test-asyncsafe-spin2.c: Update to match the change in
3316         lib/asyncsafe-spin.c from 2020-08-11.
3318 2020-08-16  Bruno Haible  <bruno@clisp.org>
3320         setenv: Use tree code also with clang.
3321         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
3323 2020-08-16  Bruno Haible  <bruno@clisp.org>
3325         math: Optimize signbit also on clang.
3326         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
3327         on clang.
3329 2020-08-16  Bruno Haible  <bruno@clisp.org>
3331         avltreehash-list, rbtreehash-list: Optimize also on clang.
3332         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
3333         __builtin_expect also on clang.
3335 2020-08-16  Bruno Haible  <bruno@clisp.org>
3337         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
3338         * lib/socket.c: Use WSASocketW, not WSASocketA.
3340         Fix "warning: format specifies type 'unsigned long'".
3341         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
3342         argument to match the format directive.
3344         Fix "warning: no case matching constant switch condition '0'".
3345         * tests/test-fcntl.c (check_flags): Add a 'default' case.
3347         Fix "warning: integer overflow in expression".
3348         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
3349         remove a 'long' overflow.
3351         Fix "warning: "getpagesize" redefined".
3352         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
3353         macro.
3355         Fix "warning: implicitly declaring library function 'strncasecmp'".
3356         * lib/strptime.c: Include <strings.h>.
3358         Fix "warning: 'snprintf' macro redefined".
3359         * lib/strerror_r.c (snprintf): Undefine before redefining.
3361         Fix "warning: address of array 'locale' will always evaluate to 'true'".
3362         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
3364         Fix "warning: '__stat64' macro redefined".
3365         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
3367         Fix "warning: 'format' attribute argument not supported: rpl_printf".
3368         * lib/stdio.in.h (printf): Treat clang like GCC.
3370         Fix "warning: attribute declaration must precede definition" with clang.
3371         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
3372         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
3373         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
3374         on non-glibc systems.
3375         * lib/netdb.in.h (gai_strerror): Likewise.
3376         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
3377         * lib/sys_stat.in.h (fstat): Likewise.
3378         * lib/utime.in.h (utime): Likewise.
3380         Fix undesired warnings.
3381         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
3382         clang.
3384 2020-08-16  Bruno Haible  <bruno@clisp.org>
3386         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
3387         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
3388         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
3389         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
3390         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
3392 2020-08-16  Bruno Haible  <bruno@clisp.org>
3394         Don't use Autoconf quadrigraphs.
3395         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
3396         Autoconf quadrigraph.
3397         * m4/free.m4 (gl_FUNC_FREE): Likewise.
3398         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3399         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
3400         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
3401         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3402         * m4/math_h.m4 (gl_MATH_H): Likewise.
3403         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3405 2020-08-16  Bruno Haible  <bruno@clisp.org>
3407         Fix quoting of AC_LANG_PROGRAM arguments.
3408         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
3409         arguments through [[...]].
3410         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3411         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3412         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
3413         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
3414         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
3415         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3416         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
3417         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3418         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
3419         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3420         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3421         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
3422         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3424 2020-08-16  Bruno Haible  <bruno@clisp.org>
3426         Assume autoconf >= 2.64.
3427         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
3428         * DEPENDENCIES: Require Autoconf 2.64 or newer.
3429         * NEWS: Mention the changed requirement.
3430         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
3431         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
3432         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
3433         variables.
3434         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3435         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3436         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3437         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
3438         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
3439         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
3440         Likewise.
3441         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
3442         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
3443         * m4/configmake.m4: Update comment.
3445 2020-08-16  Bruno Haible  <bruno@clisp.org>
3447         sys_ioctl: Simplify.
3448         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
3449         AC_INCLUDES_DEFAULT.
3451 2020-08-16  Bruno Haible  <bruno@clisp.org>
3453         Fix quoting of AC_LANG_SOURCE arguments.
3454         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
3455         GL_NOCRASH expansion.
3456         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
3457         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3458         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3459         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3460         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3462 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3464         nstrftime: be more predictable about errno
3465         This aligns nstrftime better with draft POSIX 202x strftime.
3466         * lib/nstrftime.c: Include errno.h.
3467         (width_add, __strftime_internal): Set errno on failure,
3468         and preserve it on success.  Check for mktime_z failure.
3469         * modules/nstrftime (Depends-on): Add errno.
3470         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
3471         * tests/test-nstrftime.c: Include intprops.h, limits.h.
3472         (errno_test): New test function.
3473         (main): Call it.
3475 2020-08-15  Bruno Haible  <bruno@clisp.org>
3477         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
3478         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
3479         from dependency analysis first.
3481 2020-08-15  Bruno Haible  <bruno@clisp.org>
3483         Determine asm output option and filename suffix for MSVC/clang.
3484         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
3485         clang-cl.
3487 2020-08-15  Bruno Haible  <bruno@clisp.org>
3489         doc: Update for MSVC/clang.
3490         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
3491         that MSVC 14 does not have.
3493 2020-08-15  Bruno Haible  <bruno@clisp.org>
3495         Revert autoupdate's revert.
3496         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
3498 2020-08-15  Bruno Haible  <bruno@clisp.org>
3500         frexpl: Fix configuration test result on MSVC.
3501         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
3502         zero.
3504 2020-08-15  Bruno Haible  <bruno@clisp.org>
3506         Support compiling without -loldnames on native Windows.
3507         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
3508         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
3509         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
3510         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
3511         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
3512         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3513         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
3514         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
3515         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
3516         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
3517         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
3518         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
3519         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
3520         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
3521         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
3522         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
3523         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
3524         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3525         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
3526         Likewise.
3527         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
3528         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3529         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
3530         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
3531         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
3532         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
3533         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
3534         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3535         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
3536         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
3537         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
3538         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
3539         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3540         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
3541         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
3542         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3543         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3544         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3545         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3546         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3547         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
3548         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3549         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
3550         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3551         * m4/utimens.m4 (gl_UTIMENS): Likewise.
3552         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3553         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
3554         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
3555         test for getcwd.
3556         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
3557         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
3558         with GL_MDA_DEFINES.
3559         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
3560         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
3561         prefixed symbol.
3562         * lib/search.in.h (lfind, lsearch): Likewise.
3563         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
3564         Likewise.
3565         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
3566         * lib/string.in.h (memccpy, strdup): Likewise.
3567         * lib/sys_stat.in.h (chmod, umask): Likewise.
3568         * lib/time.in.h (tzset): Likewise.
3569         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
3570         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
3571         read, rmdir, swab, unlink, write): Likewise.
3572         * lib/utime.in.h (utime): Likewise.
3573         * lib/wchar.in.h (wcsdup): Likewise.
3574         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
3575         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
3576         rpl_-prefixed macro.
3577         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
3578         * lib/close.c (close_nothrow): On native Windows, use _close.
3579         * lib/creat.c (orig_creat): On native Windows, use _creat.
3580         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
3581         * lib/dup2.c (dup2_nothrow): Use _dup2.
3582         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
3583         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
3584         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
3585         * lib/open.c (orig_open): On native Windows, use _open.
3586         * lib/read.c (read_nothrow): Use _read.
3587         * lib/rmdir.c: On native Windows, use _rmdir.
3588         * lib/unlink.c: On native Windows, use _unlink.
3589         * lib/write.c (write_nothrow): Use _write.
3590         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
3591         undefined symbol.
3592         * lib/sys_socket.in.h (close): Likewise.
3593         * lib/sys_time.in.h (close): Likewise.
3594         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
3596 2020-08-15  Bruno Haible  <bruno@clisp.org>
3598         Fix "unknown pragma ignored" warnings with clang on native Windows.
3599         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
3600         * lib/cbrtf.c: Likewise.
3601         * lib/ceil.c: Likewise.
3602         * lib/floor.c: Likewise.
3603         * lib/fma.c: Likewise.
3604         * lib/fmod.c: Likewise.
3605         * lib/rint.c: Likewise.
3606         * lib/round.c: Likewise.
3607         * lib/trunc.c: Likewise.
3608         * tests/test-ceil2.c: Likewise.
3609         * tests/test-ceilf2.c: Likewise.
3610         * tests/test-floor2.c: Likewise.
3611         * tests/test-floorf2.c: Likewise.
3612         * tests/test-trunc2.c: Likewise.
3613         * tests/test-truncf2.c: Likewise.
3614         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3615         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3617 2020-08-15  Bruno Haible  <bruno@clisp.org>
3619         Fix compilation errors in C++ mode with clang on native Windows.
3620         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
3621         non-glibc systems.
3622         * lib/sched.in.h (sched_yield): Likewise.
3624 2020-08-14  Bruno Haible  <bruno@clisp.org>
3626         stdnoreturn: Work around problem with MSVC/clang.
3627         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
3628         system header after <stdnoreturn.h>.
3629         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
3631 2020-08-14  Bruno Haible  <bruno@clisp.org>
3633         utime-h: Generate an utime.h file always.
3634         * modules/utime-h (Makefile.am): Generate utime.h always.
3635         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
3636         GL_GENERATE_UTIME_H.
3638 2020-08-14  Bruno Haible  <bruno@clisp.org>
3640         mktime, mktime-internal: Remove obsolete code.
3641         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
3643 2020-08-14  Bruno Haible  <bruno@clisp.org>
3645         getcwd: Remove obsolete code.
3646         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
3647         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3649 2020-08-14  Bruno Haible  <bruno@clisp.org>
3651         tzset: Assume the function exists.
3652         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
3653         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
3654         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
3655         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
3656         HAVE_TZSET.
3657         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
3658         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
3660         nstrftime: Assume tzset exists.
3661         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
3662         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
3663         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
3665         mktime, mktime-internal: Assume tzset exists.
3666         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
3667         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
3669 2020-08-14  Bruno Haible  <bruno@clisp.org>
3671         strdup: Assume the function exists.
3672         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
3673         whether strdup exists.
3674         * modules/strdup (Files): Remove lib/strdup.c.
3675         (configure.ac): Don't compile strdup.c.
3676         * modules/strdup-posix (Depends-on, configure.ac): Don't test
3677         ac_cv_func_strdup.
3678         * doc/posix-functions/strdup.texi: Update.
3679         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
3680         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
3681         (Depends-on): Remove unistr/u8-strlen.
3683 2020-08-13  Bruno Haible  <bruno@clisp.org>
3685         sys_random: Work around an uClibc bug.
3686         Reported by akater <nuclearspace@gmail.com>
3687         via Stefan Kangas <stefan@marxist.se>
3688         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
3689         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
3690         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
3691         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
3692         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
3694 2020-08-12  Bruno Haible  <bruno@clisp.org>
3696         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
3697         Reported by Florian Weimer in
3698         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
3699         * lib/gen-uni-tables.c (output_predicate): Change the element type of
3700         the level3 array to 'unsigned int'.
3701         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
3702         * lib/unictype/categ_*.h: Regenerated.
3703         * lib/unictype/ctype_*.h: Regenerated.
3704         * lib/unictype/pr_*.h: Regenerated.
3705         * lib/unictype/sy_*.h: Regenerated.
3706         * lib/unicase/cased.h: Regenerated.
3707         * lib/unicase/ignorable.h: Regenerated.
3709 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3711         stdint: port intptr_t to more-recent MinGW
3712         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
3713         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
3714         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
3715         Apparently those two macros were removed in mingwrt-3.22
3716         dated 2016-07-14.
3718 2020-08-12  Bruno Haible  <bruno@clisp.org>
3720         thread-optim: Export function-like macros only.
3721         Suggested by Paul Eggert.
3722         * lib/thread-optim.h (gl_multithreaded): New macro.
3723         (IF_MT_DECL, IF_MT): Remove macros.
3724         * doc/multithread.texi (Multithreading Optimizations): Add a small
3725         example.
3726         * lib/fatal-signal.c: Update all uses.
3727         * lib/clean-temp.c: Likewise.
3728         * lib/localename.c: Likewise.
3729         * modules/localename (Depends-on): Add stdbool.
3731 2020-08-12  Bruno Haible  <bruno@clisp.org>
3733         Revert autoupdate's revert.
3734         * config/srclist.txt: Mark regex.h as needing sync with glibc.
3736 2020-08-11  Bruno Haible  <bruno@clisp.org>
3738         thread-optim: Fix a compiler warning.
3739         * lib/thread-optim.h (IF_MT_DECL): Define differently.
3741 2020-08-11  Bruno Haible  <bruno@clisp.org>
3743         Use __restrict also on clang.
3744         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
3745         (__restrict_arr): On clang, define like on GCC.
3746         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
3747         (_Restrict_arr_): Use _Restrict_ also on clang.
3748         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
3749         (_Restrict_arr_): Use _Restrict_ also on clang.
3751 2020-08-11  Bruno Haible  <bruno@clisp.org>
3753         Use flexible array syntax also on clang.
3754         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
3755         define like for GCC 3.
3757 2020-08-11  Bruno Haible  <bruno@clisp.org>
3759         fcntl: On native Windows, use _setmode, not setmode.
3760         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
3761         * lib/binary-io.h: Update comment.
3762         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
3763         * tests/test-dup2.c: Likewise.
3764         * tests/test-dup-safer.c: Likewise.
3765         * tests/test-fcntl.c: Likewise.
3767 2020-08-11  Bruno Haible  <bruno@clisp.org>
3769         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
3770         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
3771         * lib/spawn-pipe.c (create_pipe): Likewise.
3772         * tests/test-nonblocking-pipe-main.c (main): Likewise.
3773         * tests/test-nonblocking-socket-main.c (main): Likewise.
3774         * lib/wait-process.c: Update comment.
3775         * doc/posix-functions/fork.texi: Update.
3777 2020-08-11  Bruno Haible  <bruno@clisp.org>
3779         asyncsafe-spin: Use GCC built-ins also on clang.
3780         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
3781         the newer GCC built-ins also on clang.
3783 2020-08-11  Bruno Haible  <bruno@clisp.org>
3785         Use expression statements also on clang.
3786         * lib/cdefs.h (__extension__): Don't define to empty on clang.
3787         * lib/obstack.h (__extension__): Likewise.
3788         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
3789         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
3790         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
3791         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
3792         obstack_finish, obstack_free): Enable as optimized macros also on clang.
3793         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
3795 2020-08-10  Bruno Haible  <bruno@clisp.org>
3797         Use many __attribute__s with clang.
3798         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
3799         on clang.
3800         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
3801         New macros.
3802         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
3803         on clang.
3804         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
3805         also on older clang versions.
3806         (__attribute__): Don't define to empty on clang.
3807         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
3808         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
3809         (__attribute_const__): Use __attribute__ __const__ also on clang.
3810         (__attribute_used__): Use __attribute__ __used__ also on clang.
3811         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
3812         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
3813         clang.
3814         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
3815         clang.
3816         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
3817         also on clang.
3818         (__nonnull): Use __attribute__ __nonnull__ also on clang.
3819         (__attribute_warn_unused_result__): Use __attribute__
3820         __warn_unused_result__ also on clang.
3821         (__always_inline): Use __attribute__ __always_inline__ also on clang.
3822         (__attribute_artificial__): Use __attribute__ __artificial__ also on
3823         clang >= 7.
3824         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
3825         clang versions.
3826         (_Noreturn): Don't redefine on clang >= 3.5.
3827         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
3828         also on clang.
3829         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
3830         on clang.
3831         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
3832         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
3833         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
3834         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
3835         also on clang.
3836         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
3837         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
3838         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
3839         also on clang.
3840         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
3841         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
3842         __attribute__ __noreturn__ also on clang.
3843         * lib/obstack.h (__attribute_noreturn__): Likewise.
3844         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
3845         clang.
3846         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
3847         always_inline also on clang.
3848         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
3849         clang.
3851 2020-08-10  Bruno Haible  <bruno@clisp.org>
3853         c-ldtoastr tests: Fix test failure.
3854         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
3855         is longer than 'double'.
3857 2020-08-10  Bruno Haible  <bruno@clisp.org>
3859         Revert autoupdate's revert.
3860         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
3862 2020-08-09  Bruno Haible  <bruno@clisp.org>
3864         string: Fix build error in C++ mode with clang (regression from today).
3865         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
3866         parameters, one for GCC, one for clang.
3867         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
3868         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
3869         as return type.
3871 2020-08-09  Bruno Haible  <bruno@clisp.org>
3873         ftruncate: Use _chsize, not chsize.
3874         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
3875         * lib/ftruncate.c: Test HAVE__CHSIZE.
3876         (chsize_nothrow): Use _chsize, not chsize.
3878 2020-08-09  Bruno Haible  <bruno@clisp.org>
3880         Silence warnings from clang 10 with -Wimplicit-fallthrough.
3881         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
3882         clang >= 10.
3883         * lib/fnmatch.c (FALLTHROUGH): Likewise.
3884         * lib/fts.c (FALLTHROUGH): Likewise.
3885         * tests/macros.h (FALLTHROUGH): Likewise.
3886         * lib/regex_internal.h (FALLTHROUGH): Likewise.
3887         * config/srclist.txt: Mark it as needing sync with glibc.
3889 2020-08-09  Bruno Haible  <bruno@clisp.org>
3891         stdbool tests: Enable the stricter tests also on clang.
3892         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
3893         (e): Enable the address-to-bool conversion test also on clang.
3895 2020-08-09  Bruno Haible  <bruno@clisp.org>
3897         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
3898         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
3900 2020-08-09  Bruno Haible  <bruno@clisp.org>
3902         Use attribute __aligned__ with clang.
3903         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
3904         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
3906 2020-08-09  Bruno Haible  <bruno@clisp.org>
3908         Use __alignof__ with clang.
3909         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
3910         on clang.
3911         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
3912         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
3913         clang.
3914         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
3915         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
3916         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
3917         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
3919 2020-08-09  Bruno Haible  <bruno@clisp.org>
3921         ignore-value: Simplify on clang.
3922         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
3923         workaround.
3925 2020-08-09  Bruno Haible  <bruno@clisp.org>
3927         Use __typeof__ with clang.
3928         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
3929         "clang -std=gnu99".
3930         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
3931         * tests/test-stdint.c (verify_same_types): Enable the check also on
3932         clang.
3934 2020-08-09  Bruno Haible  <bruno@clisp.org>
3936         Add ability to emit user-defined warnings and errors with clang.
3937         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
3938         _GL_ATTRIBUTE_WARNING using an attribute for clang.
3939         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
3940         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
3941         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
3942         attribute for clang.
3944 2020-08-09  Bruno Haible  <bruno@clisp.org>
3946         intprops: Fix typo in comment.
3947         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
3949 2020-08-09  Bruno Haible  <bruno@clisp.org>
3951         Use __builtin_signbit* with clang.
3952         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
3953         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
3954         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
3955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
3956         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
3957         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
3958         not REPLACE_SIGNBIT_USING_GCC.
3960 2020-08-09  Bruno Haible  <bruno@clisp.org>
3962         Use __builtin_isnan with clang.
3963         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
3964         not __builtin_isnanf. Also on clang.
3965         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
3966         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
3967         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
3968         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
3969         built-in.
3970         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
3971         not __builtin_isnanl. Also on clang.
3972         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
3973         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
3974         * lib/math.in.h (__has_builtin): Remove macro.
3975         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
3976         __builtin_isnanf. Also on clang.
3977         (isnand, gl_isnan_d): With clang, use the GCC built-in.
3978         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
3979         __builtin_isnanl. Also on clang.
3980         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
3981         on clang.
3983 2020-08-09  Bruno Haible  <bruno@clisp.org>
3985         thread-optim: Fix logic error.
3986         Reported by Paul Eggert.
3987         * lib/thread-optim.h (IF_MT): Fix logic error.
3989 2020-08-08  Bruno Haible  <bruno@clisp.org>
3991         localename: Use module 'thread-optim'.
3992         * lib/localename.c: Include thread-optim.h.
3993         (struniq): Use IF_MT macro.
3994         * modules/localename (Depends-on): Add thread-optim.
3996         clean-temp: Use module 'thread-optim'.
3997         * lib/clean-temp.c: Include thread-optim.h.
3998         (register_temporary_file, unregister_temporary_file, create_temp_dir,
3999         register_temp_file, unregister_temp_file, register_temp_subdir,
4000         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
4001         close_temp, fclose_variant_temp): Use IF_MT macro.
4002         * modules/clean-temp (Depends-on): Add thread-optim.
4004         fatal-signal: Use module 'thread-optim'.
4005         * lib/fatal-signal.c: Include thread-optim.h.
4006         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
4007         macro.
4008         * modules/fatal-signal (Depends-on): Add thread-optim.
4010 2020-08-08  Bruno Haible  <bruno@clisp.org>
4012         New module 'thread-optim'.
4013         * lib/thread-optim.h: New file.
4014         * modules/thread-optim: New file.
4015         * doc/multithread.texi (Multithreading Optimizations): New section.
4017 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
4019         doc: more updates for glibc 2.32
4020         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
4021         * doc/posix-functions/fchmodat.texi: Update.
4023 2020-08-07  Bruno Haible  <bruno@clisp.org>
4025         doc: Update for glibc 2.32.
4026         * doc/glibc-functions/__libc_single_threaded.texi: New file.
4027         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
4028         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
4029         * doc/glibc-functions/sigabbrev_np.texi: New file.
4030         * doc/glibc-functions/sigdescr_np.texi: New file.
4031         * doc/glibc-functions/strerrordesc_np.texi: New file.
4032         * doc/glibc-functions/strerrorname_np.texi: New file.
4033         * doc/gnulib.texi: Include them.
4034         (Glibc sys/single_threaded.h): New section.
4035         * doc/pastposix-functions/h_errno.texi: Update.
4036         * doc/posix-functions/*.texi: Likewise.
4037         * doc/glibc-functions/*.texi: Likewise.
4039 2020-08-07  Bruno Haible  <bruno@clisp.org>
4041         alloca: No need to compile alloca.c with clang.
4042         * lib/alloca.c: Skip all code with clang.
4044         Use __builtin_alloca with clang.
4045         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
4047 2020-08-06  Bruno Haible  <bruno@clisp.org>
4049         Use __builtin_assume with clang.
4050         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
4051         (assume): Use __builtin_assume when available.
4053 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4055         libgmp: add <gmp/gmp.h> support
4056         * m4/libgmp.m4 (gl_LIBGMP):
4057         * modules/libgmp (configure.ac, Makefile.am):
4058         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
4059         ‘#include <gmp.h>’.
4061 2020-08-06  Bruno Haible  <bruno@clisp.org>
4063         Consider that clang defines __OPTIMIZE__ like GCC does.
4064         * lib/streq.h: Define the inline functions also on clang.
4065         * lib/c-strcaseeq.h: Likewise.
4066         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
4067         the GCC workaround to clang.
4069 2020-08-06  Bruno Haible  <bruno@clisp.org>
4071         safe-alloc: Remove unused code.
4072         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
4074 2020-08-06  Bruno Haible  <bruno@clisp.org>
4076         Use __builtin_expect with clang everywhere.
4077         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
4078         also on clang.
4080 2020-08-05  Bruno Haible  <bruno@clisp.org>
4082         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
4083         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
4084         built-in also on clang.
4085         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
4086         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
4088 2020-08-05  Bruno Haible  <bruno@clisp.org>
4090         Use __builtin_clz{,l,ll} with clang, also on Windows.
4091         * lib/integer_length.c: With clang, use the GCC built-in, not
4092         <intrin.h>.
4093         * lib/integer_length_l.c: Likewise.
4094         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
4095         also on clang.
4096         * lib/vasnprintf.c (divide): Likewise.
4098 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4100         Update srclist.txt as per recent glibc changes
4101         * config/srclist.txt: Uncomment lines to reflect recent merges
4102         from Gnulib to glibc.
4104 2020-08-03  Bruno Haible  <bruno@clisp.org>
4106         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4107         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
4109 2020-08-03  Bruno Haible  <bruno@clisp.org>
4111         integer_length_ll: Optimize for MSVC in 64-bit mode.
4112         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4113         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4115 2020-08-03  Bruno Haible  <bruno@clisp.org>
4117         integer_length_ll: Optimize for MSVC in 32-bit mode.
4118         * lib/integer_length_l.c: Include <intrin.h>.
4119         (integer_length): Define as inline function, like in
4120         lib/integer_length.c.
4122 2020-08-03  Bruno Haible  <bruno@clisp.org>
4124         integer_length: Optimize for MSVC.
4125         * lib/integer_length.c: Include <intrin.h>.
4126         (integer_length): With MSVC, use the _BitScanReverse built-in.
4128 2020-08-03  Bruno Haible  <bruno@clisp.org>
4130         ffsll: Optimize for MSVC in 64-bit mode.
4131         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4132         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4133         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
4135 2020-08-03  Bruno Haible  <bruno@clisp.org>
4137         ffsll: Optimize for MSVC in 32-bit mode.
4138         * lib/ffsl.h: Include <intrin.h>.
4139         (ffs): Define as inline function, like in lib/ffs.c.
4141 2020-08-03  Bruno Haible  <bruno@clisp.org>
4143         ffs: Optimize for MSVC.
4144         * lib/ffs.c: Include <intrin.h>.
4145         (ffs): With MSVC, use the _BitScanForward built-in.
4147 2020-08-03  Bruno Haible  <bruno@clisp.org>
4149         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
4150         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
4151         variable.
4153 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
4155         fopen: Avoid undesired interactions with glibc headers.
4156         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
4157         __need_FILE, as the latter does not work with glibc.
4159 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4161         fcntl: document some F_SETLK errno variations
4162         * doc/posix-functions/fcntl.texi (fcntl): Document
4163         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
4165 2020-08-02  Bruno Haible  <bruno@clisp.org>
4167         oset: Add an 'iterator_atleast' operation.
4168         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
4169         extracted from gl_array_search_atleast.
4170         (gl_array_search_atleast): Use it.
4171         (gl_array_iterator_atleast): New function.
4172         (gl_array_oset_implementation): Use it.
4173         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
4174         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
4175         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
4176         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
4177         member.
4178         (gl_oset_iterator_atleast): New function.
4179         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
4180         (gl_OSet::iterator): Add another auxiliary constructor.
4181         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
4182         New functions.
4183         (main): Test also gl_oset_iterator_atleast.
4184         * tests/test-avltree_oset.c (is_at_least): New function.
4185         (main): Test also gl_oset_iterator_atleast.
4186         * tests/test-rbtree_oset.c (is_at_least): New function.
4187         (main): Test also gl_oset_iterator_atleast.
4188         * tests/test-oset-c++.cc (is_at_most): New function.
4189         (main): Test also gl_OSet::begin_atleast.
4191 2020-08-02  Bruno Haible  <bruno@clisp.org>
4193         oset-c++, omap-c++: Remove restriction for search_atleast method.
4194         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
4195         a different type than the element.
4196         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
4197         a different type than the key.
4199 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4201         gnumakefile: say ‘$(MAKE)’ not ‘make’
4202         * top/GNUmakefile (abort-due-to-no-makefile):
4203         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
4204         This change is backported from Autoconf.
4206 2020-08-01  Bruno Haible  <bruno@clisp.org>
4208         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4209         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
4210         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
4211         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
4212         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
4213         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
4215 2020-08-01  Bruno Haible  <bruno@clisp.org>
4217         libtextstyle-optional: Update tests.
4218         * modules/libtextstyle-optional-tests (configure.ac): Invoke
4219         gl_LIBTEXTSTYLE_OPTIONAL.
4221 2020-08-01  Bruno Haible  <bruno@clisp.org>
4223         parse-datetime: Fix wrong #line statements.
4224         * modules/parse-datetime (Makefile.am): Correct #line statements also in
4225         parse-datetime-gen.h.
4227 2020-08-01  Bruno Haible  <bruno@clisp.org>
4229         libtextstyle[-optional]: Allow requesting a minimum version.
4230         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
4231         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
4232         gl_LIBTEXTSTYLE_SEARCH): New macros.
4233         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
4234         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
4235         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
4236         * modules/libtextstyle-optional (configure.ac): Don't invoke
4237         gl_LIBTEXTSTYLE_OPTIONAL.
4238         * NEWS: Mention the changes.
4240 2020-07-31  Bruno Haible  <bruno@clisp.org>
4242         _GL_CMP: Improve documentation.
4243         Reported by Paul Eggert in
4244         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
4245         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
4246         passed.
4248 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4250         largefile: sync with Autoconf master
4251         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
4252         Avoid undefined behavior on platforms where off_t is 32 bits.
4253         See: https://bugs.debian.org/742780
4255         alloca: sync with Autoconf master
4256         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4257         Do not define if Autoconf 2.70 or later, since Autoconf master
4258         now matches us.
4260 2020-07-30  Bruno Haible  <bruno@clisp.org>
4262         unicodeio: Add comment.
4263         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
4264         different iconv behaviours.
4266 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4268         Work around some Oracle Studio attribute bugs
4269         These were discovered when building bleeding-edge Emacs with
4270         Oracle Studio.
4271         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
4272         Port to Oracle Studio 12.6, which mishandles __attribute__
4273         ((__cold__)) and __attribute__ ((__may_alias__)) even though
4274         __has_attribute says they work.
4276 2020-07-29  Bruno Haible  <bruno@clisp.org>
4278         unicodeio: Fix wrong result on musl libc.
4279         Reported by A. Wilcox <awilfox@adelielinux.org> in
4280         <https://www.openwall.com/lists/musl/2020/07/29/2>.
4281         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
4282         on musl libc.
4283         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
4284         * modules/unicodeio (Files): Add m4/musl.m4.
4286 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
4288         fsusage, regex, stat-size: remove Cray support
4289         As near as I can make out this is actually support for UNICOS/mp,
4290         last released 2005, and Cray hasn’t supported that for years.
4291         * config/srclist.txt: Comment out regex.h for now.
4292         * lib/fsusage.c (get_fs_usage):
4293         * lib/regex.h (re_comp, re_exec):
4294         * lib/stat-size.h (ST_NBLOCKSIZE):
4295         Don’t worry about _CRAY.
4297 2020-07-29  Bruno Haible  <bruno@clisp.org>
4299         parse-datetime: Fix compilation error with bison 3.7.
4300         * modules/parse-datetime (Makefile.am): Create a generated header file
4301         parse-datetime-gen.h in the source directory. Correct #include and
4302         #line statements during preprocessing.
4304 2020-07-28  Bruno Haible  <bruno@clisp.org>
4306         fopen-gnu: Create files correctly (regression from 2020-05-24).
4307         * lib/fopen.c (rpl_open): Pass a third argument to open().
4309 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4311         xalloc-die: don’t depend on xalloc
4312         This removes a circular dependency, as xalloc depends on xalloc-die.
4313         * modules/xalloc-die (Files): Add lib/xalloc.h.
4314         (Depends-on): Remove xalloc.
4315         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
4317         dfa-tests: port to MSVC
4318         Problem reported by Gisle Vanem in:
4319         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
4320         Also, remove an unnecessary dependency on getprogname.
4321         * modules/dfa-tests (Depends-on): Remove getprogname.
4322         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
4323         (exit_status): New static var.
4324         (dfawarn): Set it instead of exiting.
4325         Do not declare as _Noreturn, to pacify MSVC.
4326         (main): Return exit_status.
4328 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4330         argz: pacify MSVC
4331         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
4332         Problem reported by Gisle Vanem.
4334         libgmp: remove dependency on havelib
4335         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
4336         use the more-traditional AC_SEARCH_LIBS approach.
4337         This should work better with GNU Emacs configuration,
4338         which uses pkg-config instead of a havelib-style approach.
4339         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
4340         * modules/libgmp (Depends-on): Remove havelib.
4342         libgmp: remove HAVE_GMP, LIB_GMP
4343         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
4344         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
4346 2020-07-26  Bruno Haible  <bruno@clisp.org>
4348         inttypes: Remove support for AIX 4.
4349         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
4350         * m4/inttypes-pri.m4: Remove file.
4351         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
4352         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
4353         * modules/inttypes-incomplete (Makefile.am): Don't substitute
4354         PRI_MACROS_BROKEN.
4355         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
4357 2020-07-26  Bruno Haible  <bruno@clisp.org>
4359         gettimeofday: Remove workaround for Mac OS X 10.0.
4360         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
4361         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
4362         * lib/gettimeofday.c: Don't include localtime-buffer.h.
4363         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4364         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4365         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
4366         * modules/localtime-buffer: Remove file.
4367         * lib/localtime-buffer.h: Remove file.
4368         * lib/localtime-buffer.c: Remove file.
4369         * m4/localtime-buffer.m4: Remove file.
4370         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
4372 2020-07-26  Bruno Haible  <bruno@clisp.org>
4374         tzset: Remove workaround for Solaris 2.6.
4375         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
4376         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
4377         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
4378         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
4379         * lib/localtime-buffer.c: Likewise.
4380         * lib/localtime.c: Likewise.
4381         * lib/tzset.c: Don't include localtime-buffer.h.
4382         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
4383         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
4384         is 1.
4385         * modules/tzset (Depends-on): Remove localtime-buffer.
4387 2020-07-26  Bruno Haible  <bruno@clisp.org>
4389         expl: Simplify autoconf test.
4390         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
4391         with small values..." test into the "checking whether expl works..."
4392         test.
4394 2020-07-26  Bruno Haible  <bruno@clisp.org>
4396         alloca: Remove Cray-2 and Cray Y-MP support.
4397         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
4398         Enable also on Autoconf >= 2.69.
4399         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
4400         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
4401         i00afunc): Remove.
4403 2020-07-25  Bruno Haible  <bruno@clisp.org>
4405         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
4406         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
4408 2020-07-25  Bruno Haible  <bruno@clisp.org>
4410         sigprocmask: Small autoconf macro improvement.
4411         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
4412         user to override the value of gl_cv_func_sigprocmask.
4413         * m4/gnulib-common.m4 (gl_SILENT): New macro.
4415 2020-07-25  Bruno Haible  <bruno@clisp.org>
4417         Small autoconf macro improvements.
4418         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
4419         override the value of gl_cv_func_working_mktime.
4420         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
4421         compiler produces multi-arch binaries..." in the configure output.
4422         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
4423         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
4425 2020-07-25  Bruno Haible  <bruno@clisp.org>
4427         doc: Update for NetBSD 7.1, 8.0, 9.0.
4428         * doc/*/*.texi: Update.
4429         * m4/exp2l.m4: Update comments.
4430         * m4/expl.m4: Likewise.
4431         * m4/ilogb.m4: Likewise.
4432         * m4/ilogbf.m4: Likewise.
4433         * m4/log10l.m4: Likewise.
4434         * m4/logl.m4: Likewise.
4435         * m4/printf.m4: Likewise.
4436         * m4/rintl.m4: Likewise.
4437         * m4/wcwidth.m4: Likewise.
4439 2020-07-24  Bruno Haible  <bruno@clisp.org>
4441         doc: Update for Mac OS X 10.13.
4442         * doc/*/*.texi: Update.
4443         * m4/expm1l.m4: Update comments.
4444         * m4/getgroups.m4: Likewise.
4445         * m4/getlogin_r.m4: Likewise.
4446         * m4/linkat.m4: Likewise.
4447         * m4/printf.m4: Likewise.
4449 2020-07-24  Bruno Haible  <bruno@clisp.org>
4451         doc: Update for Cygwin 2.9.0.
4452         * doc/*/*.texi: Update.
4454 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4456         parse-datetime: modernize doc
4457         * doc/parse-datetime.texi: Use more-current examples.
4458         Don’t lead with 32-bit time_t, as it’s on its way out.
4459         Capitalize “Epoch” to be consistent with POSIX.
4461         timespec: remove dependence on ‘verify’
4462         * lib/timespec.h: Do not include verify.h; no longer needed.
4463         * modules/timespec (Depends-on): Remove ‘verify’.
4465         Optimize a few more three-valued comparisons
4466         * lib/timespec.h (timespec_cmp, timespec_sign):
4467         * lib/utimecmp.c (utimecmpat):
4468         Avoid conditional branches by using _GL_CMP.
4470         Fix _GL_CMP parenthesization typo
4471         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
4473 2020-07-24  Bruno Haible  <bruno@clisp.org>
4475         dfa: Revert breaking gawk.
4476         Reported by Arnold Robbins <arnold@skeeve.com>.
4477         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
4479 2020-07-23  Bruno Haible  <bruno@clisp.org>
4481         Optimize three-valued comparison between integers.
4482         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
4483         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
4484         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
4485         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
4486         * lib/dfa.c (compare): Likewise.
4487         * lib/fts.c (fts_compare_ino): Likewise.
4488         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
4489         * lib/mbscasecmp.c (mbscasecmp): Likewise.
4490         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
4491         * lib/memcasecmp.c (memcasecmp): Likewise.
4492         * lib/memcmp2.c (memcmp2): Likewise.
4493         * lib/savedir.c (direntry_cmp_inode): Likewise.
4494         * lib/strcasecmp.c (strcasecmp): Likewise.
4495         * lib/strncasecmp.c (strncasecmp): Likewise.
4496         * lib/unistr/u-cmp2.h (FUNC): Likewise.
4498 2020-07-23  Bruno Haible  <bruno@clisp.org>
4500         lchmod: Use /proc on Cygwin.
4501         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
4503 2020-07-23  Ken Brown  <kbrown@cornell.edu>
4505         fchmodat: Use /proc on Cygwin
4506         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
4508 2020-07-21  Bruno Haible  <bruno@clisp.org>
4510         aligned-malloc: Optionally use aligned_alloc.
4511         * lib/aligned-malloc.h: Verify the alignment.
4512         (aligned_malloc): Use aligned_alloc as an alternative.
4513         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
4514         * doc/posix-functions/aligned_alloc.texi: Mention the modules
4515         'aligned-malloc' and 'pagealign_alloc'.
4517 2020-07-21  Bruno Haible  <bruno@clisp.org>
4519         aligned-malloc: Add tests.
4520         * tests/test-aligned-malloc.c: New file.
4521         * modules/aligned-malloc-tests: New file.
4523         aligned-malloc: New module.
4524         * lib/aligned-malloc.h: New file.
4525         * m4/malloc-align.m4: New file.
4526         * modules/aligned-malloc: New file.
4527         * doc/posix-functions/posix_memalign.texi: Mention the new module.
4528         * doc/glibc-functions/memalign.texi: Likewise.
4530 2020-07-21  Bruno Haible  <bruno@clisp.org>
4532         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
4533         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
4534         sure PRIPTR_PREFIX is defined to "ll", not "l".
4536 2020-07-21  Bruno Haible  <bruno@clisp.org>
4538         printf-posix: Make an autoconf test more future-proof.
4539         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
4540         using uintptr_t.
4542 2020-07-20  Bruno Haible  <bruno@clisp.org>
4544         list, oset, omap: Relicense some of the container modules under LGPLv2+.
4545         * modules/list (License): Change to LGPLv2+.
4546         * modules/array-list (License): Likewise.
4547         * modules/carray-list (License): Likewise.
4548         * modules/linked-list (License): Likewise.
4549         * modules/avltree-list (License): Likewise.
4550         * modules/rbtree-list (License): Likewise.
4551         * modules/oset (License): Likewise.
4552         * modules/array-oset (License): Likewise.
4553         * modules/avltree-oset (License): Likewise.
4554         * modules/rbtree-oset (License): Likewise.
4555         * modules/omap (License): Likewise.
4556         * modules/array-omap (License): Likewise.
4557         * modules/avltree-omap (License): Likewise.
4558         * modules/rbtree-omap (License): Likewise.
4560 2020-07-20  Bruno Haible  <bruno@clisp.org>
4562         oset: Add an 'update' operation.
4563         * lib/gl_array_oset.c (gl_array_update): New function.
4564         (gl_array_oset_implementation): Use it.
4565         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4566         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4567         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
4568         extracted from gl_tree_nx_add_before.
4569         (gl_tree_nx_add_before): Invoke it.
4570         (gl_tree_add_node_after): New function, extracted from
4571         gl_tree_nx_add_after.
4572         (gl_tree_nx_add_after): Invoke it.
4573         (gl_tree_remove_node_no_free): New function, extracted from
4574         gl_tree_remove_node.
4575         (gl_tree_remove_node): Invoke it.
4576         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
4577         extracted from gl_tree_nx_add_before.
4578         (gl_tree_nx_add_before): Invoke it.
4579         (gl_tree_add_node_after): New function, extracted from
4580         gl_tree_nx_add_after.
4581         (gl_tree_nx_add_after): Invoke it.
4582         (gl_tree_remove_node_no_free): New function, extracted from
4583         gl_tree_remove_node.
4584         (gl_tree_remove_node): Invoke it.
4585         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
4586         from gl_tree_iterator_next.
4587         (gl_tree_iterator_next): Invoke it.
4588         (gl_tree_prev_node, gl_tree_update): New functions.
4589         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4590         (gl_avltree_oset_implementation): Use gl_tree_update.
4591         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
4592         (gl_rbtree_oset_implementation): Use gl_tree_update.
4593         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
4594         (gl_oset_update): New function.
4595         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
4596         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
4597         * modules/rbtree-oset (configure.ac): Likewise.
4598         * tests/test-oset-update.h: New file.
4599         * tests/test-array_oset.c: Include test-oset-update.h.
4600         (main): Invoke test_update.
4601         * tests/test-avltree_oset.c: Likewise.
4602         * tests/test-rbtree_oset.c: Likewise.
4603         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
4604         * modules/avltree-oset-tests (Files): Likewise.
4605         * modules/rbtree-oset-tests (Files): Likewise.
4606         * tests/test-oset-c++.cc (action): New function.
4607         (main): Test the 'update' member function.
4609 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
4611         md5, sha1, sha256, sha512: pacify Autoconf 2.70
4612         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
4613         shell if, so that the argument to AC_CHECK_HEADERS is
4614         a simple string that does not require shell evaluation.
4615         This fixes a warning generated by Autoconf 2.69b.
4617 2020-07-12  Bruno Haible  <bruno@clisp.org>
4619         libgmp: Avoid warning when --without-libgmp is used.
4620         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
4621         GCC >= 8, not for GCC >= 4.6.
4623 2020-07-12  Bruno Haible  <bruno@clisp.org>
4625         libgmp: Link to the correct shared library.
4626         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
4627         * modules/libgmp (Depends-on): Add havelib.
4628         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
4629         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
4631 2020-07-12  Bruno Haible  <bruno@clisp.org>
4633         libgmp tests: Add some safety checks.
4634         * modules/libgmp-tests (Depends-on): Add verify.
4635         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
4636         (main): Verify that gmp.h and libgmp versions match.
4638 2020-07-10  Bruno Haible  <bruno@clisp.org>
4640         unicodeio: Fix wrong result on NetBSD.
4641         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
4642         characters also on NetBSD.
4644 2020-07-09  Bruno Haible  <bruno@clisp.org>
4646         unicodeio: Fix wrong result on Solaris 11.
4647         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
4648         via Akim Demaille <akim.demaille@gmail.com> in
4649         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
4650         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
4651         characters on Solaris.
4652         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
4653         UTF-8 output or the specified fallback.
4655 2020-07-08  Bruno Haible  <bruno@clisp.org>
4657         unicodeio: Add tests.
4658         * tests/test-unicodeio.c: New file.
4659         * tests/test-unicodeio1.sh: New file.
4660         * tests/test-unicodeio2.sh: New file.
4661         * tests/test-unicodeio3.sh: New file.
4662         * modules/unicodeio-tests: New file.
4664 2020-07-08  Bruno Haible  <bruno@clisp.org>
4666         unicodeio: Document link requirements.
4667         * modules/unicodeio (Link): New section.
4669 2020-07-07  Bruno Haible  <bruno@clisp.org>
4671         doc: Remove support for some very old platforms.
4672         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
4673         * doc/posix-functions/memcpy.texi: Likewise.
4674         * doc/posix-functions/memmove.texi: Likewise.
4675         * doc/posix-functions/memset.texi: Likewise.
4676         * doc/posix-functions/getcwd.texi: Likewise.
4678         memchr: Remove support for some very old platforms.
4679         * m4/memchr-obsolete.m4: Remove file.
4680         * modules/memchr-obsolete: Remove file.
4681         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
4682         absent. Don't define HAVE_MEMCHR.
4683         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
4684         * modules/memchr (Depends-on): Remove memchr-obsolete.
4685         (configure.ac): Assume HAVE_MEMCHR is 1.
4686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
4687         HAVE_MEMCHR.
4688         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
4689         * doc/posix-functions/memchr.texi: Don't mention module
4690         'memchr-obsolete'.
4691         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
4692         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
4693         * modules/strnlen (Depends-on): Remove memchr-obsolete.
4695         dup2: Remove support for some very old platforms.
4696         * m4/dup2-obsolete.m4: Remove file.
4697         * modules/dup2-obsolete: Remove file.
4698         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
4699         Don't define HAVE_DUP2.
4700         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
4701         * lib/dup2.c: Likewise.
4702         * modules/dup2 (Depends-on, configure.ac): Likewise.
4703         (Depends-on): Remove dup2-obsolete.
4704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
4705         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
4706         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
4708 2020-07-07  Bruno Haible  <bruno@clisp.org>
4710         canonicalize: Trim module dependencies.
4711         * lib/hash-triple.h: Group declarations.
4712         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
4713         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
4714         (STREQ): Remove macro.
4715         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
4716         * modules/hash-triple-simple: New file, based on modules/hash-triple.
4717         * modules/hash-triple (Files): Remove lib/hash-triple.h.
4718         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
4719         * modules/canonicalize (Depends-on): Remove hash-triple. Add
4720         hash-triple-simple.
4721         * modules/file-set (Depends-on): Likewise.
4723 2020-07-07  Bruno Haible  <bruno@clisp.org>
4725         Clarify dependencies to double-slash-root.
4726         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
4727         (Depends-on): Add double-slash-root.
4728         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
4729         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
4731 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4733         libgmp: new module
4734         The idea is to let programs simply include <gmp.h>, and
4735         so long as they live within the mini-gmp subset they need
4736         not worry about whether the GMP libraries are installed.
4737         * MODULES.html.sh: Mention it.
4738         * config/srclist.txt: Mention files copied from GMP source.
4739         * config/srclistvars.sh (GMP): New var.
4740         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
4741         * modules/libgmp-tests, tests/test-libgmp.c: New files.
4742         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
4744 2020-07-05  Bruno Haible  <bruno@clisp.org>
4746         mkancesdirs: Trim module dependencies.
4747         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
4748         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
4750 2020-07-05  Bruno Haible  <bruno@clisp.org>
4752         getprogname: Trim module dependencies.
4753         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
4754         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
4755         basename-lgpl.
4757 2020-07-05  Bruno Haible  <bruno@clisp.org>
4759         filenamecat-lgpl: Trim module dependencies.
4760         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
4761         dirname.h.
4762         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
4763         basename-lgpl, filename.
4765 2020-07-05  Bruno Haible  <bruno@clisp.org>
4767         backupfile, backup-rename: Trim module dependencies.
4768         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
4769         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
4770         basename-lgpl.
4771         * modules/backup-rename (Depends-on): Likewise.
4773 2020-07-05  Bruno Haible  <bruno@clisp.org>
4775         argp: Trim module dependencies.
4776         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
4777         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
4779 2020-07-05  Bruno Haible  <bruno@clisp.org>
4781         basename-lgpl: New module.
4782         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
4783         lib/basename-lgpl.c.
4784         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
4785         <stdbool.h>, filename.h.
4786         (last_component): Rename a local variable.
4787         * lib/dirname.h: Include basename-lgpl.h.
4788         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
4789         (last_component, base_len): Remove declarations.
4790         * modules/basename-lgpl: New file.
4791         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
4792         (Depends-on): Add basename-lgpl. Remove double-slash-root.
4793         (Makefile.am): Don't compile basename-lgpl.c.
4794         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
4795         not 'dirname'.
4797 2020-07-05  Bruno Haible  <bruno@clisp.org>
4799         dirname, dirname-lgpl: Simplify.
4800         * m4/dirname.m4: Remove file.
4801         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
4802         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
4803         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
4805 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
4807         tests: avoid shadowing warning
4808         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
4810 2020-07-05  Bruno Haible  <bruno@clisp.org>
4812         supersede: Add tests.
4813         * tests/test-supersede.c: New file.
4814         * tests/test-supersede-open.h: New file.
4815         * tests/test-supersede-fopen.h: New file.
4816         * modules/supersede-tests: New file.
4818         supersede: New module.
4819         * lib/supersede.h: New file.
4820         * lib/supersede.c: New file.
4821         * m4/supersede.m4: New file.
4822         * modules/supersede: New file.
4824 2020-07-05  Bruno Haible  <bruno@clisp.org>
4826         Add some copyright headers.
4827         * lib/dev-ino.h: Add copyright header.
4828         * lib/di-set.h: Likewise.
4829         * lib/fchown-stub.c: Likewise.
4830         * lib/file-set.h: Likewise.
4831         * lib/hash-triple.h: Likewise.
4832         * lib/idcache.h: Likewise.
4833         * lib/ino-map.h: Likewise.
4834         * lib/mkancesdirs.h: Likewise.
4835         * lib/scratch_buffer.h: Likewise.
4836         * lib/se-context.in.h: Likewise.
4837         * lib/stdopen.h: Likewise.
4838         * lib/userspec.h: Likewise.
4840 2020-07-04  Bruno Haible  <bruno@clisp.org>
4842         getrandom: Relicense under LGPLv2+.
4843         Paul Eggert's approval is in
4844         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
4845         * modules/getrandom (License): Change to LGPLv2+.
4847 2020-07-04  Bruno Haible  <bruno@clisp.org>
4849         getumask: Add tests.
4850         * tests/test-getumask.c: New file.
4851         * modules/getumask-tests: New file.
4853         getumask: New module.
4854         * lib/sys_stat.in.h (getumask): New declaration.
4855         * lib/getumask.c: New file.
4856         * m4/getumask.m4: New file.
4857         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
4858         declared.
4859         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
4860         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
4861         HAVE_GETUMASK.
4862         * modules/getumask: New file.
4863         * tests/test-sys_stat-c++.cc (getumask): Check signature.
4864         * doc/glibc-functions/getumask.texi: New file.
4865         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
4867 2020-07-04  Bruno Haible  <bruno@clisp.org>
4869         clean-temp: Add support for temporary files with given mode.
4870         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
4871         * lib/clean-temp.c (struct try_create_file_params): New type.
4872         (try_create_file): New function.
4873         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
4874         gen_tempname.
4876 2020-07-04  Bruno Haible  <bruno@clisp.org>
4878         clean-temp: Document limitations.
4879         * lib/clean-temp.h: Document limitations.
4881 2020-07-04  Bruno Haible  <bruno@clisp.org>
4883         clean-temp: Add support for temporary files with unpredictable names.
4884         * lib/clean-temp.h (gen_register_open_temp): New declaration.
4885         * lib/clean-temp.c: Include tempname.h.
4886         (gen_register_open_temp): New function.
4887         * modules/tempname (configure.ac): Define a module indicator.
4889 2020-07-04  Bruno Haible  <bruno@clisp.org>
4891         clean-temp: Add support for temporary files anywhere in the file system.
4892         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
4893         cleanup_temporary_file): New declarations.
4894         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
4895         variables.
4896         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
4897         (dir_cleanup_list): Renamed from cleanup_list.
4898         (cleanup_action): Process the file_cleanup_list as well.
4899         (do_init_clean_temp): New function.
4900         (clean_temp_once): New variable.
4901         (init_clean_temp): New function.
4902         (create_temp_dir): Invoke it.
4903         (register_temporary_file, unregister_temporary_file,
4904         cleanup_temporary_file): New functions.
4905         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
4906         argument.
4908 2020-07-04  Bruno Haible  <bruno@clisp.org>
4910         clean-temp: Improve comments.
4911         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
4912         fwriteerror_temp, close_stream_temp): Clarify intended use.
4913         * lib/clean-temp.c: Likewise.
4915 2020-07-04  Bruno Haible  <bruno@clisp.org>
4917         clean-temp: Make multithread-safe, part 2.
4918         * lib/fatal-signal.h: Include <signal.h>.
4919         (get_fatal_signal_set): New declaration.
4920         * lib/fatal-signal.c (get_fatal_signal_set): New function.
4921         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
4922         (struct closeable_fd): New type.
4923         (fatal_signal_set): New variable.
4924         (init_fatal_signal_set): New function.
4925         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
4926         (cleanup_action): Invoke asyncsafe_close instead of close.
4927         (create_temp_dir): Invoke init_fatal_signal_set.
4928         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
4929         element.
4930         (unregister_fd): Remove function.
4931         (close_temp): Cleanup descriptors list on the fly. Invoke
4932         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
4933         (fclose_variant_temp): New function.
4934         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
4935         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
4937 2020-07-04  Bruno Haible  <bruno@clisp.org>
4939         clean-temp: Make multithread-safe, part 1.
4940         * lib/clean-temp.c: Include glthread/lock.h.
4941         (cleanup_list_lock): New variable.
4942         (register_temp_file, unregister_temp_file, register_temp_subdir,
4943         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
4944         (create_temp_dir): Likewise. Don't free the old array.
4945         (descriptors_lock): New variable.
4946         (register_fd, unregister_fd): Use it.
4947         * modules/clean-temp (Depends-on): Add lock.
4949 2020-07-04  Bruno Haible  <bruno@clisp.org>
4951         fatal-signal: Make multithread-safe.
4952         * lib/fatal-signal.c (init_fatal_signals): Add comment.
4953         (do_init_fatal_signal_set): New function, extracted from
4954         init_fatal_signal_set.
4955         (fatal_signal_set_once): New variable.
4956         (init_fatal_signal_set): Use gl_once.
4958 2020-07-03  Bruno Haible  <bruno@clisp.org>
4960         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
4961         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
4962         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
4963         <bcrypt.h>.
4965 2020-07-03  Bruno Haible  <bruno@clisp.org>
4967         dfa tests: Follow common file naming conventions.
4968         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
4969         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
4970         * tests/test-dfa-invalid-char-class.sh: Renamed from
4971         tests/dfa-invalid-char-class.sh. Update.
4972         * modules/dfa-tests (Files, Makefile.am): Update.
4974 2020-07-03  Bruno Haible  <bruno@clisp.org>
4976         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
4977         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
4978         the GCC extended asm syntax also for the Sun Studio 12 compilers.
4980 2020-07-03  Bruno Haible  <bruno@clisp.org>
4982         asyncsafe-spin: Reduce code duplication.
4983         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
4984         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
4985         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
4987 2020-07-03  Bruno Haible  <bruno@clisp.org>
4989         lchmod: Simplify after 2020-02-22 change.
4990         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
4992 2020-07-03  Bruno Haible  <bruno@clisp.org>
4994         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
4995         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
4997 2020-07-03  Bruno Haible  <bruno@clisp.org>
4999         dfa: Make sure the compiler does not barf on 'inline'.
5000         * modules/dfa (configure.ac): Require AC_C_INLINE.
5002 2020-07-03  Bruno Haible  <bruno@clisp.org>
5004         bitset: Make sure the compiler does not barf on 'inline'.
5005         * modules/bitset (configure.ac): New section.
5007 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5009         manywarnings: improve port to GCC 10.1
5010         * build-aux/gcc-warning.spec: Also list warnings that are default
5011         or are enabled by already-given flags.  This lets us speed up
5012         checking for attributes, and makes the generated compilation
5013         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
5014         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
5015         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
5016         to shell variables that may have long values.
5017         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
5018         consequences of other flags, to speed up checking and
5019         shorten commands.
5021         tests: pacify gcc -fanalyzer on zerosize_ptr
5022         * tests/test-memcasecmp.c (main):
5023         * tests/test-memchr.c (main):
5024         * tests/test-memchr2.c (main):
5025         * tests/test-memcmp.c (main):
5026         * tests/test-memmem.c (main):
5027         * tests/test-memrchr.c (main):
5028         * tests/unistr/test-chr.h (main):
5029         * tests/unistr/test-cmp.h (test_cmp):
5030         Check whether zerosize_ptr returns NULL before using it.
5031         This pacifies GCC 10.1’s new fanalyzer option, and matches
5032         other uses of zerosize_ptr.
5034 2020-07-01  Bruno Haible  <bruno@clisp.org>
5036         asyncsafe-spin: Add tests.
5037         * tests/test-asyncsafe-spin1.c: New file.
5038         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
5039         tests/test-pthread-spin.c.
5040         * modules/asyncsafe-spin-tests: New file.
5042 2020-07-01  Bruno Haible  <bruno@clisp.org>
5044         asyncsafe-spin: New module.
5045         * lib/asyncsafe-spin.h: New file.
5046         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
5047         * modules/asyncsafe-spin: New file.
5049 2020-07-01  Bruno Haible  <bruno@clisp.org>
5051         windows-spin: Fix race condition on multiprocessor systems.
5052         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
5054 2020-07-01  Bruno Haible  <bruno@clisp.org>
5056         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
5057         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5058         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
5059         an implementation based on other GCC built-ins.
5061 2020-07-01  Bruno Haible  <bruno@clisp.org>
5063         pthread-spin: Optimize fallback for GCC versions >= 4.7.
5064         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5065         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
5066         lock byte.
5068 2020-07-01  Bruno Haible  <bruno@clisp.org>
5070         pthread-spin: Add error checking.
5071         * lib/pthread-spin.c: Include <stdbool.h>.
5072         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
5073         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
5074         the unlocks.
5075         * modules/pthread-spin (Depends-on): Add stdbool.
5077 2020-07-01  Bruno Haible  <bruno@clisp.org>
5079         pthread-spin: Add tests.
5080         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
5081         * modules/pthread-spin-tests: New file.
5083 2020-07-01  Bruno Haible  <bruno@clisp.org>
5085         tests: Reduce code duplication.
5086         * tests/atomic-int-posix.h: New file, extracted from
5087         tests/test-pthread-mutex.c.
5088         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
5089         * tests/test-pthread-rwlock.c: Likewise.
5090         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
5091         * modules/pthread-rwlock-tests (Files): Likewise.
5093 2020-07-01  Bruno Haible  <bruno@clisp.org>
5095         tests: Refactor.
5096         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
5097         * tests/test-mtx.c: Include it. Remove the corresponding code.
5098         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
5100 2020-07-01  Bruno Haible  <bruno@clisp.org>
5102         tests: Refactor.
5103         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
5104         * tests/test-lock.c: Include it. Remove the corresponding code.
5105         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
5107 2020-06-29  Bruno Haible  <bruno@clisp.org>
5109         sys_socket: Don't define socklen_t if it is already defined on mingw.
5110         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
5111         <https://savannah.gnu.org/bugs/?57725>,
5112         by Rahul Das <bokul_4u@yahoo.com> in
5113         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
5114         and by Eli Zaretskii <eliz@gnu.org> in
5115         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
5116         * lib/sys_socket.in.h (socklen_t): Remove definition.
5118 2020-06-29  Bruno Haible  <bruno@clisp.org>
5120         alloca-opt: Fix warning on mingw.
5121         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
5122         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
5123         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
5124         whether alloca is defined.
5126 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5128         getrandom: do not depend on ‘open’ on mingw
5129         Similarly for at-internal, getloadavg.  These modules do not call
5130         the ‘open’ function when they are compiled on mingw.  On mingw,
5131         this avoids having to compile open.c when building Emacs, which
5132         does its own thing with ‘open’.
5133         * modules/at-internal, modules/getloadavg, modules/getrandom:
5134         (Depends-on): Don’t depend on ‘open’ on mingw.
5135         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
5136         * modules/getloadavg (Depends-on):
5137         Depend on intprops, open, stdbool, stdlib only if compiling
5138         getloadavg.c.
5140 2020-06-28  Bruno Haible  <bruno@clisp.org>
5142         doc: Add a note about sigprocmask vs. pthread_sigmask.
5143         * doc/posix-functions/sigprocmask.texi: Add note.
5145 2020-06-28  Bruno Haible  <bruno@clisp.org>
5147         getrandom: Fix compilation errors on older versions of mingw.
5148         Reported by Eli Zaretskii <eliz@gnu.org> in
5149         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
5150         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
5151         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
5152         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
5153         BCryptGenRandom ourselves.
5155 2020-06-28  Bruno Haible  <bruno@clisp.org>
5157         clean-temp: Fix wrong errno in error message.
5158         * lib/clean-temp.c (create_temp_dir): Save errno around
5159         unblock_fatal_signals call.
5161 2020-06-27  Bruno Haible  <bruno@clisp.org>
5163         fatal-signal: Make multithread-safe.
5164         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
5166 2020-06-27  Bruno Haible  <bruno@clisp.org>
5168         clean-temp: Don't force deletion of temporary files on native Windows.
5169         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
5170         argument.
5171         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
5172         * NEWS: Mention the change.
5173         * lib/javacomp.c (write_temp_file): Update.
5175 2020-06-27  Bruno Haible  <bruno@clisp.org>
5177         fatal-signal: Make multithread-safe.
5178         * lib/fatal-signal.c: Include glthread/lock.h.
5179         (at_fatal_signal_lock): New variable.
5180         (at_fatal_signal): Use it.
5181         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
5182         (block_fatal_signals, unblock_fatal_signals): Use them.
5183         * modules/fatal-signal (Depends-on): Add lock.
5185 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5187         getloadavg: don’t depend on fopen-gnu
5188         This is for Emacs, which does not need fopen-gnu for anything else,
5189         and which would need it only on a NetBSD platform where getloadavg
5190         does not work (does that even happen?).
5191         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
5192         * modules/getloadavg (Depends-on): Remove fopen-gnu.
5194         * tests/test-getloadavg.c (main): Fix typo.
5196 2020-06-27  Bruno Haible  <bruno@clisp.org>
5198         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
5199         * modules/tempname (Link): New section.
5200         * modules/mkdtemp (Link): Likewise.
5201         * modules/clean-temp (Link): Likewise.
5202         * modules/mkstemp (Link): Likewise.
5203         * modules/stdlib-safer (Link): Likewise.
5204         * modules/mkstemps (Link): Likewise.
5205         * modules/mkostemp (Link): Likewise.
5206         * modules/mkostemps (Link): Likewise.
5207         * modules/tmpfile (Link): Likewise.
5208         * modules/tmpfile-safer (Link): Likewise.
5209         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
5210         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
5211         $(LIB_GETRANDOM).
5212         * NEWS: Mention the changes.
5214 2020-06-27  Bruno Haible  <bruno@clisp.org>
5216         fopen-gnu: Simplify code.
5217         * lib/fopen.c: Include <stdbool.h>.
5218         (rpl_fopen): Use a single variable open_flags instead of
5219         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
5220         * modules/fopen (Depends-on): Add stdbool.
5222 2020-06-26  Bruno Haible  <bruno@clisp.org>
5224         canonicalize: Improve documentation.
5225         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
5226         return convention.
5228 2020-06-26  Bruno Haible  <bruno@clisp.org>
5230         xgetcwd: Improve documentation.
5231         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
5233 2020-06-26  Bruno Haible  <bruno@clisp.org>
5235         getcwd: Improve documentation.
5236         * lib/getcwd.c (__getcwd): Document the failure return convention.
5238 2020-06-26  Bruno Haible  <bruno@clisp.org>
5240         fchdir: Improve documentation.
5241         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
5242         convention.
5244 2020-06-26  Bruno Haible  <bruno@clisp.org>
5246         filenamecat-lgpl: Set errno upon failure.
5247         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
5248         return convention.
5249         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
5251 2020-06-26  Bruno Haible  <bruno@clisp.org>
5253         areadlink-with-size: Set errno upon failure.
5254         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
5255         fails.
5256         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
5258 2020-06-26  Bruno Haible  <bruno@clisp.org>
5260         copy-file: Shrink dependencies.
5261         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
5262         qcopy-acl.
5264 2020-06-26  Bruno Haible  <bruno@clisp.org>
5266         doc: Mention declaration fixes implemented by some modules.
5267         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
5268         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
5269         declaration appear in <unistd.h>.
5270         * doc/posix-functions/dup.texi: Likewise.
5271         * doc/posix-functions/dup2.texi: Likewise.
5272         * doc/posix-functions/gethostname.texi: Likewise.
5273         * doc/posix-functions/isatty.texi: Likewise.
5274         * doc/posix-functions/lseek.texi: Likewise.
5275         * doc/posix-functions/unlink.texi: Likewise.
5276         * doc/posix-functions/read.texi: Mention the module 'read'.
5277         * doc/posix-functions/write.texi: Mention the effects of the module
5278         'write'.
5280 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5282         c-dtoastr, c-ldtoastr: new modules
5283         These modules provide the same functionality as the modules
5284         dtoastr and ldtoastr except for the formatting taking place in the
5285         C locale.
5286         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
5287         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
5288         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
5289         defined.  Use c_snprintf and c_strtod/c_strtold instead of
5290         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
5291         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
5292         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
5293         modules/c-ldtoastr-tests: New files.
5294         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
5295         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
5297 2020-06-21  Bruno Haible  <bruno@clisp.org>
5299         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
5300         * lib/tzset.c: Include <stdlib.h>, <string.h>.
5302 2020-06-16  Bruno Haible  <bruno@clisp.org>
5304         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
5305         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
5307 2020-06-16  Bruno Haible  <bruno@clisp.org>
5309         thread, thrd: Avoid a compiler warning.
5310         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
5312 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
5314         windows-thread: Avoid a compiler warning.
5315         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
5316         void.
5317         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
5319 2020-06-15  Bruno Haible  <bruno@clisp.org>
5321         unictype/joininggroup-name: Fix warning on 64-bit mingw.
5322         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
5323         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
5324         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
5325         first.
5327 2020-06-06  Bruno Haible  <bruno@clisp.org>
5329         calloc-gnu tests: Avoid a test failure with clang.
5330         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
5331         'volatile', to defeat compiler optimizations.
5333 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5335         getloadavg: fix double-increment bug
5336         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
5337         Linux without glibc, Android, Cygwin.  This fixes a bug I
5338         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
5339         Problem and fix reported by Semen Verchenko in:
5340         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
5342         tempname: use getrandom, not getentropy
5343         This removes a dependency, as getentropy depends on getrandom.
5344         * lib/tempname.c: Include sys/random.h instead of unistd.h.
5345         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
5346         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
5348 2020-06-01  Bruno Haible  <bruno@clisp.org>
5350         doc: New chapter 'Multithreading'.
5351         * doc/multithread.texi: New file.
5352         * doc/gnulib.texi: Include it.
5354 2020-06-01  Bruno Haible  <bruno@clisp.org>
5356         doc: Move 'Running self-tests under valgrind' section.
5357         * doc/gnulib.texi (Build Infrastructure Modules): Include
5358         valgrind-tests.texi here...
5359         (Miscellaneous Notes): ... not here.
5361 2020-06-01  Bruno Haible  <bruno@clisp.org>
5363         doc: Move 'Visual Studio Compatibility' section.
5364         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
5365         here...
5366         (Build Infrastructure Modules): ... not here.
5368 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5370         doc: improve randomness discussion
5371         Inspired by comments from Jeffrey Walton in:
5372         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
5373         * doc/glibc-functions/getentropy.texi (getentropy):
5374         * doc/glibc-functions/getrandom.texi (getrandom):
5375         Improve discussion of problems with "random" data,
5376         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
5378 2020-06-01  Bruno Haible  <bruno@clisp.org>
5380         doc: Fix Texinfo syntax error.
5381         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
5383 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
5385         doc: Change '.' to '@.' where appropriate.
5386         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
5387         * doc/glibc-functions/fstatfs.texi: Likewise.
5388         * doc/glibc-functions/fts_children.texi: Likewise.
5389         * doc/glibc-functions/fts_read.texi: Likewise.
5390         * doc/glibc-functions/getdirentries.texi: Likewise.
5391         * doc/glibc-functions/mkostemp.texi: Likewise.
5392         * doc/glibc-functions/mkostemps.texi: Likewise.
5393         * doc/glibc-functions/mkstemps.texi: Likewise.
5394         * doc/glibc-functions/preadv.texi: Likewise.
5395         * doc/glibc-functions/pwritev.texi: Likewise.
5396         * doc/glibc-functions/sendfile.texi: Likewise.
5397         * doc/glibc-functions/statfs.texi: Likewise.
5398         * doc/gnulib-intro.texi: Likewise.
5399         * doc/gnulib-tool.texi: Likewise.
5400         * doc/intprops.texi: Likewise.
5401         * doc/lib-symbol-visibility.texi: Likewise.
5402         * doc/licenses-texi.texi: Likewise.
5403         * doc/pastposix-functions/bcmp.texi: Likewise.
5404         * doc/pastposix-functions/bcopy.texi: Likewise.
5405         * doc/pastposix-functions/bzero.texi: Likewise.
5406         * doc/pastposix-functions/ecvt.texi: Likewise.
5407         * doc/pastposix-functions/fcvt.texi: Likewise.
5408         * doc/pastposix-functions/ftime.texi: Likewise.
5409         * doc/pastposix-functions/gcvt.texi: Likewise.
5410         * doc/pastposix-functions/getwd.texi: Likewise.
5411         * doc/pastposix-functions/index.texi: Likewise.
5412         * doc/pastposix-functions/mktemp.texi: Likewise.
5413         * doc/pastposix-functions/rindex.texi: Likewise.
5414         * doc/pastposix-functions/wcswcs.texi: Likewise.
5415         * doc/posix-functions/aio_cancel.texi: Likewise.
5416         * doc/posix-functions/aio_error.texi: Likewise.
5417         * doc/posix-functions/aio_fsync.texi: Likewise.
5418         * doc/posix-functions/aio_read.texi: Likewise.
5419         * doc/posix-functions/aio_return.texi: Likewise.
5420         * doc/posix-functions/aio_suspend.texi: Likewise.
5421         * doc/posix-functions/aio_write.texi: Likewise.
5422         * doc/posix-functions/creat.texi: Likewise.
5423         * doc/posix-functions/ctime.texi: Likewise.
5424         * doc/posix-functions/daylight.texi: Likewise.
5425         * doc/posix-functions/fgetpos.texi: Likewise.
5426         * doc/posix-functions/fopen.texi: Likewise.
5427         * doc/posix-functions/freopen.texi: Likewise.
5428         * doc/posix-functions/fseeko.texi: Likewise.
5429         * doc/posix-functions/fsetpos.texi: Likewise.
5430         * doc/posix-functions/fstatat.texi: Likewise.
5431         * doc/posix-functions/fstatvfs.texi: Likewise.
5432         * doc/posix-functions/ftello.texi: Likewise.
5433         * doc/posix-functions/ftruncate.texi: Likewise.
5434         * doc/posix-functions/getrlimit.texi: Likewise.
5435         * doc/posix-functions/lio_listio.texi: Likewise.
5436         * doc/posix-functions/localtime.texi: Likewise.
5437         * doc/posix-functions/lseek.texi: Likewise.
5438         * doc/posix-functions/mkstemp.texi: Likewise.
5439         * doc/posix-functions/mktime.texi: Likewise.
5440         * doc/posix-functions/open.texi: Likewise.
5441         * doc/posix-functions/openat.texi: Likewise.
5442         * doc/posix-functions/opendir.texi: Likewise.
5443         * doc/posix-functions/pread.texi: Likewise.
5444         * doc/posix-functions/pwrite.texi: Likewise.
5445         * doc/posix-functions/readdir.texi: Likewise.
5446         * doc/posix-functions/readdir_r.texi: Likewise.
5447         * doc/posix-functions/scandir.texi: Likewise.
5448         * doc/posix-functions/seekdir.texi: Likewise.
5449         * doc/posix-functions/setrlimit.texi: Likewise.
5450         * doc/posix-functions/statvfs.texi: Likewise.
5451         * doc/posix-functions/strftime.texi: Likewise.
5452         * doc/posix-functions/telldir.texi: Likewise.
5453         * doc/posix-functions/timezone.texi: Likewise.
5454         * doc/posix-functions/tmpfile.texi: Likewise.
5455         * doc/posix-functions/truncate.texi: Likewise.
5456         * doc/posix-functions/tzname.texi: Likewise.
5457         * doc/posix-functions/wcsftime.texi: Likewise.
5458         * doc/windows-sockets.texi: Likewise.
5460 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5462         getrandom-tests: do not assume GRND_RANDOM yields short read
5463         * tests/test-getrandom.c (main): Omit assertion that
5464         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
5465         when b’s size is 100000.  This assertion fails with Linux kernel
5466         5.6.13, as that kernel ignores the GRND_RANDOM flag.
5467         The separate blocking pool is going away in the Linux kernel, and
5468         they’ve added a flag GRND_INSECURE instead; see:
5469         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
5470         The assertion was iffy anyway; what’s to prevent a kernel from
5471         lazily filling a large buffer with random bytes?
5473         read-file-test: pacify --enable-gcc-warnings
5474         * tests/test-read-file.c (test_read_file): Now static.
5476         tempname: merge from glibc and coreutils
5477         Also, merge in Gnulib’s more-recent methods of making it easier
5478         to share between Gnulib and glibc, and fix a few randomness
5479         glitches.
5480         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
5481         (__set_errno): Remove; libc-config.h does that for us.
5482         Do not include <sys/time.h>.
5483         (__secure_getenv) [_LIBC]: New macro.
5484         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
5485         (RANDOM_BITS): Rewrite.
5486         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
5487         (random_value): New typedef.
5488         (try_file, try_dir, try_nocreate): Move up.
5489         (gen_tempname_len, try_tempname_len): New functions.
5490         (gen_tempname_len): Use a constant array rather than a switch.
5491         (try_tempname_len): Don’t assume string length fits in int.
5492         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
5493         has enough entropy (it’s a bit short).
5494         (__gen_tempname): Rewrite in terms of gen_tempname_len.
5495         (__try_tempname): Rewrite in terms of try_tempname_len.
5496         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
5497         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
5498         Add getentropy, libc-config.
5500 2020-05-31  Bruno Haible  <bruno@clisp.org>
5502         getrandom, getentropy: Mention the crypto/gc-random module.
5503         Suggested by Simon Josefsson in
5504         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
5505         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
5506         crypto/gc-random module.
5507         * doc/glibc-functions/getentropy.texi: Likewise.
5509 2020-05-31  Bruno Haible  <bruno@clisp.org>
5511         getentropy: Enhance tests.
5512         * tests/test-getentropy.c (main): Add one more test.
5513         * tests/test-unistd-c++.cc: Check the signature of getentropy.
5515 2020-05-31  Bruno Haible  <bruno@clisp.org>
5517         getentropy: Work around a macOS and Solaris problem.
5518         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
5519         'getentropy' module.
5520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5521         UNISTD_H_HAVE_SYS_RANDOM_H.
5522         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
5523         UNISTD_H_HAVE_SYS_RANDOM_H.
5524         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
5525         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
5526         problem. List more platforms.
5528 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5530         fnmatch: merge from glibc
5531         Also, merge in Gnulib’s more-recent methods of making it easier
5532         to share between Gnulib and glibc.
5533         * lib/fnmatch.c: Reorder includes to match glibc better.
5534         Include libc-config.h instead of config.h.
5535         Include alloca.h only if _LIBC || HAVE_ALLOCA.
5536         Do not include "../locale/elem-hash.h" if _LIBC.
5537         Define macros for btowc, etc. if _LIBC.  All uses simplified.
5538         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
5539         Include intprops.h, since glibc has it now.
5540         (SIZE_MAX): Remove; use (size_t) -1 instead.
5541         Omit the "Comment out all this code" ifdef, since Gnulib
5542         has never really needed it.
5543         (STREQ): Remove; no longer used.
5544         (__libc_use_alloca, alloca, alloca_account): Define as
5545         needed if !_LIBC.
5546         (ISWCTYPE): Remove; all uses replaced by iswctype.
5547         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
5548         (internal_function): Remove.  All uses removed.
5549         (STRUCT): New macro.
5550         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
5551         (WMEMCMP): New macro.
5552         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
5553         and <locale/weightwc.h>.
5554         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
5555         __builtin_expect.  Check for integer overflow more
5556         systematically.  Account for alloca storage better when
5557         recursive.  Use strnlen instead of strlen for efficiency.
5558         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
5559         (struct STRUCT): New type.
5560         (FCT, EXT): New ENDS and ALLOCA_USED args.
5561         All callers changed.
5562         (FCT): Prefer __glibc_unlikely to __builtin_expect.
5563         Simplify by assuming WIDE_CHAR_SUPPORT.
5564         Copy _LIBC code from glibc without worrying Gnulib compatibility.
5565         Cast cold to UCHAR to avoid signedness warning.
5566         (END): Check for invalid pattern.
5567         (EXT): Improve alloca/malloc checking (taken from glibc),
5568         and improve it some more by using intprops.h and checking
5569         for integer overflow and using bool for booleans.
5570         * lib/libc-config.h (compat_symbol): New macro.
5571         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
5572         acceptable to non-GCC when a trailing semicolon is added.
5573         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
5574         libc-config, strnlen.  Remove alloca.
5576 2020-05-31  Bruno Haible  <bruno@clisp.org>
5578         getrandom: Doc and test tweaks.
5579         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
5580         it sets errno when failing.
5581         * tests/test-getrandom.c (main): Disable the high-quality check on those
5582         platforms on which it fails.
5583         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
5584         Cygwin to the list of platforms that don't have the function. Add a note
5585         about the quality of the result.
5586         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
5587         declaration; this is fixed by module 'getrandom'.
5589 2020-05-31  Bruno Haible  <bruno@clisp.org>
5591         getrandom: Add support for native Windows.
5592         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
5593         <wincrypt.h>.
5594         (CRYPT_VERIFY_CONTEXT): New macro.
5595         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
5596         'A'.
5597         (GetProcAddress): New macro.
5598         (BCryptGenRandomFuncType): New type.
5599         (BCryptGenRandomFunc, initialized): New variables.
5600         (initialize): New function.
5601         (getrandom): On native Windows, use <bcrypt.h> API when available, and
5602         <wincrypt.h> API as fallback.
5603         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
5604         * modules/getrandom (Link): New section.
5605         * modules/getentropy (Link): Likewise.
5606         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
5607         $(LIB_GETRANDOM).
5608         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
5609         $(LIB_GETRANDOM).
5610         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
5611         against $(LIB_GETRANDOM).
5612         * doc/glibc-functions/getrandom.texi: Mention the native Windows
5613         support.
5615 2020-05-31  Bruno Haible  <bruno@clisp.org>
5617         getrandom: Simplify the determination of the random number devices.
5618         Suggested by Paul Eggert in
5619         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
5620         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
5621         macros.
5622         * modules/getrandom (Depends-on): Remove crypto/gc-random.
5624 2020-05-31  Bruno Haible  <bruno@clisp.org>
5626         crypto/gc-random: Fix list of crypto devices for Solaris.
5627         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
5629 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
5631         list: fix GCC warnings
5632         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
5633         (gl_tree_next_node, gl_tree_node_nx_set_value)
5634         (gl_tree_previous_node, gl_tree_next_node):
5635         Mark unused arguments.
5636         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
5637         * lib/gl_anylinked_list2.h (gl_linked_node_value)
5638         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
5640         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
5641         the same variable name in nested scopes.
5643 2020-05-31  Bruno Haible  <bruno@clisp.org>
5645         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
5646         Reported by Akim Demaille in
5647         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
5648         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
5649         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
5650         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
5651         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
5652         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
5654 2020-05-30  Bruno Haible  <bruno@clisp.org>
5656         wmemchr: Relicense under LGPLv2+.
5657         * modules/wmemchr (License): Set to LGPLv2+.
5659 2020-05-30  Bruno Haible  <bruno@clisp.org>
5661         wmempcpy: New module.
5662         Reported by Paul Eggert in
5663         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
5664         * lib/wchar.in.h (wmempcpy): New declaration.
5665         * lib/wmempcpy.c: New file.
5666         * m4/wmempcpy.m4: New file.
5667         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
5668         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
5669         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
5670         HAVE_WMEMPCPY.
5671         * modules/wmempcpy: New file.
5672         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
5673         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
5674         * modules/mempcpy (Description): Fix typo.
5676 2020-05-30  Bruno Haible  <bruno@clisp.org>
5678         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
5679         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
5681 2020-05-30  Bruno Haible  <bruno@clisp.org>
5683         sys_random: Work around macOS bug.
5684         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
5685         <stdlib.h> before <sys/random.h>.
5686         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
5687         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
5688         first.
5689         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
5691 2020-05-30  Bruno Haible  <bruno@clisp.org>
5693         getrandom: Override incompatible system function on Solaris 11.
5694         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
5695         * lib/getrandom.c (getrandom): When the system has getrandom, just
5696         invoke it.
5697         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
5698         system's getrandom function's prototype is not the expected one.
5699         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
5700         REPLACE_GETRANDOM.
5701         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
5702         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
5703         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
5704         EAGAIN.
5705         * doc/glibc-functions/getrandom.texi: Mention the new module and the
5706         Solaris problem.
5708 2020-05-30  Bruno Haible  <bruno@clisp.org>
5710         sys_random: Add C++ tests.
5711         * tests/test-sys_random-c++.cc: New file.
5712         * modules/sys_random-c++-tests: New file.
5713         * modules/sys_random-tests (Depends-on): Depend on it.
5715         sys_random: Add tests.
5716         * tests/test-sys_random.c: New file.
5717         * modules/sys_random-tests: New file.
5719         sys_random: New module.
5720         * lib/sys_random.in.h: Use the common idioms for overridable header
5721         files.
5722         * m4/sys_random_h.m4: New file.
5723         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
5724         * modules/sys_random: New file.
5725         * modules/getrandom (Files): Remove lib/sys_random.in.h.
5726         (Depends-on): Add sys_random.
5727         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
5728         gl_UNISTD_MODULE_INDICATOR.
5729         (Makefile.am): Don't generate sys/random.h here.
5730         * doc/glibc-headers/sys_random.texi: New file.
5731         * doc/gnulib.texi: Include it.
5733 2020-05-30  Bruno Haible  <bruno@clisp.org>
5735         unistd: Remove conflicting declaration of getrandom().
5736         * lib/unistd.in.h (getrandom): Remove declaration.
5737         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
5738         declared.
5739         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
5740         HAVE_GETRANDOM.
5741         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
5742         HAVE_GETRANDOM.
5744 2020-05-30  Bruno Haible  <bruno@clisp.org>
5746         getrandom: Add tests.
5747         * tests/test-getrandom.c: New file.
5748         * modules/getrandom-tests: New file.
5750 2020-05-30  Bruno Haible  <bruno@clisp.org>
5752         crypto/gc-random: Fix link error on MSVC.
5753         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
5754         * modules/crypto/gc-random (Link): New section.
5755         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
5756         $(LIB_GC_RANDOM).
5758 2020-05-30  Bruno Haible  <bruno@clisp.org>
5760         Don't assume that UNICODE is not defined.
5761         Many Windows API functions are defined differently (redirecting to a
5762         function with suffix 'W') if the application defines the macro UNICODE
5763         than by default (redirecting to a function with suffix 'A').
5764         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
5765         variant with suffix 'A'.
5766         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
5767         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
5768         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
5769         * lib/getlogin.c (GetUserName): Likewise.
5770         * lib/getlogin_r.c (GetUserName): Likewise.
5771         * lib/gettimeofday.c (LoadLibrary): Likewise.
5772         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
5773         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
5774         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
5775         * lib/mountlist.c (GetDriveType): Likewise.
5776         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
5777         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
5778         Likewise.
5779         * lib/physmem.c (GetModuleHandle): Likewise.
5780         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
5781         PeekMessage, DispatchMessage): Likewise.
5782         * lib/progreloc.c (GetModuleFileName): Likewise.
5783         * lib/putenv.c (SetEnvironmentVariable): Likewise.
5784         * lib/read.c (GetNamedPipeHandleState): Likewise.
5785         * lib/readdir.c (FindNextFile): Likewise.
5786         * lib/relocatable.c (GetModuleFileName): Likewise.
5787         * lib/rename.c (MoveFileEx): Likewise.
5788         * lib/rewinddir.c (FindFirstFile): Likewise.
5789         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
5790         PeekMessage, DispatchMessage): Likewise.
5791         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
5792         * lib/socket.c (WSASocket): Likewise.
5793         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
5794         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
5795         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
5796         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
5797         * lib/tmpdir.c (GetTempPath): Likewise.
5798         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
5799         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
5800         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
5801         * lib/windows-cond.c (CreateEvent): Likewise.
5802         * lib/windows-rwlock.c (CreateEvent): Likewise.
5803         * lib/windows-timedmutex.c (CreateEvent): Likewise.
5804         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
5805         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
5806         * lib/write.c (GetNamedPipeHandleState): Likewise.
5808 2020-05-30  Bruno Haible  <bruno@clisp.org>
5810         physmem: Fix compilation errors on MSVC.
5811         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
5812         * modules/physmem (Depends-on): Add unistd.
5814 2020-05-29  Bruno Haible  <bruno@clisp.org>
5816         gnulib-tool: Fix link errors with a particular set of modules on mingw.
5817         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
5818         LDADD a second time, after the second occurrence of libtests.a.
5819         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
5821 2020-05-29  Bruno Haible  <bruno@clisp.org>
5823         fnmatch: Rely on more gnulib modules.
5824         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
5825         wmempcpy, mempcpy.
5826         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
5827         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
5828         HAVE_MEMPCPY are all 1.
5829         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
5830         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
5832 2020-05-29  Bruno Haible  <bruno@clisp.org>
5834         Avoid dynamic lookup of Windows API functions when possible.
5835         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
5836         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
5837         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
5838         (use_win32_p): Define differently.
5839         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
5840         CreateHardLinkFunc, initialized, initialize): Don't define in a build
5841         for Windows XP or higher.
5843 2020-05-29  Daiki Ueno  <ueno@gnu.org>
5845         read-file: disable buffering if RF_SENSITIVE is set
5846         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
5847         Suggested by Glenn Strauss.
5848         (fread_file): Suggest calling setvbuf before calling this
5849         function.  Suggested by Bruno Haible.
5851 2020-05-29  Bruno Haible  <bruno@clisp.org>
5853         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
5854         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
5855         program.
5856         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
5857         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
5858         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
5859         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
5861 2020-05-29  Bruno Haible  <bruno@clisp.org>
5863         Fix compilation error on native Windows (regression from 2020-05-28).
5864         Reported by Daiki Ueno.
5865         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
5866         macro when not using dynamic loading.
5867         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
5868         QueryFullProcessImageNameFunc): Likewise.
5869         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
5870         GetFinalPathNameByHandleFunc): Likewise.
5872 2020-05-29  Daiki Ueno  <ueno@gnu.org>
5874         fopen-gnu-tests: fix "\x" escape usage
5875         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
5877 2020-05-28  Bruno Haible  <bruno@clisp.org>
5879         Avoid dynamic loading of Windows API functions when possible.
5880         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
5881         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
5882         * lib/gettimeofday.c (GetProcAddress,
5883         GetSystemTimePreciseAsFileTimeFuncType,
5884         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
5885         define in a build for Windows 8 or higher.
5886         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
5887         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
5888         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
5889         in a build for Windows Vista or higher.
5890         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
5891         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
5892         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
5894 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
5896         explicit_bzero-tests: improve -Wmissing-declarations pacification
5897         * tests/test-explicit_bzero.c: Now noinline.
5898         Suggested by Bruno Haible in:
5899         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
5901 2020-05-28  Bruno Haible  <bruno@clisp.org>
5903         Fix build errors due to read-file changes (regression from 2020-05-27).
5904         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
5905         invocation.
5906         * tests/test-sameacls.c (main): Likewise.
5907         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
5908         read_binary_file.
5909         * tests/test-pipe-filter-ii1.c (main): Likewise.
5911 2020-05-28  Bruno Haible  <bruno@clisp.org>
5913         fts: Make more robust in multithreaded applications.
5914         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
5915         * modules/fts (Depends-on): Add 'open'.
5917 2020-05-28  Bruno Haible  <bruno@clisp.org>
5919         relocatable-prog: Make more robust in multithreaded applications.
5920         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
5921         relocatable-prog-wrapper.
5922         (find_executable): Pass an O_CLOEXEC flag to open().
5923         * modules/relocatable-prog (Depends-on): Add 'open'.
5925 2020-05-28  Bruno Haible  <bruno@clisp.org>
5927         getloadavg: Make more robust in multithreaded applications.
5928         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
5929         Simplify use of O_CLOEXEC.
5930         * modules/getloadavg (Depends-on): Add 'open'.
5932 2020-05-28  Bruno Haible  <bruno@clisp.org>
5934         vma-iter: Make more robust in multithreaded applications.
5935         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
5936         open().
5937         * modules/vma-iter (Depends-on): Add 'open'.
5939 2020-05-28  Bruno Haible  <bruno@clisp.org>
5941         truncate: Make more robust in multithreaded applications.
5942         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
5944 2020-05-28  Bruno Haible  <bruno@clisp.org>
5946         pagealign_alloc: Make more robust in multithreaded applications.
5947         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
5948         open().
5949         * modules/pagealign_alloc (Depends-on): Add 'open'.
5951 2020-05-28  Bruno Haible  <bruno@clisp.org>
5953         openat: Make more robust in multithreaded applications.
5954         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
5956 2020-05-28  Bruno Haible  <bruno@clisp.org>
5958         at-internal: Make more robust in multithreaded applications.
5959         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
5960         open().
5962 2020-05-28  Bruno Haible  <bruno@clisp.org>
5964         mountlist: Make more robust in multithreaded applications.
5965         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
5966         open().
5967         * modules/mountlist (Depends-on): Add 'open'.
5969 2020-05-28  Bruno Haible  <bruno@clisp.org>
5971         login_tty: Make more robust in multithreaded applications.
5972         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
5973         * modules/login_tty (Depends-on): Add 'open'.
5975 2020-05-28  Bruno Haible  <bruno@clisp.org>
5977         javacomp: Make more robust in multithreaded applications.
5978         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
5979         open().
5980         * modules/javacomp (Depends-on): Add 'open'.
5982 2020-05-28  Bruno Haible  <bruno@clisp.org>
5984         getprogname: Make more robust in multithreaded applications.
5985         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
5986         * modules/getprogname (Depends-on): Add 'open'.
5988 2020-05-28  Bruno Haible  <bruno@clisp.org>
5990         get_progname_of: Make more robust in multithreaded applications.
5991         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
5992         open().
5993         * modules/get_progname_of (Depends-on): Add 'open'.
5995 2020-05-28  Bruno Haible  <bruno@clisp.org>
5997         get_ppid_of: Make more robust in multithreaded applications.
5998         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
5999         * modules/get_ppid_of (Depends-on): Add 'open'.
6001 2020-05-28  Bruno Haible  <bruno@clisp.org>
6003         get-rusage-as: Make more robust in multithreaded applications.
6004         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
6005         flag to open().
6006         * modules/get-rusage-as (Depends-on): Add 'open'.
6008 2020-05-28  Bruno Haible  <bruno@clisp.org>
6010         crypto/gc: Make more robust in multithreaded applications.
6011         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
6012         * modules/crypto/gc (Depends-on): Add 'open'.
6014 2020-05-28  Bruno Haible  <bruno@clisp.org>
6016         copy-file: Make more robust in multithreaded applications.
6017         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
6018         open().
6020 2020-05-28  Bruno Haible  <bruno@clisp.org>
6022         chown: Make more robust in multithreaded applications.
6023         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
6025 2020-05-28  Bruno Haible  <bruno@clisp.org>
6027         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
6028         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
6030 2020-05-28  Daiki Ueno  <ueno@gnu.org>
6032         fopen-gnu: make 'b' flag can be used with 'e' on Windows
6033         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
6034         specified on Windows.
6035         * tests/test-fopen-gnu.c (DATA): New define.
6036         (main): Add test for reading binary files with an 'e' flag.
6038 2020-05-27  Bruno Haible  <bruno@clisp.org>
6040         Don't assume that UNICODE is not defined.
6041         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
6042         differently if the application defines the macro UNICODE.
6043         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6044         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
6045         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
6046         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
6047         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
6049 2020-05-27  Bruno Haible  <bruno@clisp.org>
6051         Improve pattern for defining _WIN32_WINNT.
6052         Newer versions of the Windows API may not only add, but also remove API
6053         functions. Therefore, when the user is e.g. building for Windows 10, we
6054         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
6055         use of APIs that were present in Windows 8 but removed in Windows 10.
6056         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
6057         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
6058         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
6059         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6060         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
6062 2020-05-27  Bruno Haible  <bruno@clisp.org>
6064         javacomp: Make more robust in multithreaded applications.
6065         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
6066         * modules/javacomp (Depends-on): Add fopen-gnu.
6068 2020-05-27  Bruno Haible  <bruno@clisp.org>
6070         mountlist: Make more robust in multithreaded applications.
6071         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
6072         to fopen.
6073         * modules/mountlist (Depends-on): Add fopen-gnu.
6075 2020-05-27  Bruno Haible  <bruno@clisp.org>
6077         sethostname: Make more robust in multithreaded applications.
6078         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
6079         * modules/sethostname (Depends-on): Add fopen-gnu.
6081 2020-05-27  Bruno Haible  <bruno@clisp.org>
6083         readutmp: Make more robust in multithreaded applications.
6084         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
6085         * modules/readutmp (Depends-on): Add fopen-gnu.
6087 2020-05-27  Bruno Haible  <bruno@clisp.org>
6089         getpass: Make more robust in multithreaded applications.
6090         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
6091         * modules/getpass (Depends-on): Add fopen-gnu.
6093 2020-05-27  Bruno Haible  <bruno@clisp.org>
6095         getloadavg: Make more robust in multithreaded applications.
6096         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
6097         * modules/getloadavg (Depends-on): Add fopen-gnu.
6099 2020-05-27  Bruno Haible  <bruno@clisp.org>
6101         exclude: Make more robust in multithreaded applications.
6102         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
6103         * modules/exclude (Depends-on): Add fopen-gnu.
6105 2020-05-27  Bruno Haible  <bruno@clisp.org>
6107         bitset: Make more robust in multithreaded applications.
6108         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
6109         'e' flag to fopen.
6110         * modules/bitset (Depends-on): Add fopen-gnu.
6112 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6114         read-file: add RF_SENSITIVE flag
6115         * lib/read-file.h (RF_SENSITIVE): New define.
6116         * lib/read-file.c (fread_file, read_file): Take into account of
6117         RF_SENSITIVE flag.
6118         * modules/read-file (Depends-on): Add explicit_bzero.
6119         This adds an alternative behavior of those functions to explicitly
6120         clear the internal memory block when it becomes unused.  This is
6121         useful for reading sensitive information from a file.
6123 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6125         read-file: add flags to modify reading behavior
6126         * lib/read-file.h (RF_BINARY): New define.
6127         (fread_file, read_file): Take FLAGS argument.
6128         (read_binary_file): Remove.
6129         * lib/read-file.c (internal_read_file): Merge into ...
6130         (read_file): ... here.
6131         * modules/read-file-tests (Files): Add "tests/macros.h".
6132         * tests/test-read-file.c (main): Refactor using ASSERT macro.
6133         * NEWS: Mention this change.
6135 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6137         doc/gnulib-intro.texi: add missing "to" in sentence
6138         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
6139         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
6140         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
6142 2020-05-26  Bruno Haible  <bruno@clisp.org>
6144         count-one-bits: Fix MSVC specific code.
6145         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6146         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
6147         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
6148         using GCC.
6149         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
6150         (__popcnt64): In 32-bit mode, define as an inline function.
6151         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
6153 2020-05-26  Bruno Haible  <bruno@clisp.org>
6155         argz: Avoid name clashes through argz.h.
6156         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6157         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
6158         * lib/argz.h: Don't use __ prefixed identifiers.
6159         (const): Remove definition.
6160         (argz_next): Remove inline definitions.
6162 2020-05-26  Daiki Ueno  <ueno@gnu.org>
6164         read-file: make use of fopen-gnu
6165         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
6166         (read_binary_file): Likewise.
6167         * modules/read-file (Depends-on): Add fopen-gnu.
6169 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6171         getentropy, getrandom: new modules
6172         * MODULES.html.sh (func_all_modules):
6173         * lib/unistd.in.h (getentropy, getrandom):
6174         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
6175         * modules/unistd (unistd.h):
6176         Add support for getentropy, getrandom.
6177         * doc/glibc-functions/getentropy.texi (getentropy):
6178         * doc/glibc-functions/getrandom.texi (getrandom):
6179         These are now fixed on some platforms.
6180         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
6181         * m4/getentropy.m4, m4/getrandom.m4:
6182         * modules/getentropy, modules/getentropy-tests:
6183         * modules/getrandom, modules/getrandom-tests:
6184         * tests/test-getentropy.c, tests/test-getrandom.c:
6185         New files.
6187 2020-05-25  Bruno Haible  <bruno@clisp.org>
6189         Add missing C99 dependencies.
6190         Reported by Paul Smith <psmith@gnu.org> in
6191         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
6192         * modules/assert (Depends-on): Add c99.
6193         * modules/filenamecat-lgpl (Depends-on): Likewise.
6194         * modules/libc-config (Depends-on): Likewise.
6195         * modules/mktime (Depends-on): Likewise.
6196         * modules/random_r (Depends-on): Likewise.
6197         * modules/regex (Depends-on): Likewise.
6198         * modules/scratch_buffer (Depends-on): Likewise.
6199         * modules/timespec-add (Depends-on): Likewise.
6200         * modules/timespec-sub (Depends-on): Likewise.
6201         * modules/verify (Depends-on): Likewise.
6203 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6205         explicit_bzero-tests: pacify -Wmissing-declarations
6206         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
6207         Now static.
6209 2020-05-24  Bruno Haible  <bruno@clisp.org>
6211         fopen-gnu: Add tests.
6212         * tests/test-fopen-gnu.c: New file.
6213         * modules/fopen-gnu-tests: New file.
6215         fopen-gnu: New module.
6216         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
6217         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
6218         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
6219         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
6220         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
6221         * modules/fopen-gnu: New file.
6222         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
6224 2020-05-24  Bruno Haible  <bruno@clisp.org>
6226         open, openat: Really support O_CLOEXEC.
6227         * lib/open.c (open): When have_cloexec is still undecided, do pass a
6228         O_CLOEXEC flag to orig_open.
6229         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
6230         pass a O_CLOEXEC flag to orig_openat.
6231         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
6232         * modules/open-tests (Depends-on): Add fcntl.
6233         * modules/openat-tests (Depends-on): Likewise.
6234         * modules/fcntl-safer-tests (Depends-on): Likewise.
6236 2020-05-24  Bruno Haible  <bruno@clisp.org>
6238         fopen: Fix the trailing slash workaround.
6239         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
6240         write access. Pass the right flags to open().
6241         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
6243 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6245         assure: new macro ‘affirm’
6246         * lib/assure.h: Include verify.h.
6247         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
6248         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
6249         and commentary by Bruno Haible in:
6250         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
6251         * modules/assure (Depends-on:): Add verify.
6253 2020-05-23  Bruno Haible  <bruno@clisp.org>
6255         calloc-gnu: Make test work in non-flat address spaces.
6256         Uses code by Paul Eggert.
6257         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
6258         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
6260 2020-05-23  Bruno Haible  <bruno@clisp.org>
6262         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
6263         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
6264         AC_RUN_IFELSE invocations.
6266 2020-05-23  Bruno Haible  <bruno@clisp.org>
6268         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
6269         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
6270         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
6271         don't have it.
6272         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
6273         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
6274         don't have it.
6275         * lib/isnanf-nolibm.h (__has_builtin): New macro.
6276         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6277         it.
6278         * lib/isnanl-nolibm.h (__has_builtin): New macro.
6279         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6280         it.
6281         * lib/math.in.h (__has_builtin): New macro.
6282         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6283         it.
6284         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6285         it.
6286         (isnan): Don't use the builtins on clang versions that don't have
6287         __builtin_isnanf and __builtin_isnanl.
6289 2020-05-23  Bruno Haible  <bruno@clisp.org>
6291         calloc-gnu: Avoid wrong configure results with clang.
6292         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
6293         'volatile', to defeat compiler optimizations.
6295 2020-05-23  Bruno Haible  <bruno@clisp.org>
6297         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
6298         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
6299         'long double' values by reference, with values taken from a statically
6300         allocated array.
6302 2020-05-23  Bruno Haible  <bruno@clisp.org>
6304         findprog-in: Ignore directories.
6305         Reported by Frederick Eaton via Dmitry Goncharov in
6306         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
6307         * lib/findprog-in.c (find_in_given_path): When the file found is a
6308         directory, set errno to EACCES and, during a PATH search, continue
6309         searching.
6310         * modules/findprog-in (Depends-on): Add sys_stat, stat.
6312 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6314         verify: document ‘assume’ better
6315         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
6317 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
6319         gendocs: Clarify licenses for templates.
6320         * doc/gendocs_template: Add a GNU All-Permissive license notice
6321         and bump Parent-Version.
6322         * doc/gendocs_template_min: Add a GNU All-Permissive license
6323         notice and copy the explanatory comment about the license notice
6324         at the bottom from gendocs_template.
6326 2020-05-21  Bruno Haible  <bruno@clisp.org>
6328         group-member: Relicense under LGPLv2+.
6329         Jim Meyering's approval is in
6330         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
6331         Paul Eggert's approval is in
6332         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
6333         Eric Blake's approval is in
6334         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
6335         * modules/group-member (License): Change to LGPLv2+.
6337 2020-05-21  Bruno Haible  <bruno@clisp.org>
6339         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
6340         Reported by Tim Rühsen in
6341         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6342         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
6344 2020-05-21  Bruno Haible  <bruno@clisp.org>
6346         regex: Avoid wrong configure results with "clang -fsanitize=leak".
6347         Reported by Tim Rühsen in
6348         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6349         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
6350         before returning with status 0.
6352 2020-05-21  Bruno Haible  <bruno@clisp.org>
6354         glob: Avoid wrong configure results with "clang -fsanitize=leak".
6355         Reported by Tim Rühsen in
6356         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6357         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
6359 2020-05-21  Bruno Haible  <bruno@clisp.org>
6361         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
6362         Reported by Tim Rühsen in
6363         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6364         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
6365         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
6366         respectively.
6368 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
6370         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
6371         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
6373 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6375         ftoastr: fix ifndef typo
6376         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
6378 2020-05-19  Bruno Haible  <bruno@clisp.org>
6380         havelib: Tweak documentation.
6381         * doc/havelib.texi (Searching for Libraries): Fix typo.
6383 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6385         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
6386         This was needed earlier because modules had to import the main script,
6387         but that is no longer true.  Rename the script so that it is
6388         consistent with all other scripts in gnulib and uses hyphens.
6389         * build-aux/vcs_to_changelog.py: Rename to...
6390         * build-aux/vcs-to-changelog.py: ... this.
6391         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
6392         * modules/vcs-to-changelog: Likewise.
6394 2020-05-17  Bruno Haible  <bruno@clisp.org>
6396         Clarify intended usage of the license file modules.
6397         Reported by Asher Gordon <AsDaGo@posteo.net> in
6398         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
6399         * doc/licenses-texi.texi (License Texinfo sources): Mention the
6400         GNU AGPL. Explain the intended usage of the modules.
6401         * modules/fdl (Notice): Discourage use as a module.
6402         * modules/fdl-1.3 (Notice): Likewise.
6404 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
6406         hash: add hash_xinsert
6407         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
6409 2020-05-16  Bruno Haible  <bruno@clisp.org>
6411         findprog-lgpl: Fix link error (existing since 2008-09-02).
6412         * modules/findprog-lgpl (Makefile.am): Arrange to compile
6413         findprog-lgpl.c, not findprog.c.
6414         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
6415         XNMALLOC.
6417 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
6419         c-stack: pacify -Wunused-result when DEBUG
6420         Problem reported by Marc Nieper-Wißkirchen in:
6421         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
6422         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
6423         Explicitly ignore write failures.
6425 2020-05-13  Jim Meyering  <meyering@fb.com>
6427         announce-gen: improve a comment
6428         * build-aux/announce-gen: Improve comment.
6430 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6432         xalloc: pacify -Wanalyzer-possible-null-argument
6433         Problem reported for GCC 10.1.0 by Bruno Haible in:
6434         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
6435         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
6436         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
6437         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
6439 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6441         careadlinkat: fix GCC 10 workaround
6442         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6443         Massage the code so that it’s closer to what it was before
6444         the GCC 10.1.0 workaround was introduced.  This fixes
6445         a loop when !buffer and the bug workaround is in effect.
6446         Remove unnecessary casts.  Defend in a different way
6447         against (buffer && !buffer_size), by adding at least 1
6448         to buf_size each time through the loop.
6450 2020-05-10  Bruno Haible  <bruno@clisp.org>
6452         doc: Mark HP-UX as unsupported.
6453         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
6455 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6457         careadlinkat: limit GCC workaround
6458         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
6459         10.1.0 and later, since the workaround is pretty bad and the GCC
6460         bug should get fixed.
6462 2020-05-10  Bruno Haible  <bruno@clisp.org>
6464         havelib: Enhance documentation.
6465         * doc/havelib.texi (Searching for Libraries): Mention the bad
6466         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
6468 2020-05-10  Bruno Haible  <bruno@clisp.org>
6470         attribute: Clarify list of attributes.
6471         * lib/attribute.h: Reorder the list of attributes, and group them by
6472         purpose.
6474 2020-05-10  Bruno Haible  <bruno@clisp.org>
6476         string: Fix compilation error in C++ mode.
6477         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
6478         _GL_WARN_ON_USE.
6479         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
6480         instead of _GL_WARN_ON_USE.
6482 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
6484         announce-gen: add support for dist-lzip
6485         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
6487 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6489         manywarnings: port to GCC 10.1
6490         * build-aux/gcc-warning.spec:
6491         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
6492         Add GCC 10.1.0 warnings.
6494         careadlinkat: pacify -Wreturn-local-addr
6495         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6496         Pacify gcc 10’s -Wreturn-local-addr option.
6497         Simplify some of the later code.
6499 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6501         attribute: remove ATTRIBUTE_DEPRECATED
6502         * lib/attribute.h: Improve recently-added comments, mostly
6503         by shortening them (use active voice, etc.).
6504         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
6505         Problem reported by Bruno Haible in:
6506         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
6508 2020-05-09  Bruno Haible  <bruno@clisp.org>
6510         attribute: Add comments.
6511         * lib/attribute.h: Document each macro.
6513 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
6515         bitset: use the attribute module
6516         * modules/bitset: Depend on 'attribute'.
6517         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
6518         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
6519         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
6520         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
6522 2020-05-09  Bruno Haible  <bruno@clisp.org>
6524         c-stack: Fix warning when DEBUG is enabled.
6525         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6526         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
6527         * lib/c-stack.c: Include <stdio.h>.
6529 2020-05-09  Bruno Haible  <bruno@clisp.org>
6531         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
6532         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
6533         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6534         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6535         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6536         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6537         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6538         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6539         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6540         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
6541         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6542         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6543         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6545 2020-05-09  Bruno Haible  <bruno@clisp.org>
6547         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
6548         Reported by Akim Demaille in
6549         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
6550         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
6551         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
6552         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
6554 2020-05-09  Bruno Haible  <bruno@clisp.org>
6556         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
6557         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
6558         that usually comes from m4/gnulib-common.m4.
6559         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
6561 2020-05-09  Bruno Haible  <bruno@clisp.org>
6563         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
6564         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
6565         that usually comes from m4/gnulib-common.m4.
6566         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6567         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6568         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
6570 2020-05-09  Bruno Haible  <bruno@clisp.org>
6572         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
6573         * lib/uchar.in.h (char16_t): Define as macro if
6574         GNULIB_OVERRIDES_CHAR16_T.
6575         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
6576         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
6577         (gl_UCHAR_H): Invoke them.
6578         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
6579         GNULIB_OVERRIDES_CHAR32_T.
6580         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
6581         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
6582         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
6583         GNULIB_OVERRIDES_CHAR32_T.
6585 2020-05-09  Bruno Haible  <bruno@clisp.org>
6587         Macro tweaks.
6588         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
6589         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
6591 2020-05-08  Bruno Haible  <bruno@clisp.org>
6593         c32rtomb: Avoid compilation failure on Haiku.
6594         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
6595         inline definitions.
6596         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
6598 2020-05-08  Bruno Haible  <bruno@clisp.org>
6600         mbrtoc32: Avoid compilation failure on Haiku.
6601         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
6602         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
6603         AC_CHECK_FUNCS_ONCE.
6604         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
6606 2020-05-08  Bruno Haible  <bruno@clisp.org>
6608         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
6609         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
6611 2020-05-08  Bruno Haible  <bruno@clisp.org>
6613         list: Update documentation.
6614         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6615         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
6616         * doc/containers.texi (Container data types): Document the new list
6617         operations and their complexity.
6619 2020-05-08  Bruno Haible  <bruno@clisp.org>
6621         ignore-value tests: Use module 'attribute'.
6622         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
6623         * tests/test-ignore-value.c: Include attribute.h.
6624         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
6625         * modules/ignore-value-tests (Depends-on): Add attribute.
6627 2020-05-08  Bruno Haible  <bruno@clisp.org>
6629         uniname/uniname: Use module 'attribute'.
6630         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
6631         * lib/uniname/uninames.h: Regenerated.
6632         * lib/uniname/uniname.c: Include attribute.h.
6633         * modules/uniname/uniname (Depends-on): Add attribute.
6635 2020-05-08  Bruno Haible  <bruno@clisp.org>
6637         c32rtomb: Use module 'attribute'.
6638         * lib/c32rtomb.c: Include attribute.h.
6639         (FALLTHROUGH): Remove macro.
6640         * modules/c32rtomb (Depends-on): Add attribute.
6642 2020-05-08  Bruno Haible  <bruno@clisp.org>
6644         xsize: Use module 'attribute'.
6645         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
6646         * modules/xsize (Depends-on): Add attribute.
6648 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6650         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
6652         * lib/attribute.h: Minor style fixes.
6654         Fix version-etc glitch on OpenIndiana
6655         Problem reported by Mats Erik Andersson in:
6656         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
6657         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
6658         that now clashes with gnulib-common.h.  All uses changed.
6660 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
6662         attribute: new module
6663         This simplifies use of GCC and C2X attributes like ‘deprecated’.
6664         * MODULES.html.sh: Add attribute.
6665         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
6666         * doc/gnulib.texi (Particular Modules): Add Attributes.
6667         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
6668         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
6669         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
6670         * lib/vasnprintf.c:
6671         Include attribute.h, and let it define FALLTHROUGH.
6672         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
6673         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
6674         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
6675         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
6676         This is a copy since Gawk doesn’t use Gnulib.
6677         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
6678         is incompatible with gl_COMMON_BODY’s.  All uses changed.
6679         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
6680         Keep the existing FALLTHROUGH definition since Glibc might use it,
6681         and it does no harm to Gnulib’s FALLTHROUGH.
6682         * lib/fts_.h, lib/inttostr.h:
6683         (__GNUC_PREREQ): Remove; no longer needed.
6684         (__attribute_warn_unused_result__): Remove.  All uses
6685         replaced by _GL_ATTRIBUTE_NODISCARD.
6686         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
6687         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
6688         __attribute__ ((__warn_unused_result__)), for forward
6689         compatibility to C2X.
6690         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
6691         _GL_ATTRIBUTE_NODISCARD.
6692         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
6693         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
6694         replaced by gl_COMMON_BODY’s implementation, which has a
6695         slightly different signature.
6696         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
6697         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
6698         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
6699         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
6700         No doubt all uses should be replaced, at some point.
6701         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
6702         (_Noreturn): Use it.
6703         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
6704         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
6705         (_GL_ATTRIBUTE_COLD)
6706         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
6707         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
6708         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
6709         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
6710         (_GL_ATTRIBUTE_MAYBE_UNUSED)
6711         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
6712         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
6713         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
6714         (_GL_ATTRIBUTE_RETURNS_NONNULL)
6715         (_GL_ATTRIBUTE_SENTINEL): New macros.
6716         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
6717         * modules/fnmatch, modules/freopen-safer, modules/fts:
6718         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
6719         * modules/quotearg, modules/savewd:
6720         * modules/unistdio/u16-u16-vasnprintf:
6721         * modules/unistdio/u16-vasnprintf:
6722         * modules/unistdio/u32-u32-vasnprintf:
6723         * modules/unistdio/u32-vasnprintf:
6724         * modules/unistdio/u8-u8-vasnprintf:
6725         * modules/unistdio/u8-vasnprintf:
6726         * modules/unistdio/ulc-vasnprintf:
6727         * modules/unistr/u8-uctomb, modules/vasnprintf:
6728         (Depends-on:): Add attribute module.
6730 2020-05-03  Bruno Haible  <bruno@clisp.org>
6732         bison: Fix today's commit.
6733         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
6735 2020-05-03  Bruno Haible  <bruno@clisp.org>
6737         list-c++: Add get_first, get_last, set_first, set_last operations.
6738         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
6739         set_first, set_last.
6740         * lib/gl_list.h: Tweak comments.
6742 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
6744         bison: rely on bison's %require to check a version requirement
6745         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
6746         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
6747         enough of not.
6748         So far it is the only know Yacc tool that supports '%require'.
6749         Other yaccs will actually even choke on seeing the -o option after the
6750         input file name.
6751         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
6753 2020-05-02  Bruno Haible  <bruno@clisp.org>
6755         list: Add get_first, get_last, set_first, set_last operations.
6756         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
6757         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
6758         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
6760 2020-05-02  Bruno Haible  <bruno@clisp.org>
6762         list: Remove redundant code for remove_first and remove_last operations.
6763         * lib/gl_list.h (struct gl_list_implementation): Remove fields
6764         remove_first, remove_last.
6765         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
6766         * lib/gl_array_list.c: Revert last change.
6767         * lib/gl_carray_list.c: Likewise.
6768         * lib/gl_anylinked_list2.h: Likewise.
6769         * lib/gl_linked_list.c: Likewise.
6770         * lib/gl_linkedhash_list.c: Likewise.
6771         * lib/gl_anytree_list2.h: Likewise.
6772         * lib/gl_avltree_list.c: Likewise.
6773         * lib/gl_avltreehash_list.c: Likewise.
6774         * lib/gl_rbtree_list.c: Likewise.
6775         * lib/gl_rbtreehash_list.c: Likewise.
6776         * lib/gl_sublist.c: Likewise.
6778 2020-05-02  Bruno Haible  <bruno@clisp.org>
6780         bison-i18n: Add support for cross-compilation.
6781         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
6782         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
6783         via Akim Demaille <akim@lrde.epita.fr>.
6784         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
6785         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
6786         Don't use bison's --print-localedir option when cross-compiling.
6787         Also, fix an error message and a comment.
6789 2020-05-01  Bruno Haible  <bruno@clisp.org>
6791         list: Add remove_first and remove_last operations.
6792         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
6793         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
6794         * lib/gl_list.h (struct gl_list_implementation): Add fields
6795         remove_first, remove_last.
6796         (gl_list_remove_first, gl_list_remove_last): New functions.
6797         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
6798         functions, based on gl_array_remove_at.
6799         (gl_array_list_implementation): Implement the new operations.
6800         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
6801         New functions, based on gl_carray_remove_at.
6802         (gl_carray_list_implementation): Implement the new operations.
6803         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
6804         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
6805         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
6806         new operations.
6807         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
6808         Likewise.
6809         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
6810         New functions, based on gl_tree_remove_at.
6811         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
6812         new operations.
6813         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
6814         Likewise.
6815         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
6816         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
6817         Likewise.
6818         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
6819         New functions, based on gl_sublist_remove_at.
6820         (gl_sublist_list_implementation): Implement the new operations.
6821         * lib/gl_list.hh (class gl_List): Add methods remove_first,
6822         remove_last.
6823         * tests/test-array_list.c (main): Test also gl_list_remove_first and
6824         gl_list_remove_last.
6825         * tests/test-avltree_list.c (main): Likewise.
6826         * tests/test-avltreehash_list.c (main): Likewise.
6827         * tests/test-carray_list.c (main): Likewise.
6828         * tests/test-linked_list.c (main): Likewise.
6829         * tests/test-linkedhash_list.c (main): Likewise.
6830         * tests/test-rbtree_list.c (main): Likewise.
6831         * tests/test-rbtreehash_list.c (main): Likewise.
6833 2020-05-01  Bruno Haible  <bruno@clisp.org>
6835         parse-datetime: Fix a build failure with an older bison version.
6836         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
6837         parse-datetime.tab.c if a suitable version of bison was not found.
6839 2020-05-01  Bruno Haible  <bruno@clisp.org>
6841         bison: New module.
6842         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
6843         m4/parse-datetime.m4.
6844         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
6845         * modules/bison: New file.
6846         * modules/parse-datetime (Files): Remove m4/bison.m4.
6847         (Depends-on): Add bison.
6849 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
6851         Update users.txt.
6852         * users.txt: Add poke.
6854 2020-04-28  Bruno Haible  <bruno@clisp.org>
6856         posix_spawn_file_actions_addfchdir tests: Enhance test.
6857         * tests/test-posix_spawn5.c: Include findprog.h.
6858         (test): New function, extracted from main.
6859         (main): Invoke it. Also, invoke it with a program name such as
6860         "bin/pwd".
6861         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
6862         findprog.
6864 2020-04-28  Bruno Haible  <bruno@clisp.org>
6866         posix_spawn_file_actions_addchdir tests: Enhance test.
6867         * tests/test-posix_spawn4.c: Include findprog.h.
6868         (test): New function, extracted from main.
6869         (main): Invoke it. Also, invoke it with a program name such as
6870         "bin/pwd".
6871         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
6872         findprog.
6874 2020-04-28  Bruno Haible  <bruno@clisp.org>
6876         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
6877         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
6878         access elements of the wrong union member.
6880 2020-04-27  Bruno Haible  <bruno@clisp.org>
6882         getdate: Remove deprecated module.
6883         * modules/getdate: Remove file.
6884         * doc/getdate.texi: Remove file.
6885         * lib/getdate.h: Remove file.
6886         * NEWS: Mention the removal.
6888 2020-04-27  Bruno Haible  <bruno@clisp.org>
6890         realloc: Remove deprecated module.
6891         * modules/realloc: Remove file.
6892         * NEWS: Mention the removal.
6894 2020-04-27  Bruno Haible  <bruno@clisp.org>
6896         calloc: Remove deprecated module.
6897         * modules/calloc: Remove file.
6898         * NEWS: Mention the removal.
6900 2020-04-27  Bruno Haible  <bruno@clisp.org>
6902         malloc: Remove deprecated module.
6903         * modules/malloc: Remove file.
6904         * NEWS: Mention the removal.
6906 2020-04-27  Bruno Haible  <bruno@clisp.org>
6908         fnmatch-posix: Remove deprecated module.
6909         * modules/fnmatch-posix: Remove file.
6910         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
6911         * NEWS: Mention the removal.
6913 2020-04-27  Bruno Haible  <bruno@clisp.org>
6915         pipe: Remove deprecated module.
6916         * modules/pipe: Remove file.
6917         * lib/pipe.h: Remove file.
6918         * NEWS: Mention the removal.
6920 2020-04-27  Bruno Haible  <bruno@clisp.org>
6922         getopt: Remove deprecated module.
6923         * modules/getopt: Remove file.
6924         * NEWS: Mention the removal.
6926 2020-04-27  Bruno Haible  <bruno@clisp.org>
6928         remove-dest-slash: Remove deprecated module.
6929         * modules/rename-dest-slash: Remove file.
6930         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
6931         Update.
6932         * NEWS: Mention the removal.
6934 2020-04-27  Bruno Haible  <bruno@clisp.org>
6936         unictype/bidicategory-*: Remove deprecated modules.
6937         * modules/unictype/bidicategory-all: Remove file.
6938         * modules/unictype/bidicategory-byname: Remove file.
6939         * modules/unictype/bidicategory-name: Remove file.
6940         * modules/unictype/bidicategory-of: Remove file.
6941         * modules/unictype/bidicategory-test: Remove file.
6942         * MODULES.html.sh (Unicode string functions): Update.
6943         * NEWS: Mention the removals.
6945 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6947         Tune fts for FTS_LOGICAL+FTS_NOSTAT
6948         From a suggestion by Askar Safin in:
6949         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
6950         * lib/fts.c (fts_build): If file types are known, optimize
6951         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
6952         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
6953         non-directories.
6955 2020-04-19  Bruno Haible  <bruno@clisp.org>
6957         vasnprintf: Add support for printing wide characters using escapes.
6958         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
6959         (wctomb_fallback): New function.
6960         (local_wctomb): New function.
6961         (local_wcrtomb): New function or macro.
6962         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
6963         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
6964         %lc.
6966 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6968         fts: remove NOSTAT_LEAF_OPTIMIZATION
6969         It caused ‘find’ and ‘du’ to dump core, and it was useful
6970         only for obsolescent Linux filesystems anyway.  Problem reported in:
6971         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
6972         Quite possibly there is still a serious underlying fts bug with
6973         tight-loop-check and mutating file systems, but if so this patch
6974         should cause the bug to be triggered less often.
6975         * lib/fts.c (enum leaf_optimization): Remove
6976         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
6977         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
6978         (leaf_optimization): Remove special cases for ReiserFS and XFS.
6979         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
6980         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
6981         Remove.  All uses removed.
6983 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6985         explicit_bzero: Improve code style.
6986         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
6988 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6990         explicit_bzero: On native Windows, use SecureZeroMemory().
6991         * lib/explicit_bzero.c: Include <windows.h>.
6992         (explicit_bzero): On native Windows, use SecureZeroMemory.
6994 2020-04-13  Bastien Roucariès  <rouca@debian.org>
6996         explicit_bzero: Use memset_s() when available.
6997         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
6998         (explicit_bzero): Use memset_s when available.
6999         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
7001 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7003         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
7004         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
7005         free() that overwrite the memory with canaries.
7007 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
7009         bootstrap: recommend git submodule update --init
7010         Reported by Bruno Haible.
7011         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
7012         * build-aux/bootstrap: recommand "git submodule update --init"
7013         rather than "git submodule init".
7015 2020-04-12  Bruno Haible  <bruno@clisp.org>
7017         explicit_bzero: Add tests.
7018         * tests/test-explicit_bzero.c: New file.
7019         * modules/explicit_bzero-tests: New file.
7021 2020-04-11  Bruno Haible  <bruno@clisp.org>
7023         explicit_bzero: Relicense under LGPLv2+.
7024         Approved by Paul Eggert.
7025         * modules/explicit_bzero (License): Change to LGPLv2+.
7027 2020-04-10  Bruno Haible  <bruno@clisp.org>
7029         findprog, relocatable-prog: Ignore directories during PATH search.
7030         Reported by Frederick Eaton via Dmitry Goncharov in
7031         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7033         * lib/findprog.c (find_in_path): When the file found in a PATH element
7034         is a directory, continue searching.
7035         * modules/findprog (Depends-on): Add sys_stat, stat.
7036         * modules/findprog-lgpl (Depends-on): Likewise.
7038         * lib/progreloc.c (maybe_executable): When the file found in a PATH
7039         element is a directory, continue searching.
7040         * lib/relocwrapper.c: Update comments.
7041         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
7042         (configure.ac-early): New section.
7044 2020-04-10  Bruno Haible  <bruno@clisp.org>
7046         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
7047         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7048         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
7049         * MODULES.html.sh: In a git-less tarball, use the date of the first
7050         ChangeLog entry.
7052 2020-04-04  Bruno Haible  <bruno@clisp.org>
7054         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
7055         * m4/gettext.m4: Fix comments regarding the gettext library.
7056         * m4/intl-thread-locale.m4: Likewise.
7057         * m4/intlmacosx.m4: Likewise.
7058         * m4/lcmessage.m4: Likewise.
7059         * m4/nls.m4: Likewise.
7060         * m4/po.m4: Likewise.
7061         * m4/progtest.m4: Likewise.
7063 2020-04-04  Jim Meyering  <meyering@fb.com>
7065         maint: remove a stray inter-word space in a 6x-repeated comment
7066         Induce the changes by running this:
7067           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
7068         * build-aux/announce-gen: Change "by  perl" to "by perl".
7069         * build-aux/gitlog-to-changelog: Likewise.
7070         * build-aux/prefix-gnulib-mk: Likewise.
7071         * build-aux/update-copyright: Likewise.
7072         * build-aux/useless-if-before-free: Likewise.
7073         * tests/test-update-copyright.sh: Likewise.
7075 2020-03-28  Bruno Haible  <bruno@clisp.org>
7077         Use module 'filename' instead of module 'dosname'.
7079         * lib/at-func.c: Include filename.h instead of dosname.h.
7080         * lib/unlinkat.c: Likewise.
7081         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
7082         * modules/areadlinkat-with-size (Depends-on): Likewise.
7083         * modules/faccessat (Depends-on): Likewise.
7084         * modules/fchmodat (Depends-on): Likewise.
7085         * modules/fchownat (Depends-on): Likewise.
7086         * modules/fstatat (Depends-on): Likewise.
7087         * modules/mkdirat (Depends-on): Likewise.
7088         * modules/mkfifoat (Depends-on): Likewise.
7089         * modules/readlinkat (Depends-on): Likewise.
7090         * modules/selinux-at (Depends-on): Likewise.
7091         * modules/symlinkat (Depends-on): Likewise.
7092         * modules/unlinkat (Depends-on): Likewise.
7093         * modules/utimensat (Depends-on): Likewise.
7095         * lib/at-func2.c: Include filename.h instead of dosname.h.
7096         * modules/linkat (Depends-on): Add filename. Remove dosname.
7097         * modules/renameatu (Depends-on): Likewise.
7099         * lib/canonicalize.c: Include filename.h instead of dosname.h.
7100         * lib/canonicalize-lgpl.c: Likewise.
7101         * modules/canonicalize (Depends-on): Add filename.
7102         * modules/canonicalize-lgpl (Depends-on): Likewise.
7104         * lib/dirname.h: Include filename.h instead of dosname.h.
7105         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
7107         * lib/fchdir.c: Include filename.h instead of dosname.h.
7108         * modules/fchdir (Depends-on): Add filename. Remove dosname.
7110         * lib/openat.c: Include filename.h instead of dosname.h.
7111         * modules/openat (Depends-on): Add filename. Remove dosname.
7113         * lib/rmdir.c: Include filename.h instead of dosname.h.
7114         * modules/rmdir (Depends-on): Add filename. Remove dosname.
7116         * lib/savewd.c: Include filename.h instead of dosname.h.
7117         * modules/savewd (Depends-on): Add filename. Remove dosname.
7119         * lib/unlink.c: Include filename.h instead of dosname.h.
7120         * modules/unlink (Depends-on): Add filename. Remove dosname.
7122         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
7123         * lib/relocwrapper.c: Update comments.
7125         * modules/lstat (Depends-on): Remove dosname.
7127 2020-03-28  Bruno Haible  <bruno@clisp.org>
7129         dosname: Redirect to 'filename'.
7130         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7131         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
7132         * lib/dosname.h: Remove all definitions. Just include filename.h.
7133         * modules/dosname (Status, Notice): Mark as deprecated.
7134         (Depends-on): Add 'filename'.
7136 2020-03-28  Bruno Haible  <bruno@clisp.org>
7138         dosname: Change IS_RELATIVE_FILE_NAME.
7139         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
7140         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
7141         * NEWS: Mention the change.
7143 2020-03-28  Bruno Haible  <bruno@clisp.org>
7145         filename: Copy some definitions from module 'dosname'.
7146         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
7147         (HAS_DEVICE): Document macro.
7148         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
7149         (IS_ABSOLUTE_FILE_NAME): Consider
7150         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
7151         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
7152         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
7153         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
7154         IS_PATH_WITH_DIR.
7155         (DllMain): Update.
7156         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
7157         IS_PATH_WITH_DIR.
7158         (find_executable): Update.
7159         * NEWS: Document the deprecations.
7161 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7163         getopt-posix: port __GETOPT_PREFIX to macOS
7164         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
7165         Define to work around a problem with asm on macOS (Bug#40205).
7167 2020-03-22  Bruno Haible  <bruno@clisp.org>
7169         MODULES.html.sh: Add support for reproducible builds.
7170         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7171         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
7172         * MODULES.html.sh: Print the date of the last gnulib commit, not the
7173         current date.
7175 2020-03-22  Bruno Haible  <bruno@clisp.org>
7177         Several modules: Depend on stat.
7178         * modules/acl-permissions (Depends-on): Add stat.
7179         * modules/canonicalize (Depends-on): Likewise.
7180         * modules/file-has-acl (Depends-on): Likewise.
7181         * modules/fstat (Depends-on): Likewise.
7182         * modules/fstatat (Depends-on): Likewise.
7183         * modules/glob (Depends-on): Likewise.
7184         * modules/javacomp (Depends-on): Likewise.
7185         * modules/linkat (Depends-on): Likewise.
7186         * modules/mkdir (Depends-on): Likewise.
7187         * modules/pt_chown (Depends-on): Likewise.
7188         * modules/ptsname_r (Depends-on): Likewise.
7189         * modules/readlinkat (Depends-on): Likewise.
7190         * modules/rename (Depends-on): Likewise.
7191         * modules/renameatu (Depends-on): Likewise.
7192         * modules/tmpdir (Depends-on): Likewise.
7193         * modules/utimens (Depends-on): Likewise.
7194         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
7195         * modules/same (Depends-on): Remove stat.
7197 2020-03-22  Bruno Haible  <bruno@clisp.org>
7199         acl-permissions: Improve autoconf macro.
7200         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
7201         more reliably.
7203 2020-03-22  Bruno Haible  <bruno@clisp.org>
7205         file-has-acl: Fix module description.
7206         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
7207         (Depends-on): Depend on acl-permissions unconditionally.
7209 2020-03-21  Bruno Haible  <bruno@clisp.org>
7211         unlink: Ensure errno also on native Windows.
7212         * modules/unlink (Depends-on): Add malloc-posix.
7214 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7216         unlink: fix malloc errno typo
7217         Problem reported by Tim Rühsen in:
7218         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
7219         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
7221 2020-03-16  Bruno Haible  <bruno@clisp.org>
7223         *printf-posix: Fix m4 error (regression from 2020-03-08).
7224         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
7225         brackets in AC_COMPILE_IFELSE invocation.
7227 2020-03-08  Bruno Haible  <bruno@clisp.org>
7229         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
7230         * modules/crypto/af_alg (Depends-on): Add fstat.
7231         * modules/renameatu (Depends-on): Likewise.
7232         * modules/same (Depends-on): Likewise.
7233         * modules/term-style-control (Depends-on): Likewise.
7235 2020-03-08  Bruno Haible  <bruno@clisp.org>
7237         *printf-posix: Document why it's overridden on some glibc systems.
7238         Reported by Adrian Bunk <bunk@stusta.de> in
7239         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
7240         * doc/posix-functions/*printf.texi: Document the problem with the %n
7241         directive on some glibc systems.
7242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
7243         the cross-compilation guesses accordingly.
7245 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7247         open, openat: port to (O_RDWR | O_RDONLY) != 0
7248         Potential portability problem reported by Dan Gohman in:
7249         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
7250         * lib/open.c (open):
7251         * lib/openat.c (rpl_openat):
7252         Don’t assume O_RDONLY is disjoint from O_RDWR.
7254 2020-03-07  Bruno Haible  <bruno@clisp.org>
7256         openat: Fix theoretically possible issue on GNU/Hurd.
7257         Reported by Dan Gohman <sunfish@mozilla.com> in
7258         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
7259         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
7260         ignore the bits that are also set in O_RDONLY.
7262 2020-02-24  Bruno Haible  <bruno@clisp.org>
7264         getloadavg: Don't use /usr/local when cross-compiling on AIX.
7265         Reported by Jens Rehsack <sno@netbsd.org> in
7266         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
7267         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
7268         cross-compiling.
7270 2020-02-24  Bruno Haible  <bruno@clisp.org>
7272         fcntl: Add witness of gnulib override.
7273         Reported by Jens Rehsack <sno@netbsd.org> in
7274         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
7275         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
7276         macros.
7278 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
7280         Update users.txt.
7281         * users.txt: Add datamash, time.
7283 2020-02-23  Bruno Haible  <bruno@clisp.org>
7285         uni*/base: Use 'restrict'.
7286         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
7287         from lib/regex.h.
7288         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
7289         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
7290         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
7291         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
7292         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
7293         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
7294         '_UC_RESTRICT'.
7295         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
7296         u32_conv_to_encoding): Use '_UC_RESTRICT'.
7297         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
7298         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
7299         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
7300         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
7301         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
7302         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
7303         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
7304         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
7305         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
7306         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
7307         '_UC_RESTRICT'.
7308         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
7309         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
7310         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
7311         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
7312         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
7313         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
7314         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
7315         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
7317 2020-02-23  Bruno Haible  <bruno@clisp.org>
7319         glob, spawn: Use improved '_Restrict_' definition.
7320         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
7321         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
7323 2020-02-23  Bruno Haible  <bruno@clisp.org>
7325         crypto/gc: Use 'restrict'.
7326         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
7327         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
7329         crypto/hmac-*: Use 'restrict'.
7330         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
7331         'restrict'.
7332         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
7333         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
7334         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
7335         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
7337         crypto/sm3: Use 'restrict'.
7338         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
7339         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
7341         crypto/*-buffer: Use 'restrict'.
7342         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
7343         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
7345         crypto/sha512-buffer: Use 'restrict'.
7346         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
7347         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
7348         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
7350         crypto/sha256-buffer: Use 'restrict'.
7351         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
7352         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
7353         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
7355         crypto/sha1-buffer: Use 'restrict'.
7356         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
7357         'restrict'.
7358         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
7360         crypto/md5-buffer: Use 'restrict'.
7361         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
7362         'restrict'.
7363         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
7365         crypto/md4: Use 'restrict'.
7366         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
7367         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
7369         crypto/md2: Use 'restrict'.
7370         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
7371         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
7373         crypto/rijndael: Use 'restrict'.
7374         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
7375         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
7376         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
7378         crypto/arctwo: Use 'restrict'.
7379         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
7380         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
7382         crypto/arcfour: Use 'restrict'.
7383         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
7384         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
7386         careadlinkat: Use 'restrict'.
7387         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
7388         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
7389         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
7391         regex-quote: Use 'restrict'.
7392         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
7393         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
7395         system-quote: Use 'restrict'.
7396         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
7397         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
7399         sh-quote: Use 'restrict'.
7400         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
7401         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
7403         quotearg: Use 'restrict'.
7404         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
7405         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
7407         parse-datetime: Use 'restrict'.
7408         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
7409         'restrict'.
7410         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
7412         nstrftime: Use 'restrict'.
7413         * lib/strftime.h (nstrftime): Use 'restrict'.
7414         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
7416         mbstok_r: Use 'restrict'.
7417         * lib/string.in.h (mbstok_r): Use 'restrict'.
7419         xmemcoll: Use 'restrict'.
7420         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
7421         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
7423         memcoll: Use 'restrict'.
7424         * lib/memcoll.h (memcoll): Use 'restrict'.
7425         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
7427         vasnprintf: Use 'restrict'.
7428         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
7429         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
7431         c-vasnprintf: Use 'restrict'.
7432         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
7433         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
7435         c-vsnprintf: Use 'restrict'.
7436         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
7437         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
7439         c-snprintf: Use 'restrict'.
7440         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
7441         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
7443         astrxfrm: Use 'restrict'.
7444         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
7445         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
7447         amemxfrm: Use 'restrict'.
7448         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
7449         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
7451 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7453         fchmodat, lchmod: simplify
7454         It appears that we may have overengineered lchmod and fchmodat,
7455         in that the code was prepared for some hypothetical platforms but
7456         was so complicated that it was hard to understand.  I attempted to
7457         improve the situation by simplifying the code when this
7458         simplification should not hurt on real platforms; we can re-add
7459         complexity later to port to platforms I didn’t know about.
7460         * lib/fchmodat.c (fchmodat):
7461         * lib/lchmod.c (lchmod):
7462         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
7463         around the /proc code that needs it.
7464         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
7465         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
7466         Do not include <config.h> twice.
7467         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
7468         lchmod on any known hosts.
7469         (lchmod): Do not defer to fchmodat, so that the lchmod module
7470         need not depend on the fchmodat module (which is a circular
7471         dependency).  Do not use openat, since ‘open’ suffices.
7472         Coalesce calls to lchmod/chmod.
7473         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
7474         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
7475         * modules/lchmod (Depends-on, configure.ac):
7476         * modules/sys_stat (Depends-on):
7477         Do not worry about replacing lchmod, since that shouldn’t happen.
7478         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
7479         Do not worry about whether lchmod works on non-symlinks,
7480         since every known lchmod works on non-symlinks.
7481         * modules/lchmod (Depends-on):
7482         Remove circular dependency on fchmodat.
7484 2020-02-22  Bruno Haible  <bruno@clisp.org>
7486         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
7487         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
7488         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
7490 2020-02-22  Bruno Haible  <bruno@clisp.org>
7492         Use 'restrict' in all POSIX function declarations.
7493         * lib/iconv.in.h (iconv): Use 'restrict'.
7494         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
7495         * lib/monetary.in.h (strfmon_l): Likewise.
7496         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
7497         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
7498         pthread_mutex_timedlock, pthread_rwlock_init,
7499         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
7500         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
7501         * lib/search.in.h (tdelete): Likewise.
7502         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
7503         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
7504         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
7505         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
7506         Likewise.
7507         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
7508         strtoull): Likewise.
7509         * lib/string.in.h (strncat): Likewise.
7510         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
7511         recvfrom): Likewise.
7512         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
7513         * lib/time.in.h (strftime): Likewise.
7514         * lib/unistd.in.h (readlink, readlinkat): Likewise.
7515         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
7516         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
7517         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
7518         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
7519         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
7520         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
7521         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7522         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7523         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
7524         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
7525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7526         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7527         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7528         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7529         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
7530         other *_h.m4 files.
7531         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
7533 2020-02-22  Bruno Haible  <bruno@clisp.org>
7535         Update NEWS.
7536         * NEWS: Mention the last change.
7538 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7540         chmodat, chownat: new modules
7541         These are split from fchmodat, fchownat.  GNU Emacs needs the
7542         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
7543         lchmodat.  Split the latter two into a new module chmodat.
7544         Similarly for fchownat.  This the same basic idea for why statat
7545         was split from fstatat on 2013-01-23.
7546         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
7547         Rename from FCHMODAT_INLINE.  All uses changed.
7548         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
7549         Rename from FCHOWNAT_INLINE.  All uses changed.
7550         * lib/openat.h:
7551         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
7552         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
7553         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
7554         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
7555         (configure.ac): Remove fchmodat module indicator.
7556         (Makefile.am): Omit chmodat.c.
7557         (Maintainer): Add self.
7558         * modules/fchownat: Similarly, but for chown.
7559         * tests/test-fchownat.c (BASE): Don't define if already defined.
7560         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
7562 2020-02-22  Bruno Haible  <bruno@clisp.org>
7564         users.txt: Add groff.
7565         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
7566         * users.txt: Add groff.
7568 2020-02-22  Bruno Haible  <bruno@clisp.org>
7570         gnulib-tool: Ensure copied files are writable.
7571         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
7572         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
7573         * gnulib-tool (func_ensure_writable): New function.
7574         (func_ln_s, func_hardlink, func_lookup_file, func_import,
7575         func_create_testdir, copy-file): Invoke it after copying a file.
7577 2020-02-22  Bruno Haible  <bruno@clisp.org>
7579         users.txt: Update.
7580         * users.txt: Update URLs to projects that have moved or switched to git.
7581         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
7582         over the summary view. Add gawk.
7584 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
7586         largefile: remove _DARWIN_USE_64_BIT_INODE
7587         It’s not needed in currently-supported macOS versions, and was
7588         problematic anyway in MacOS X 10.5 which was the only version that
7589         could use it.  Problem reported by Peter Eisentraut in:
7590         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
7591         * m4/largefile.m4 (AC_SYS_LARGEFILE):
7592         Don’t define _DARWIN_USE_64_BIT_INODE.
7593         This syncs with Autoconf master.
7595         Add ‘extern "C"’ to count-one-bits.h etc.
7596         This ports these .h files to C++.
7597         Problem reported by Simon Marchi in:
7598         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
7599         * lib/count-leading-zeros.h, lib/count-one-bits.h:
7600         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
7602 2020-02-19  Bruno Haible  <bruno@clisp.org>
7604         uninorm/decompose-internal: Avoid "no previous prototype" warning.
7605         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7606         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
7607         * lib/array-mergesort.h: Accept an optional macro definition
7608         STATIC_FROMTO.
7609         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
7611 2020-02-16  Bruno Haible  <bruno@clisp.org>
7613         fchmodat: Make more future-proof.
7614         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
7615         NEED_FCHMODAT_NONSYMLINK_FIX.
7616         (gl_PREREQ_FCHMODAT): New macro.
7617         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
7618         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
7619         without lchmod function.
7620         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
7622 2020-02-16  Bruno Haible  <bruno@clisp.org>
7624         lchmod: Make more future-proof.
7625         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
7626         (gl_PREREQ_LCHMOD): New macro.
7627         * lib/lchmod.c (orig_lchmod): New function.
7628         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
7629         Return EOPNOTSUPP only on Linux and on platforms without lchmod
7630         function.
7631         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
7633         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
7634         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
7636 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
7638         xnanosleep: prefer pause, and get remaining time
7639         Problem reported by Vladimir Panteleev in:
7640         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
7641         * lib/xnanosleep.c: Include intprops.h, unistd.h.
7642         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
7643         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
7644         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
7645         * modules/xnanosleep (Depends-on): Add intprops, unistd.
7647 2020-02-16  Bruno Haible  <bruno@clisp.org>
7649         lchmod: Improve cross-compilation guess.
7650         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
7651         cross-compiling, guess depending on the platform.
7653 2020-02-16  Bruno Haible  <bruno@clisp.org>
7655         fstrcmp: Add API to clean up resources.
7656         Reported by Akim Demaille <akim@lrde.epita.fr> in
7657         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
7658         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
7659         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
7661 2020-02-14  Bruno Haible  <bruno@clisp.org>
7663         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
7664         Reported by Christian Biesinger in
7665         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
7666         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
7667         corresponding module is not enabled.
7668         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
7669         prototype if the corresponding module is not enabled.
7671 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
7673         fchmodat, lchmod: port to buggy Linux filesystems
7674         Problem reported by Florian Weimer in:
7675         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
7676         * lib/fchmodat.c (fchmodat):
7677         * lib/lchmod.c (lchmod):
7678         Don’t assume that chmod on the O_PATH-opened fd will do
7679         the right thing on a symbolic link.
7680         * lib/fchmodat.c (fchmodat):
7681         Don’t attempt to special-case
7682         any flag value other than AT_SYMLINK_NOFOLLOW.
7684 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
7686         lchmod: pacify Coverity CID 1491216
7687         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
7688         not complain about unreachable code at the ‘struct stat st;’
7689         declaration.
7691 2020-02-10  Bruno Haible  <bruno@clisp.org>
7693         copysignf: Fix link error on HP-UX with cc.
7694         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
7695         HP-UX, set COPYSIGNF_LIBM to -lm.
7697 2020-02-10  Bruno Haible  <bruno@clisp.org>
7699         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
7700         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
7701         with $(LIB_SEMAPHORE).
7702         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
7703         with $(LIB_SEMAPHORE).
7705 2020-02-10  Bruno Haible  <bruno@clisp.org>
7707         ptsname_r-tests: Avoid unused function warning.
7708         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
7710 2020-02-08  Bruno Haible  <bruno@clisp.org>
7712         lchmod: Add tests.
7713         * tests/test-lchmod.c: New file.
7714         * modules/lchmod-tests: New file.
7716 2020-02-08  Bruno Haible  <bruno@clisp.org>
7718         lchmod: Ensure declaration on HP-UX.
7719         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
7720         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
7722 2020-02-08  Bruno Haible  <bruno@clisp.org>
7724         fchmodat: Strengthen tests.
7725         * tests/test-fchmodat.c (BASE): New macro.
7726         (main): Use it, to avoid conflicts with other unit tests. Verify that
7727         fchmodat changed the file permission bits.
7729 2020-02-08  Bruno Haible  <bruno@clisp.org>
7731         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
7732         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
7733         '#undef __need_system_sys_stat_h'.
7735 2020-02-08  Bruno Haible  <bruno@clisp.org>
7737         fchmodat: Improve cross-compilation guesses.
7738         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
7739         cross-compiling, guess depending on the platform.
7740         * doc/posix-functions/fchmodat.texi: Clarify.
7742 2020-02-08  Bruno Haible  <bruno@clisp.org>
7744         Fix compilation errors in a testdir created with --with-c++-tests.
7745         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
7746         since it does not work any more with g++ >= 4.4.
7748 2020-02-08  Bruno Haible  <bruno@clisp.org>
7750         doc: Update for glibc 2.31.
7751         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
7752         * doc/gnulib.texi: Include it.
7753         * doc/pastposix-functions/h_errno.texi: Update.
7754         * doc/posix-functions/*.texi: Likewise.
7756 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
7758         mountlist: consider smb3 file systems as remote
7759         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
7760         "smb3" as remote.
7762 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7764         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
7765         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
7766         they act like chmod on non-symlinks.
7767         * NEWS:
7768         * doc/glibc-functions/lchmod.texi (lchmod):
7769         * doc/posix-functions/fchmodat.texi (fchmodat):
7770         Mention this.
7771         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
7772         config.h, and undef it after including sys/stat.h the first time.
7773         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
7774         sys/stat.h a second time after defining orig_fchmodat.
7775         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
7776         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
7777         * lib/lchmod.c: New file.
7778         * lib/sys_stat.in.h (fchmodat, lchmod):
7779         Support replacing these functions.
7780         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
7781         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
7782         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
7783         Test that lchmod works on non-symlinks.
7784         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
7785         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
7786         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
7787         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
7788         * modules/lchmod (Files): Add lib/lchmod.c.
7789         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
7790         (configure.ac): Compile lchmod.c if needed.
7791         (lib_SOURCES): Add lchmod.c.
7792         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
7793         and REPLACE_LCHMOD.
7794         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
7795         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
7797 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
7799         mountlist: Consider AFS filesystems as remote
7800         df --local relies on the ME_REMOTE macro to determine if a given
7801         mount entry should be considered "local".  There is special logic
7802         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
7803         kernel's kafs module or AuriStorFS is treated as a local mount.
7804         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
7805         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
7807 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
7809         Port _Noreturn to older Clang
7810         Problem reported by Jeffery Walton in:
7811         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
7812         * lib/_Noreturn.h (_Noreturn):
7813         * m4/gnulib-common.m4 (gl_COMMON_BODY):
7814         Assume _Noreturn works in Clang 3.5 and later.
7815         It is documented to work in Clang 3.5:
7816         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
7817         and is not documented in Clang 3.4:
7818         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
7819         Apple sets __clang_version__ to a different value, so use
7820         __apple_build_version__ there.  See:
7821         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
7823 2020-02-04  Pádraig Brady  <P@draigBrady.com>
7825         test-canonicalize: avoid unused function warning
7826         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
7827         with the same guard as that used to protect usage of the null_ptr
7828         function, so that one doesn't get a -Wunused warning.
7829         * tests/test-canonicalize-lgpl.c: Likewise.
7831 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
7833         libc-config: port to Apple’s Clang variant
7834         * lib/libc-config.h (__glibc_clang_prereq):
7835         Port to Apple’s Clang variant, which uses a different
7836         numbering scheme for __clang_major__.
7838 2020-02-02  Bruno Haible  <bruno@clisp.org>
7840         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
7841         * doc/containers.texi: Document these new modules.
7843 2020-02-02  Bruno Haible  <bruno@clisp.org>
7845         omap-c++: Add tests.
7846         * tests/test-omap-c++.cc: New file.
7847         * modules/omap-c++-tests: New file.
7849         omap-c++: New module.
7850         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
7851         * modules/omap-c++: New file.
7853 2020-02-02  Bruno Haible  <bruno@clisp.org>
7855         map-c++: Add tests.
7856         * tests/test-map-c++.cc: New file.
7857         * modules/map-c++-tests: New file.
7859         map-c++: New module.
7860         * lib/gl_map.hh: New file, based on lib/gl_map.h.
7861         * modules/map-c++: New file.
7863 2020-02-02  Bruno Haible  <bruno@clisp.org>
7865         oset-c++: Add tests.
7866         * tests/test-oset-c++.cc: New file.
7867         * modules/oset-c++-tests: New file.
7869         oset-c++: New module.
7870         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
7871         * modules/oset-c++: New file.
7873 2020-02-02  Bruno Haible  <bruno@clisp.org>
7875         set-c++: Add tests.
7876         * tests/test-set-c++.cc: New file.
7877         * modules/set-c++-tests: New file.
7879         set-c++: New module.
7880         * lib/gl_set.hh: New file, based on lib/gl_set.h.
7881         * modules/set-c++: New file.
7883 2020-02-02  Bruno Haible  <bruno@clisp.org>
7885         list-c++: Add tests.
7886         * tests/test-list-c++.cc: New file.
7887         * modules/list-c++-tests: New file.
7889         list-c++: New module.
7890         * lib/gl_list.hh: New file, based on lib/gl_list.h.
7891         * modules/list-c++: New file.
7893 2020-02-02  Bruno Haible  <bruno@clisp.org>
7895         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
7896         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
7897         '_Noreturn'.
7898         * lib/sigpipe-die.h (sigpipe_die): Likewise.
7900 2020-02-02  Pádraig Brady  <P@draigBrady.com>
7902         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
7903         On x86_64 with glibc-2.30, gcc 9.2 is giving:
7904           error: argument 2 value '18446744073709551615'
7905           exceeds maximum object size 9223372036854775807
7906           [-Werror=alloc-size-larger-than=]
7907         The details of this restriction are discussed at:
7908         https://stackoverflow.com/q/42574890/4421
7909         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
7911 2020-02-02  Pádraig Brady  <P@draigBrady.com>
7913         sysctl.h: avoid including on glibc
7914         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
7915         * lib/physmem.c: Likewise.
7917 2020-02-02  Bruno Haible  <bruno@clisp.org>
7919         list, set, oset, map, omap: Avoid imperative voice in documentation.
7920         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
7921         in the specification of functions.
7922         * lib/gl_set.h: Likewise.
7923         * lib/gl_oset.h: Likewise.
7924         * lib/gl_map.h: Likewise.
7925         * lib/gl_omap.h: Likewise.
7926         * lib/gl_*.h: Likewise.
7928 2020-02-01  Bruno Haible  <bruno@clisp.org>
7930         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
7931         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
7932         does.
7934 2020-01-29  Bruno Haible  <bruno@clisp.org>
7936         array-map, hash-map, linkedhash-map: Fix module description.
7937         * modules/array-map (Description): Fix description.
7938         * modules/hash-map (Description): Likewise.
7939         * modules/linkedhash-map (Description): Likewise.
7941 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7943         dfa: do not depend on isblank
7944         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
7945         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
7946         * modules/dfa (Depends-on): Remove isblank.
7947         * modules/isblank: Add a module indicator, for lib/dfa.c.
7949         dfa: do not assume 64-bit int
7950         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
7951         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
7952         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
7953         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
7954         Fall back to 32-bit words.
7955         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
7956         of 4 64-bit args.  All uses changed.
7958 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7960         regex: remove limits-h dependency
7961         * modules/regex (Depends-on): Remove limits-h, since the
7962         code no longer depends on ULONG_WIDTH already being defined.
7964         regex: port to non-GCC pre-IEC-60559
7965         Problem reported by Arnold Robbins in:
7966         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
7967         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
7969 2020-01-25  Bruno Haible  <bruno@clisp.org>
7971         c32isxdigit: Add tests.
7972         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
7973         * tests/test-c32isxdigit.sh: New file.
7974         * modules/c32isxdigit-tests: New file.
7976         c32isxdigit: New module.
7977         * lib/c32isxdigit.c: New file.
7978         * modules/c32isxdigit: New file.
7979         * doc/posix-functions/iswxdigit.texi: Mention the new module.
7981 2020-01-25  Bruno Haible  <bruno@clisp.org>
7983         c32isupper: Add tests.
7984         * tests/test-c32isupper.c: New file.
7985         * tests/test-c32isupper.sh: New file.
7986         * modules/c32isupper-tests: New file.
7988         c32isupper: New module.
7989         * lib/c32isupper.c: New file.
7990         * modules/c32isupper: New file.
7991         * doc/posix-functions/iswupper.texi: Mention the new module.
7993 2020-01-25  Bruno Haible  <bruno@clisp.org>
7995         c32isspace: Add tests.
7996         * tests/test-c32isspace.c: New file.
7997         * tests/test-c32isspace.sh: New file.
7998         * modules/c32isspace-tests: New file.
8000         c32isspace: New module.
8001         * lib/c32isspace.c: New file.
8002         * modules/c32isspace: New file.
8003         * doc/posix-functions/iswspace.texi: Mention the new module.
8005 2020-01-25  Bruno Haible  <bruno@clisp.org>
8007         c32ispunct: Add tests.
8008         * tests/test-c32ispunct.c: New file.
8009         * tests/test-c32ispunct.sh: New file.
8010         * modules/c32ispunct-tests: New file.
8012         c32ispunct: New module.
8013         * lib/c32ispunct.c: New file.
8014         * modules/c32ispunct: New file.
8015         * doc/posix-functions/iswpunct.texi: Mention the new module.
8017 2020-01-25  Bruno Haible  <bruno@clisp.org>
8019         c32isprint: Add tests.
8020         * tests/test-c32isprint.c: New file.
8021         * tests/test-c32isprint.sh: New file.
8022         * modules/c32isprint-tests: New file.
8024         c32isprint: New module.
8025         * lib/c32isprint.c: New file.
8026         * modules/c32isprint: New file.
8027         * doc/posix-functions/iswprint.texi: Mention the new module.
8029 2020-01-25  Bruno Haible  <bruno@clisp.org>
8031         c32islower: Add tests.
8032         * tests/test-c32islower.c: New file.
8033         * tests/test-c32islower.sh: New file.
8034         * modules/c32islower-tests: New file.
8036         c32islower: New module.
8037         * lib/c32islower.c: New file.
8038         * modules/c32islower: New file.
8039         * doc/posix-functions/iswlower.texi: Mention the new module.
8041 2020-01-25  Bruno Haible  <bruno@clisp.org>
8043         c32isgraph: Add tests.
8044         * tests/test-c32isgraph.c: New file.
8045         * tests/test-c32isgraph.sh: New file.
8046         * modules/c32isgraph-tests: New file.
8048         c32isgraph: New module.
8049         * lib/c32isgraph.c: New file.
8050         * modules/c32isgraph: New file.
8051         * doc/posix-functions/iswgraph.texi: Mention the new module.
8053 2020-01-25  Bruno Haible  <bruno@clisp.org>
8055         c32isdigit: Add tests.
8056         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
8057         * tests/test-c32isdigit.sh: New file.
8058         * modules/c32isdigit-tests: New file.
8060         c32isdigit: New module.
8061         * lib/c32isdigit.c: New file.
8062         * modules/c32isdigit: New file.
8063         * doc/posix-functions/iswdigit.texi: Mention the new module.
8065 2020-01-25  Bruno Haible  <bruno@clisp.org>
8067         c32iscntrl: Add tests.
8068         * tests/test-c32iscntrl.c: New file.
8069         * tests/test-c32iscntrl.sh: New file.
8070         * modules/c32iscntrl-tests: New file.
8072         c32iscntrl: New module.
8073         * lib/c32iscntrl.c: New file.
8074         * modules/c32iscntrl: New file.
8075         * doc/posix-functions/iswcntrl.texi: Mention the new module.
8077 2020-01-25  Bruno Haible  <bruno@clisp.org>
8079         c32isblank: Add tests.
8080         * tests/test-c32isblank.c: New file.
8081         * tests/test-c32isblank.sh: New file.
8082         * modules/c32isblank-tests: New file.
8084         c32isblank: New module.
8085         * lib/c32isblank.c: New file.
8086         * modules/c32isblank: New file.
8087         * doc/posix-functions/iswblank.texi: Mention the new module.
8089 2020-01-25  Bruno Haible  <bruno@clisp.org>
8091         c32isalpha: Add tests.
8092         * tests/test-c32isalpha.c: New file.
8093         * tests/test-c32isalpha.sh: New file.
8094         * modules/c32isalpha-tests: New file.
8096         c32isalpha: New module.
8097         * lib/c32isalpha.c: New file.
8098         * modules/c32isalpha: New file.
8099         * doc/posix-functions/iswalpha.texi: Mention the new module.
8101 2020-01-25  Bruno Haible  <bruno@clisp.org>
8103         c32isalnum: Add tests.
8104         * tests/test-c32isalnum.c: New file.
8105         * tests/test-c32isalnum.sh: New file.
8106         * modules/c32isalnum-tests: New file.
8108         c32isalnum: New module.
8109         * lib/c32isalnum.c: New file.
8110         * lib/c32is-impl.h: New file.
8111         * modules/c32isalnum: New file.
8112         * doc/posix-functions/iswalnum.texi: Mention the new module.
8114 2020-01-25  Bruno Haible  <bruno@clisp.org>
8116         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
8117         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
8118         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
8119         c32isupper, c32isxdigit): New declarations.
8120         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
8121         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8122         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8123         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8124         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8125         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
8126         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8127         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8128         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8129         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8130         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
8131         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
8132         c32ispunct, c32isspace, c32isupper, c32isxdigit.
8134 2020-01-25  Bruno Haible  <bruno@clisp.org>
8136         mbchar, wctype: Use the corrected iswxdigit function.
8137         * modules/mbchar (Depends-on): Add iswxdigit.
8138         * modules/wctype (Depends-on): Likewise.
8140         iswxdigit: Add tests.
8141         * tests/test-iswxdigit.c: New file.
8142         * tests/test-iswxdigit.sh: New file.
8143         * modules/iswxdigit-tests: New file.
8145         iswxdigit: New module.
8146         * m4/iswxdigit.m4: New file.
8147         * lib/wctype.in.h (iswxdigit): Potentially override.
8148         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
8149         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
8150         * lib/iswxdigit.c: New file.
8151         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
8152         REPLACE_ISWXDIGIT.
8153         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
8154         REPLACE_ISWXDIGIT.
8155         * modules/iswxdigit: New file.
8156         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
8158 2020-01-25  Bruno Haible  <bruno@clisp.org>
8160         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
8161         Reported by John Donoghue <john.david.donoghue@gmail.com> in
8162         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
8163         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
8164         off_t on mingw, invoke _lseeki64 instead of lseek.
8166 2020-01-25  Bruno Haible  <bruno@clisp.org>
8168         iswdigit tests: Avoid test failure on Cygwin.
8169         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
8170         byte sequence, return 0.
8172         iswdigit: Fix test failure on native Windows.
8173         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
8175         mbchar, wctype: Use the corrected iswdigit function.
8176         * modules/mbchar (Depends-on): Add iswdigit.
8177         * modules/wctype (Depends-on): Likewise.
8179         iswdigit: Add tests.
8180         * tests/test-iswdigit.c: New file.
8181         * tests/test-iswdigit.sh: New file.
8182         * modules/iswdigit-tests: New file.
8184         iswdigit: New module.
8185         * m4/iswdigit.m4: New file.
8186         * lib/wctype.in.h (iswdigit): Potentially override.
8187         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
8188         * lib/iswdigit.c: New file.
8189         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
8190         REPLACE_ISWDIGIT.
8191         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
8192         REPLACE_ISWDIGIT.
8193         * modules/iswdigit: New file.
8194         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
8196 2020-01-25  Bruno Haible  <bruno@clisp.org>
8198         hard-locale tests: Make it easy to reuse the musl test.
8199         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
8200         * modules/hard-locale-tests (Files): Add it.
8201         (configure.ac): Invoke gl_MUSL_LIBC.
8203 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
8205         regex: port to Gawk on nonstandard platforms
8206         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
8207         This is useful for Gawk, which does not use the Gnulib stdlib-h
8208         module.  Problem reported by Arnold Robbins in:
8209         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
8211 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8213         regex: fix bug with >=16 subexpressions
8214         * lib/regex_internal.h (struct re_backref_cache_entry):
8215         Use bitset_word_t as the type of eps_reachable_subexps_map,
8216         instead of unsigned short int.  This fixes a bug I introduced
8217         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
8218         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
8219         Remove unused member 'unused'.
8221         regex: simplify definition of BITSET_WORD_BITS
8222         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
8223         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
8224         * lib/regex_internal.h (BITSET_WORD_BITS):
8225         * modules/regex (Depends-on): Add limits-h.
8226         Simplify now that we can use ULONG_WIDTH.
8228 2020-01-20  Bruno Haible  <bruno@clisp.org>
8230         mbrtoc32: Add note about FreeBSD 12.
8231         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
8232         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
8233         affected.
8235 2020-01-20  Bruno Haible  <bruno@clisp.org>
8237         unistr/u8-uctomb: Fix warning.
8238         Reported by Andreas Schwab <schwab@suse.de> in
8239         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
8240         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
8241         (u8_uctomb): Add FALLTHROUGH markers.
8243 2020-01-20  Bruno Haible  <bruno@clisp.org>
8245         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
8246         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
8247         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
8248         (glthread_once): Use it.
8250 2020-01-19  Bruno Haible  <bruno@clisp.org>
8252         threadlib: Disable use of weak symbols on FreeBSD 11.
8253         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8254         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
8255         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
8256         against a bug in FreeBSD 11.
8258 2020-01-19  Bruno Haible  <bruno@clisp.org>
8260         iconv_open: Improve z/OS support.
8261         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
8262         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
8263         Remove mapping for EUC-TW.
8265 2020-01-18  Bruno Haible  <bruno@clisp.org>
8267         Rename ~~gnulib.m4 to zzgnulib.m4.
8268         Suggested by Paul Eggert.
8269         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
8270         * gnulib-tool (func_get_filelist): Update.
8271         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8273 2020-01-18  Bruno Haible  <bruno@clisp.org>
8275         doc: Update license notices.
8276         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
8277         reference to a section or to a "file as part of this distribution".
8279 2020-01-18  Bruno Haible  <bruno@clisp.org>
8281         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
8282         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8283         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
8284         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
8285         AC_EGREP_CPP.
8287 2020-01-18  Bruno Haible  <bruno@clisp.org>
8289         Ensure Automake does not drop ~~gnulib.m4.
8290         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
8291         * m4/gnulib-common.m4 (gl_COMMON): Require it.
8293 2020-01-18  Bruno Haible  <bruno@clisp.org>
8295         Fix major regression from 2020-01-10.
8296         Reported by Paul Eggert in
8297         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
8298         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8299         Don't AC_REQUIRE anything.
8300         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
8301         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
8302         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
8303         use ac_compile instead.
8304         (AC_CHECK_DECL): Remove override.
8305         * m4/~~gnulib.m4: New file.
8306         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
8307         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8309 2020-01-17  Bruno Haible  <bruno@clisp.org>
8310             Paul Eggert  <eggert@cs.ucla.edu>
8312         glob: Fix use-after-free bug.
8313         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8314         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
8315         * lib/glob.c (__glob): Delay freeing dirname until after the use of
8316         end_name.
8318 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8320         vcs-to-changelog: Fix parsing of fndecl without args.
8321         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
8322         for empty arguments.
8324 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8326         vcs-to-changelog: Add documentation.
8327         * doc/vcs-to-changelog.texi: New file.
8328         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
8329         section.
8331 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8333         vcs-to-changelog: Allow loading of custom quirks file.
8334         * build-aux/vcs_to_changelog.py: New commandline option -q.
8336 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8338         vcs-to-changelog: Fix formatting of ChangeLog output.
8339         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
8340         output.
8342 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8344         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
8345         Reported in
8346         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
8347         * build-aux/vcstocl/frontend_c.py: Remove shebang.
8349 2020-01-15  Simon Josefsson  <simon@josefsson.org>
8351         crypto/gc-pbkdf2: New module.
8352         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
8353         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
8354         * lib/gc-pbkdf2.c: New file.
8355         * lib/gc-pbkdf2-sha1.c: Use new interface.
8356         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
8357         * modules/crypto/gc-pbkdf2: New file.
8358         * modules/crypto/gc-pbkdf2-tests: New file.
8359         * tests/test-gc-pbkdf2.c: New file.
8361 2020-01-12  Bruno Haible  <bruno@clisp.org>
8363         c32stombs: Add tests.
8364         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
8365         * tests/test-c32stombs-1.sh: New file, based on
8366         tests/test-c32srtombs-1.sh.
8367         * tests/test-c32stombs-2.sh: New file, based on
8368         tests/test-c32srtombs-2.sh.
8369         * tests/test-c32stombs-3.sh: New file, based on
8370         tests/test-c32srtombs-3.sh.
8371         * tests/test-c32stombs-4.sh: New file, based on
8372         tests/test-c32srtombs-4.sh.
8373         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
8375         c32stombs: New module.
8376         * lib/uchar.in.h (c32stombs): New declaration.
8377         * lib/c32stombs.c: New file.
8378         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
8379         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
8380         * modules/c32stombs: New file.
8381         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
8382         * doc/posix-functions/wcstombs.texi: Mention the new module.
8384 2020-01-11  Jim Meyering  <meyering@fb.com>
8386         perl: require the "warnings" module
8387         * m4/perl.m4: Also "use warnings", so we reject the perl found
8388         on at least one IRIX 6.5 system. Reported by Bruno Haible in
8389         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
8391 2020-01-10  Bruno Haible  <bruno@clisp.org>
8393         Fix major regression from 2020-01-04.
8394         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8395         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
8396         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
8397         AC_DEFUN_ONCE.
8398         (AC_CHECK_DECL): Invoke, not require, it.
8400 2020-01-10  Bruno Haible  <bruno@clisp.org>
8402         c32snrtombs: Add tests.
8403         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
8404         * tests/test-c32snrtombs-1.sh: New file, based on
8405         tests/test-wcsnrtombs1.sh.
8406         * tests/test-c32snrtombs-2.sh: New file, based on
8407         tests/test-wcsnrtombs2.sh.
8408         * tests/test-c32snrtombs-3.sh: New file, based on
8409         tests/test-wcsnrtombs3.sh.
8410         * tests/test-c32snrtombs-4.sh: New file, based on
8411         tests/test-wcsnrtombs4.sh.
8412         * modules/c32snrtombs-tests: New file, based on
8413         modules/wcsnrtombs-tests.
8415         c32snrtombs: New module.
8416         * lib/uchar.in.h (c32snrtombs): New declaration.
8417         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8418         INTERNAL_STATE, WCRTOMB.
8419         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8420         * lib/c32snrtombs.c: New file.
8421         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
8422         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
8423         * modules/c32snrtombs: New file.
8424         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
8425         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8427 2020-01-09  Bruno Haible  <bruno@clisp.org>
8429         c32srtombs: Add tests.
8430         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
8431         * tests/test-c32srtombs-1.sh: New file, based on
8432         tests/test-wcsrtombs1.sh.
8433         * tests/test-c32srtombs-2.sh: New file, based on
8434         tests/test-wcsrtombs2.sh.
8435         * tests/test-c32srtombs-3.sh: New file, based on
8436         tests/test-wcsrtombs3.sh.
8437         * tests/test-c32srtombs-4.sh: New file, based on
8438         tests/test-wcsrtombs4.sh.
8439         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
8441         c32srtombs: New module.
8442         * lib/uchar.in.h (c32srtombs): New declaration.
8443         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8444         INTERNAL_STATE, WCRTOMB.
8445         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8446         * lib/c32srtombs.c: New file.
8447         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
8448         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
8449         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
8450         * modules/c32srtombs: New file.
8451         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
8452         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
8454 2020-01-08  Bruno Haible  <bruno@clisp.org>
8456         c32tob: Make consistent with mbrtoc32.
8457         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
8458         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
8459         use c32rtomb, not wctob.
8460         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
8461         (Depends-on): Add c32rtomb.
8462         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
8464 2020-01-08  Bruno Haible  <bruno@clisp.org>
8466         c32rtomb: Add tests.
8467         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
8468         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
8469         * tests/test-c32rtomb-w32.c: New file, based on
8470         tests/test-wcrtomb-w32.c.
8471         * tests/test-c32rtomb-w32-1.sh: New file, based on
8472         tests/test-wcrtomb-w32-1.sh.
8473         * tests/test-c32rtomb-w32-2.sh: New file, based on
8474         tests/test-wcrtomb-w32-2.sh.
8475         * tests/test-c32rtomb-w32-3.sh: New file, based on
8476         tests/test-wcrtomb-w32-3.sh.
8477         * tests/test-c32rtomb-w32-4.sh: New file, based on
8478         tests/test-wcrtomb-w32-4.sh.
8479         * tests/test-c32rtomb-w32-5.sh: New file, based on
8480         tests/test-wcrtomb-w32-5.sh.
8481         * tests/test-c32rtomb-w32-6.sh: New file, based on
8482         tests/test-wcrtomb-w32-6.sh.
8483         * tests/test-c32rtomb-w32-7.sh: New file, based on
8484         tests/test-wcrtomb-w32-7.sh.
8485         * modules/c32rtomb-tests: New file.
8487         c32rtomb: New module.
8488         * lib/uchar.in.h (c32rtomb): New declaration.
8489         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
8490         * m4/c32rtomb.m4: New file.
8491         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
8492         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
8493         REPLACE_C32RTOMB.
8494         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
8495         HAVE_C32RTOMB, REPLACE_C32RTOMB.
8496         * modules/c32rtomb: New file.
8497         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
8498         * doc/posix-functions/c32rtomb.texi: Document the new module.
8499         * doc/posix-functions/wcrtomb.texi: Mention the new module.
8501 2020-01-08  Bruno Haible  <bruno@clisp.org>
8503         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
8504         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
8505         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
8506         but is not working.
8507         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
8508         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
8509         differ, use the system's mbrtoc32, adding workarounds.
8510         * modules/mbrtoc32 (Depends-on): Add hard-locale.
8511         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
8512         Windows problem.
8513         * lib/btoc32.c: Include <stdio.h>, <string.h>.
8514         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
8515         use mbrtoc32, not btowc.
8516         * modules/btoc32 (Depends-on): Add mbrtoc32.
8517         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
8518         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
8519         * modules/mbsrtoc32s (Depends-on): Update conditions.
8520         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8521         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
8522         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
8523         * modules/mbsnrtoc32s (Depends-on): Update conditions.
8524         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
8526 2020-01-07  Bruno Haible  <bruno@clisp.org>
8528         wcrtomb: Make multithread-safe, except possibly on IRIX.
8529         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
8530         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
8531         WCRTOMB_RETVAL_BUG.
8532         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
8533         wctomb only on IRIX.
8535 2020-01-05  Jim Meyering  <meyering@fb.com>
8537         tests: skip thread-using tests when threading is disabled
8538         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
8539         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
8540         of those, so they are skipped in this case.
8541         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
8542         * tests/test-setlocale_null-mt-all.c (main): Likewise.
8543         * tests/test-setlocale_null-mt-one.c (main): Likewise.
8545 2020-01-05  Bruno Haible  <bruno@clisp.org>
8547         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
8548         Reported by Jim Meyering in
8549         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
8550         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
8551         (GNULIB_defined_ptsname_r): New macro.
8552         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
8553         (main): Disable the NULL argument test if canonicalize_file_name does
8554         not come from gnulib.
8555         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
8556         (main): Disable the NULL argument test if canonicalize_file_name does
8557         not come from gnulib.
8558         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
8559         (test_errors): Disable the NULL argument test if ptsname_r does not come
8560         from gnulib.
8562 2020-01-04  Jim Meyering  <meyering@fb.com>
8564         update-copyright: reenable its always-skipped test
8565         * tests/test-update-copyright.sh: Restore the "-pi" options removed
8566         on 2019-06-15. Without those, an internal preliminary test would
8567         fail, causing this test always to be skipped.
8568         Verify that the test is now run and passes via this:
8569           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
8571 2020-01-05  Bruno Haible  <bruno@clisp.org>
8573         mbstoc32s: Add tests.
8574         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
8575         * tests/test-mbstoc32s-1.sh: New file, based on
8576         tests/test-mbsrtoc32s-1.sh.
8577         * tests/test-mbstoc32s-2.sh: New file, based on
8578         tests/test-mbsrtoc32s-2.sh.
8579         * tests/test-mbstoc32s-3.sh: New file, based on
8580         tests/test-mbsrtoc32s-3.sh.
8581         * tests/test-mbstoc32s-4.sh: New file, based on
8582         tests/test-mbsrtoc32s-4.sh.
8583         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
8585         mbstoc32s: New module.
8586         * lib/uchar.in.h (mbstoc32s): New declaration.
8587         * lib/mbstoc32s.c: New file.
8588         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
8589         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
8590         * modules/mbstoc32s: New file.
8591         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
8592         * doc/posix-functions/mbstowcs.texi: Mention the new module.
8594 2020-01-05  Bruno Haible  <bruno@clisp.org>
8596         Tweak recently added tests.
8597         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
8598         * tests/test-mbsrtoc32s.c: Likewise.
8599         * tests/test-mbsnrtoc32s.c: Likewise.
8601 2020-01-04  Bruno Haible  <bruno@clisp.org>
8603         mbsnrtoc32s: Add tests.
8604         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
8605         * tests/test-mbsnrtoc32s-1.sh: New file, based on
8606         tests/test-mbsnrtowcs1.sh.
8607         * tests/test-mbsnrtoc32s-2.sh: New file, based on
8608         tests/test-mbsnrtowcs2.sh.
8609         * tests/test-mbsnrtoc32s-3.sh: New file, based on
8610         tests/test-mbsnrtowcs3.sh.
8611         * tests/test-mbsnrtoc32s-4.sh: New file, based on
8612         tests/test-mbsnrtowcs4.sh.
8613         * modules/mbsnrtoc32s-tests: New file, based on
8614         modules/mbsnrtowcs-tests.
8616         mbsnrtoc32s: New module.
8617         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
8618         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
8619         INTERNAL_STATE, MBRTOWC.
8620         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
8621         * lib/mbsnrtoc32s.c: New file.
8622         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
8623         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
8624         * modules/mbsnrtoc32s: New file.
8625         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
8626         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
8628 2020-01-04  Bruno Haible  <bruno@clisp.org>
8630         mbsrtoc32s tests: Enhance test.
8631         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
8632         test strings for UTF-8 and GB18030.
8634 2020-01-04  Bruno Haible  <bruno@clisp.org>
8636         mbsrtoc32s: Fix bug.
8637         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
8638         that SMALL_WCHAR_T is defined.
8640 2020-01-04  Bruno Haible  <bruno@clisp.org>
8642         mbsrtoc32s: Add tests.
8643         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
8644         * tests/test-mbsrtoc32s-1.sh: New file, based on
8645         tests/test-mbsrtowcs1.sh.
8646         * tests/test-mbsrtoc32s-2.sh: New file, based on
8647         tests/test-mbsrtowcs2.sh.
8648         * tests/test-mbsrtoc32s-3.sh: New file, based on
8649         tests/test-mbsrtowcs3.sh.
8650         * tests/test-mbsrtoc32s-4.sh: New file, based on
8651         tests/test-mbsrtowcs4.sh.
8652         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
8654         mbsrtoc32s: New module.
8655         * lib/uchar.in.h (mbsrtoc32s): New declaration.
8656         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
8657         INTERNAL_STATE, MBRTOWC.
8658         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
8659         * lib/mbsrtoc32s.c: New file.
8660         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
8661         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
8662         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
8663         * modules/mbsrtoc32s: New file.
8664         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
8665         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
8667 2020-01-04  Bruno Haible  <bruno@clisp.org>
8669         mbrtowc, mbrtoc32: Tighten dependendies.
8670         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
8671         REPLACE_MBSTATE_T is 1.
8672         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
8673         REPLACE_MBSTATE_T is 0.
8674         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
8675         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
8676         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
8677         REPLACE_MBSTATE_T is 0.
8679 2020-01-04  Bruno Haible  <bruno@clisp.org>
8681         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
8682         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
8683         * modules/uchar (Files): Add stdint.m4.
8684         (Makefile.am): Substitute SMALL_WCHAR_T.
8685         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
8687 2020-01-04  Bruno Haible  <bruno@clisp.org>
8689         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
8690         Reported by Martin Storsjö <martin@martin.st> in
8691         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
8692         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8693         New macros.
8694         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
8696 2020-01-04  Bruno Haible  <bruno@clisp.org>
8698         btoc32: Add tests.
8699         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
8700         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
8701         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
8702         * modules/btoc32-tests: New file, based on modules/btowc-tests.
8704         btoc32: New module.
8705         * lib/uchar.in.h (btoc32): New declaration.
8706         * lib/btoc32.c: New file.
8707         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
8708         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
8709         * modules/btoc32: New file.
8710         * tests/test-uchar-c++.cc: Test the signature of btoc32.
8711         * doc/posix-functions/btowc.texi: Mention the new module.
8713 2020-01-03  Bruno Haible  <bruno@clisp.org>
8715         uchar tests: Avoid compilation error with HP cc.
8716         * tests/test-uchar.c: Disable a test when HP cc is in use.
8718 2020-01-03  Bruno Haible  <bruno@clisp.org>
8720         mbrtoc32: Add tests.
8721         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
8722         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
8723         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
8724         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
8725         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
8726         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
8727         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
8728         * tests/test-mbrtoc32-w32-1.sh: New file, based on
8729         tests/test-mbrtowc-w32-1.sh.
8730         * tests/test-mbrtoc32-w32-2.sh: New file, based on
8731         tests/test-mbrtowc-w32-2.sh.
8732         * tests/test-mbrtoc32-w32-3.sh: New file, based on
8733         tests/test-mbrtowc-w32-3.sh.
8734         * tests/test-mbrtoc32-w32-4.sh: New file, based on
8735         tests/test-mbrtowc-w32-4.sh.
8736         * tests/test-mbrtoc32-w32-5.sh: New file, based on
8737         tests/test-mbrtowc-w32-5.sh.
8738         * tests/test-mbrtoc32-w32-6.sh: New file, based on
8739         tests/test-mbrtowc-w32-6.sh.
8740         * tests/test-mbrtoc32-w32-7.sh: New file, based on
8741         tests/test-mbrtowc-w32-7.sh.
8742         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
8744         mbrtoc32: New module.
8745         * lib/uchar.in.h (mbrtoc32): New declaration.
8746         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
8747         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
8748         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
8749         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
8750         REPLACE_MBRTOC32.
8751         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
8752         HAVE_MBRTOC32, REPLACE_MBRTOC32.
8753         * modules/mbrtoc32: New file, based on modules/mbrtowc.
8754         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
8755         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
8756         $(LIB_MBRTOWC).
8757         * doc/posix-functions/mbrtoc32.texi: Document the new module.
8758         * doc/posix-functions/mbrtowc.texi: Mention the new module.
8760 2020-01-03  Bruno Haible  <bruno@clisp.org>
8762         mbrtowc: Refactor to share code with mbrtoc32.
8763         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
8764         * lib/mbrtowc-impl-utf8.h: Likewise.
8765         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
8766         mbrtowc-impl.h.
8767         * modules/mbrtowc (Files): Add the new files.
8769 2020-01-03  Jim Meyering  <meyering@fb.com>
8771         doc: fix time.texi wording
8772         * doc/posix-headers/time.texi (time.h): Typo.
8774 2020-01-03  Bruno Haible  <bruno@clisp.org>
8776         mbrtowc: Refactor locale charset dispatching.
8777         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
8778         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
8779         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
8780         localcharset.h, streq.h.
8781         (enc_t): Remove type.
8782         (locale_enc): Remove function.
8783         (cached_locale_enc): Remove variable.
8784         (locale_enc_cached): Remove function.
8785         (mbrtowc): Invoke locale_encoding_classification.
8786         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
8787         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
8788         lc-charset-dispatch.c.
8789         (configure.ac): Arrange to compile lc-charset-dispatch.c.
8791 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
8793         doc: mention 32-bit time_t issue
8794         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8795         * doc/posix-headers/time.texi (time.h): Mention 2038.
8797 2020-01-03  Bruno Haible  <bruno@clisp.org>
8799         mbrtowc: Ensure the mbtowc_lock is unique.
8800         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
8801         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
8802         lib/setlocale_null.c.
8803         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
8804         glthread/lock.h. Include mbtowc-lock.h.
8805         (mbtowc_lock): Remove declaration.
8806         (mbrtowc): Use mbtowc_with_lock.
8807         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
8808         threads.h. Set LIB_MBRTOWC.
8809         (gl_PREREQ_MBTOWC_LOCK): New macro.
8810         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
8811         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
8812         (Depends-on): Remove lock.
8813         (configure.ac): Arrange to compile mbtowc-lock.c.
8814         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
8815         * modules/acl (Link): Likewise.
8816         * modules/argmatch (Link): Likewise.
8817         * modules/backup-rename (Link): Likewise.
8818         * modules/backupfile (Link): Likewise.
8819         * modules/closein (Link): Likewise.
8820         * modules/closeout (Link): Likewise.
8821         * modules/copy-file (Link): Likewise.
8822         * modules/csharpcomp (Link): Likewise.
8823         * modules/csharpexec (Link): Likewise.
8824         * modules/dfa (Link): Likewise.
8825         * modules/exclude (Link): Likewise.
8826         * modules/fnmatch (Link): Likewise.
8827         * modules/fnmatch-gnu (Link): Likewise.
8828         * modules/fnmatch-posix (Link): Likewise.
8829         * modules/glob (Link): Likewise.
8830         * modules/human (Link): Likewise.
8831         * modules/javacomp (Link): Likewise.
8832         * modules/javaexec (Link): Likewise.
8833         * modules/javaversion (Link): Likewise.
8834         * modules/mbfile (Link): Likewise.
8835         * modules/mbiter (Link): Likewise.
8836         * modules/mbmemcasecmp (Link): Likewise.
8837         * modules/mbmemcasecoll (Link): Likewise.
8838         * modules/mbrlen (Link): Likewise.
8839         * modules/mbscasecmp (Link): Likewise.
8840         * modules/mbscasestr (Link): Likewise.
8841         * modules/mbschr (Link): Likewise.
8842         * modules/mbscspn (Link): Likewise.
8843         * modules/mbsinit (Link): Likewise.
8844         * modules/mbslen (Link): Likewise.
8845         * modules/mbsncasecmp (Link): Likewise.
8846         * modules/mbsnlen (Link): Likewise.
8847         * modules/mbsnrtowcs (Link): Likewise.
8848         * modules/mbspbrk (Link): Likewise.
8849         * modules/mbspcasecmp (Link): Likewise.
8850         * modules/mbsrchr (Link): Likewise.
8851         * modules/mbsrtowcs (Link): Likewise.
8852         * modules/mbssep (Link): Likewise.
8853         * modules/mbsspn (Link): Likewise.
8854         * modules/mbsstr (Link): Likewise.
8855         * modules/mbstok_r (Link): Likewise.
8856         * modules/mbswidth (Link): Likewise.
8857         * modules/mbuiter (Link): Likewise.
8858         * modules/mkdir-p (Link): Likewise.
8859         * modules/propername (Link): Likewise.
8860         * modules/quote (Link): Likewise.
8861         * modules/quotearg (Link): Likewise.
8862         * modules/quotearg-simple (Link): Likewise.
8863         * modules/regex-quote (Link): Likewise.
8864         * modules/rpmatch (Link): Likewise.
8865         * modules/sh-quote (Link): Likewise.
8866         * modules/system-quote (Link): Likewise.
8867         * modules/trim (Link): Likewise.
8868         * modules/unistdio/ulc-asnprintf (Link): Likewise.
8869         * modules/unistdio/ulc-fprintf (Link): Likewise.
8870         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
8871         * modules/unistdio/ulc-vasprintf (Link): Likewise.
8872         * modules/unistdio/ulc-vfprintf (Link): Likewise.
8873         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
8874         * modules/unistdio/ulc-vsprintf (Link): Likewise.
8875         * modules/xfreopen (Link): Likewise.
8876         * modules/xmemcoll (Link): Likewise.
8877         * modules/yesno (Link): Likewise.
8878         * modules/regex (Link): Add $(LIB_MBRTOWC).
8879         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
8880         instead of $(LIBTHREAD).
8881         * modules/argmatch-tests (Makefile.am): Likewise.
8882         * modules/closein-tests (Makefile.am): Likewise.
8883         * modules/copy-file-tests (Makefile.am): Likewise.
8884         * modules/dfa-tests (Makefile.am): Likewise.
8885         * modules/fnmatch-tests (Makefile.am): Likewise.
8886         * modules/glob-tests (Makefile.am): Likewise.
8887         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8888         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8889         * modules/mbrtowc-tests (Makefile.am): Likewise.
8890         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8891         * modules/mbscasestr-tests (Makefile.am): Likewise.
8892         * modules/mbschr-tests (Makefile.am): Likewise.
8893         * modules/mbscspn-tests (Makefile.am): Likewise.
8894         * modules/mbsinit-tests (Makefile.am): Likewise.
8895         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8896         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8897         * modules/mbspbrk-tests (Makefile.am): Likewise.
8898         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8899         * modules/mbsrchr-tests (Makefile.am): Likewise.
8900         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8901         * modules/mbsspn-tests (Makefile.am): Likewise.
8902         * modules/mbsstr-tests (Makefile.am): Likewise.
8903         * modules/quotearg-simple-tests (Makefile.am): Likewise.
8904         * modules/quotearg-tests (Makefile.am): Likewise.
8905         * modules/readtokens-tests (Makefile.am): Likewise.
8906         * modules/sh-quote-tests (Makefile.am): Likewise.
8907         * modules/system-quote-tests (Makefile.am): Likewise.
8908         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
8909         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8910         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
8911         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
8912         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
8913         * modules/yesno-tests (Makefile.am): Likewise.
8914         * modules/exclude-tests (Makefile.am): Link the programs with
8915         $(LIB_MBRTOWC).
8916         * modules/regex-tests (Makefile.am): Likewise.
8917         * modules/regex-quote-tests (Makefile.am): Likewise.
8919 2020-01-03  Bruno Haible  <bruno@clisp.org>
8921         getopt-posix: Fix compilation failure in testdirs.
8922         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
8923         when the gnulib module 'getopt-posix' is enabled.
8924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
8925         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
8926         module indicator.
8927         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
8929 2020-01-03  Bruno Haible  <bruno@clisp.org>
8931         doc: Mention the 64-bit inode number problem.
8932         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
8933         64-bit inode number problem.
8934         * doc/posix-functions/stat.texi: Mention that this module fixes the
8935         64-bit inode number problem.
8936         * doc/posix-functions/lstat.texi: Likewise.
8937         * doc/posix-functions/fstat.texi: Likewise.
8938         * doc/posix-functions/readdir.texi: Add more details.
8939         * doc/posix-functions/readdir_r.texi: Likewise.
8941 2020-01-02  Bruno Haible  <bruno@clisp.org>
8943         wcrtomb: Add more tests.
8944         * tests/test-wcrtomb-w32.c: Include localcharset.h.
8945         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
8946         locale_charset() returns the expected value; otherwise, skip the test.
8947         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
8948         * tests/test-wcrtomb-w32-7.sh: Likewise.
8949         * modules/wcrtomb-tests (Files): Add these files.
8950         (Depends-on): Add localcharset.
8951         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
8953 2020-01-02  Bruno Haible  <bruno@clisp.org>
8955         mbrtowc: Add more tests.
8956         * tests/test-mbrtowc-w32.c: Include localcharset.h.
8957         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
8958         locale_charset() returns the expected value; otherwise, skip the test.
8959         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
8960         * tests/test-mbrtowc-w32-7.sh: Likewise.
8961         * modules/mbrtowc-tests (Files): Add these files.
8962         (Depends-on): Add localcharset.
8963         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
8965 2020-01-02  Bruno Haible  <bruno@clisp.org>
8967         mbrtowc: Fix test failures on MSVC (regression by previous commit).
8968         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
8969         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
8970         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
8971         MBRTOWC_STORES_INCOMPLETE_BUG.
8972         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
8974 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8976         doc: mention glibc bug 24269
8977         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
8978         Reformat slightly so that it looks nicer in the Grep manual.
8980 2020-01-02  Bruno Haible  <bruno@clisp.org>
8982         mbrtowc: Don't replace mbstate_t on MSVC.
8983         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
8984         a missing mbsinit function on native Windows.
8985         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
8986         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
8987         MSVC bug.
8988         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
8990 2020-01-02  Bruno Haible  <bruno@clisp.org>
8992         setlocale-null: Avoid crashing the MSVC linker.
8993         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
8994         MSVC.
8996 2020-01-02  Bruno Haible  <bruno@clisp.org>
8998         wchar: Make the HP-UX workaround work on HP-UX 11.31.
8999         * modules/wchar (Depends-on): Add inttypes-incomplete.
9000         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
9001         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
9002         of strtoimax.
9004 2020-01-02  Bruno Haible  <bruno@clisp.org>
9006         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
9007         * lib/mbrtowc.c: Include <stdint.h>.
9008         * modules/mbrtowc (Depends-on): Add stdint.
9010 2020-01-01  Pádraig Brady  <P@draigBrady.com>
9012         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
9013         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
9014         which will auto enable use of openssl, only for >= version 3,
9015         which is newly licensed under the Apache Software License.
9017 2020-01-01  Bruno Haible  <bruno@clisp.org>
9019         mbrtowc: Include function name in macro names.
9020         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
9021         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
9022         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
9023         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
9024         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
9025         C_LOCALE_MAYBE_EILSEQ.
9027 2020-01-01  Bruno Haible  <bruno@clisp.org>
9029         c32tob: New module.
9030         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
9031         (c32tob): New declaration.
9032         * lib/c32tob.c: New file.
9033         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
9034         macros.
9035         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
9036         * modules/uchar (Depends-on): Add snippet/c++defs.
9037         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
9038         uchar.h.
9039         * modules/c32tob: New file.
9040         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
9041         defined.
9042         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
9043         c32tob.
9044         * modules/uchar-c++-tests (Files): Add tests/signature.h.
9045         * doc/posix-functions/wctob.texi: Mention the new module.
9047 2020-01-01  Bruno Haible  <bruno@clisp.org>
9049         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
9050         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
9051         $(LIB_SETLOCALE).
9053 2020-01-01  Bruno Haible  <bruno@clisp.org>
9055         hard-locale tests: Fix a conflict with the C++ tests.
9056         * modules/hard-locale-tests (Makefile.am): Build a program named
9057         'current-locale', not 'locale'.
9059 2020-01-01  Bruno Haible  <bruno@clisp.org>
9061         doc: Update documentation about wchar_t.
9062         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
9063         wchar_t type.
9065 2020-01-01  Bruno Haible  <bruno@clisp.org>
9067         mbrtowc tests: Fix typos.
9068         * tests/test-mbrtowc.c (main): Fix typo.
9069         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
9071 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9073         maint: update copyright notices
9074         Before doing the following changes done by hand, I also ran ‘make
9075         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
9076         to do most of the copyright years automatically.  A few upstream
9077         sources are still in 2019 but these should eventually be changed
9078         automatically too.
9079         * build-aux/declared.sh (func_version):
9080         * build-aux/libtool-next-version (func_version):
9081         * build-aux/run-test (func_version):
9082         Update these notices by hand.  Put just the last year
9083         in output of programs, as per GNU coding standards.
9085 2019-12-31  Bruno Haible  <bruno@clisp.org>
9087         uchar: Add C++ tests.
9088         * tests/test-uchar-c++.cc: New file.
9089         * tests/test-uchar-c++2.cc: New file.
9090         * modules/uchar-c++-tests: New file.
9092         uchar: Add tests.
9093         * tests/test-uchar.c: New file.
9094         * modules/uchar-tests: New file.
9096         uchar: New module.
9097         * lib/uchar.in.h: New file.
9098         * m4/uchar.m4: New file.
9099         * modules/uchar: New file.
9100         * doc/posix-headers/uchar.texi: Mention the new module.
9102 2019-12-30  Jim Meyering  <meyering@fb.com>
9104         localeinfo: ->simple would be wrong for LC_ALL=C
9105         That would lead to using unnecessary and expensive code paths in dfa.c.
9106         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
9107         error that would have made grep many times slower in the C locale.
9108         With this change, and a file created like this:
9109           yes 00 | head -10000000 > in
9110         Running grep as follows becomes more than 40 times faster:
9111           LC_ALL=C grep -Fw 0 in
9113 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9115         doc: document trouble with back-references
9116         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
9118 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9120         doc: use “back-reference” for \1 etc.
9121         * doc/regex.texi: Consistently spell “back-reference” with
9122         a hyphen, since that’s how POSIX does it.
9124 2019-12-26  Jim Meyering  <meyering@fb.com>
9126         test-framework-sh: tighten an internal grep regexp
9127         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
9128         that helps test for a working printf.
9130 2019-12-26  Bruno Haible  <bruno@clisp.org>
9132         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
9133         Reported by Paul Eggert in
9134         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
9135         Simplification by Jim Meyering.
9136         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
9137         octal escape sequence in a UTF-8 locale.
9139 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
9141         mbrtowc: port better to narrow-wchar_t platforms
9142         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
9143         wchar_t is too narrow to represent all the Unicode characters,
9144         consider a byte sequence for an out-of-wchar_t-range character to
9145         be an encoding error.  This fixes grep’s surrogate-pair test
9146         failure on AIX 7.2.
9148 2019-12-24  Bruno Haible  <bruno@clisp.org>
9150         localcharset: Avoid referencing rpl_setlocale on native Windows.
9151         * lib/localcharset.c (setlocale): Undefine.
9153 2019-12-24  Bruno Haible  <bruno@clisp.org>
9155         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
9156         * m4/semaphore.m4: New file.
9157         * modules/lock-tests (Files): Add it.
9158         (configure.ac): Require gl_SEMAPHORE.
9159         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
9161 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
9163         strptime: fix typo in previous patch
9164         Problem and fix reported by Bruno Haible in:
9165         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
9166         * lib/strptime.c (day_of_the_week): Fix paren bug.
9168 2019-12-24  Bruno Haible  <bruno@clisp.org>
9170         setlocale-null: Make it easy to rely on the lock in another library.
9171         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
9172         defined.
9174 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9176         gethrxtime, mktime, nstrftime, strptime: tweak division performance
9177         Performanced analyzed by Bruno Haible in:
9178         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
9179         * config/srclist.txt: Do not sync mktime.c for now.
9180         * lib/mktime.c (shr, ydhms_diff):
9181         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
9182         * lib/strptime.c (day_of_the_week):
9183         * lib/xtime.h (xtime_sec):
9184         Redo with neither ‘%’ nor conditional branches.
9186 2019-12-23  Bruno Haible  <bruno@clisp.org>
9188         setlocale-null: Export the lock function also on non-Windows platforms.
9189         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
9190         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
9191         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
9192         * modules/setlocale-null (configure.ac): Invoke it.
9193         (Files): Add m4/visibility.m4.
9195 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9197         gethrxtime: fix rounding bug with negative args
9198         Problem reported by Bruno Haible in:
9199         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
9200         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
9201         with negative rounding.  Common platforms can compute / and % with
9202         a single instruction, so the simplified code should be shorter and
9203         faster on these platforms anyway.
9205 2019-12-22  Bruno Haible  <bruno@clisp.org>
9207         gethrxtime: remove incorrect overflow detection
9208         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
9209         integer overflow, as it didn’t suffice.  This reverts the xtime.h
9210         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
9211         cannot now see the need for anyway (even in cases where it works),
9212         as the patch is helpful only when the signs of S and NS disagree,
9213         and all callers pass nonnegative values for S and NS.
9215 2019-12-22  Bruno Haible  <bruno@clisp.org>
9217         setlocale-null: Add standalone include file.
9218         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
9219         * lib/locale.in.h: Include setlocale_null.h.
9220         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
9221         setlocale_null): Remove declarations.
9222         * lib/setlocale_null.c: Include setlocale_null.h.
9223         * lib/localename.c: Likewise.
9224         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
9225         (Depends-on): Add snippet/arg-nonnull.
9226         (Include): Allow either "setlocale_null.h" or <locale.h>.
9228 2019-12-22  Bruno Haible  <bruno@clisp.org>
9230         strfmon_l: Fix test failures on FreeBSD and Cygwin.
9231         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
9232         AC_RUN_IFELSE test.
9233         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
9234         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
9235         problem.
9237 2019-12-22  Bruno Haible  <bruno@clisp.org>
9239         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
9240         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
9241         unconditional AC_LIBOBJ.
9242         * modules/selinux-at: Likewise.
9243         * modules/xmemdup0: Likewise.
9244         * modules/xstrtoll: Likewise.
9246 2019-12-22  Bruno Haible  <bruno@clisp.org>
9248         longlong: Mark module obsolete.
9249         * modules/longlong (Status, Notice): New sections.
9251         stdint: Assume that the compiler supports 'long long'.
9252         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
9253         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
9254         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9255         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
9256         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9257         * modules/stdint (Files): Remove longlong.m4.
9258         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
9259         HAVE_UNSIGNED_LONG_LONG_INT.
9261         inttypes-incomplete: Assume that the compiler supports 'long long'.
9262         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9263         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
9264         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9265         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
9266         HAVE_LONG_LONG_INT to be 1.
9267         * modules/inttypes-incomplete (Makefile.am): Don't substitute
9268         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
9270         malloca: Assume that the compiler supports 'long long'.
9271         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
9272         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
9273         * modules/malloca (Files): Remove longlong.m4.
9274         * modules/relocatable-prog-wrapper (Files): Likewise.
9276         atoll: Assume that the compiler supports 'long long'.
9277         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
9278         * modules/atoll (Files): Remove longlong.m4.
9280         strtoll: Assume that the compiler supports 'long long'.
9281         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
9282         * modules/strtoll (Files): Remove longlong.m4.
9284         strtoull: Assume that the compiler supports 'long long'.
9285         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
9286         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9287         * modules/strtoull (Files): Remove longlong.m4.
9289         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
9290         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
9291         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9292         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
9293         AC_TYPE_LONG_LONG_INT.
9294         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
9295         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9296         * modules/strtoimax (Files): Remove longlong.m4.
9297         * modules/strtoumax (Files): Likewise.
9299         xstrtoll: Assume that the compiler supports 'long long'.
9300         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
9301         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
9303         vasnprintf: Assume that the compiler supports 'long long'.
9304         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
9305         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
9306         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9307         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
9308         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
9309         require AC_TYPE_LONG_LONG_INT.
9310         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9311         gl_PREREQ_VASNPRINTF): Likewise.
9312         * modules/vasnprintf (Files): Remove longlong.m4.
9313         * modules/c-vasnprintf (Files): Likewise.
9314         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9315         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9316         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9317         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9318         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9319         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9320         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9322         gethrxtime: Assume that the compiler supports 'long long'.
9323         * lib/xtime.h (xtime_t): Define to 'long long int' always.
9324         (XTIME_PRECISION): Define to 1000000000 always.
9325         (xtime_make, xtime_sec): Optimize accordingly.
9326         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
9327         * modules/gethrxtime (Files): Remove longlong.m4.
9329         integer_length*: Assume that the compiler supports 'long long'.
9330         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
9331         * modules/integer_length (Files): Remove longlong.m4.
9332         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9333         * modules/integer_length_l (Files): Remove longlong.m4.
9334         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9335         * modules/integer_length_ll (Files): Remove longlong.m4.
9336         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9338         count-one-bits: Assume that the compiler supports 'long long'.
9339         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
9340         * m4/count-one-bits.m4: Remove file.
9341         * modules/count-one-bits (Files): Remove it.
9342         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
9343         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
9344         unconditionally.
9346         count-trailing-zeros: Assume that the compiler supports 'long long'.
9347         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
9348         unconditionally.
9349         * m4/count-trailing-zeros.m4: Remove file.
9350         * modules/count-trailing-zeros (Files): Remove it.
9351         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
9352         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
9353         unconditionally.
9355         count-leading-zeros: Assume that the compiler supports 'long long'.
9356         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
9357         unconditionally.
9358         * m4/count-leading-zeros.m4: Remove file.
9359         * modules/count-leading-zeros (Files): Remove it.
9360         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
9361         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
9362         unconditionally.
9364 2019-12-22  Bruno Haible  <bruno@clisp.org>
9366         localcharset: Update support for OpenBSD.
9367         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
9369 2019-12-21  Bruno Haible  <bruno@clisp.org>
9371         pthread_sigmask: Avoid test failure on NetBSD 8.0.
9372         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
9373         NetBSD.
9374         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
9376 2019-12-21  Bruno Haible  <bruno@clisp.org>
9378         threadlib: Improve code structure.
9379         * m4/threadlib.m4: Reorder macros. Add comments.
9381 2019-12-21  Bruno Haible  <bruno@clisp.org>
9383         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
9384         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
9385         here from m4/threads.m4).
9386         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
9387         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
9388         (gl_STDTHREADLIB): New macro.
9389         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
9390         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
9392 2019-12-21  Bruno Haible  <bruno@clisp.org>
9394         sched_yield: Don't depend on threadlib and yield.
9395         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
9396         LIB_SCHED_YIELD.
9397         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
9398         m4/yield.m4).
9399         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
9400         gl_THREADLIB and gl_YIELD.
9401         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
9402         based on $(LIB_SCHED_YIELD).
9403         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
9404         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9405         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
9406         (Depends-on): Remove threadlib.
9407         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9408         * modules/threads-h (Files): Remove m4/yield.m4.
9409         * modules/pthread-cond-tests (Makefile.am): Link the programs against
9410         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9411         * modules/pthread-mutex-tests (Makefile.am): Likewise.
9412         * modules/pthread-once-tests (Makefile.am): Likewise.
9413         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
9414         * modules/pthread-tss-tests (Makefile.am): Likewise.
9416 2019-12-21  Bruno Haible  <bruno@clisp.org>
9418         threads-h: Don't depend on threadlib.
9419         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
9420         not gl_THREADLIB_EARLY.
9422 2019-12-21  Bruno Haible  <bruno@clisp.org>
9424         nl_langinfo tests: Fix link error (regression from 2019-12-18).
9425         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
9426         with $(LIB_SETLOCALE).
9428 2019-12-21  Bruno Haible  <bruno@clisp.org>
9430         threadlib: Remove unused dependency (left over from 2019-07-06).
9431         * modules/threadlib (Depends-on): Remove havelib.
9433 2019-12-21  Bruno Haible  <bruno@clisp.org>
9435         New convention for multithread-safety tests.
9436         * tests/test-setlocale_null-mt-one.c: Renamed from
9437         tests/test-setlocale_null-one.c.
9438         * tests/test-setlocale_null-mt-all.c: Renamed from
9439         tests/test-setlocale_null-all.c.
9440         * modules/setlocale-null-tests (Files, Makefile.am): Update.
9442 2019-12-21  Bruno Haible  <bruno@clisp.org>
9444         quotearg tests: Fix conflict with hard-locale tests.
9445         * tests/testlocale: Renamed from tests/locale.
9446         * modules/quotearg-tests (Files): Update.
9447         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
9449 2019-12-21  Bruno Haible  <bruno@clisp.org>
9451         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
9452         Reported by Daniel Richard G. in
9453         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
9454         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
9455         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
9456         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
9457         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
9458         alternative to PTHREAD_RWLOCK_INITIALIZER.
9459         * lib/glthread/lock.c: Likewise.
9461 2019-12-21  Bruno Haible  <bruno@clisp.org>
9463         memcmp tests: Work around the clang bug.
9464         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
9465         the clang optimization.
9467 2019-12-20  Bruno Haible  <bruno@clisp.org>
9469         localcharset: Add support for z/OS encoding names.
9470         * lib/localcharset.h: Mention which encodings are used as locale
9471         encodings on z/OS.
9473 2019-12-20  Bruno Haible  <bruno@clisp.org>
9475         iconv_open: Add support for z/OS encoding names.
9476         Reported by Daniel Richard G. in
9477         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
9478         * lib/iconv_open-zos.gperf: New file.
9479         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
9480         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
9481         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
9482         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
9483         * doc/posix-functions/iconv_open.texi: Mention z/OS.
9485 2019-12-20  Bruno Haible  <bruno@clisp.org>
9487         doc: Document the problem of the per-thread locale functions on z/OS.
9488         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
9489         * doc/posix-functions/newlocale.texi: Likewise.
9490         * doc/posix-functions/duplocale.texi: Likewise.
9491         * doc/posix-functions/freelocale.texi: Likewise.
9493 2019-12-20  Bruno Haible  <bruno@clisp.org>
9495         localename, gettext: Fix host_os value for z/OS.
9496         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
9497         cross-configuration code.
9499 2019-12-19  Jim Meyering  <meyering@fb.com>
9501         nstrftime: avoid a shadowing warning
9502         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
9503         to avoid shadowing an "i" declared hundreds of lines above.
9505 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9507         dfa: struct dfamust now uses flexible array
9508         * lib/dfa.c: Include flexmember.h.
9509         (dfamust, dfamustfree): Adjust to struct dfamust change.
9510         This saves a call to malloc+free.
9511         * lib/dfa.h (struct dfamust): Make the final member a
9512         flexible array member.
9513         * modules/dfa (Depends-on): Add flexmember.
9515         dfa: fast->small for array elements
9516         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
9517         since this type is used in arrays.  This change is more for
9518         documentation than for any practical effect, since the two types
9519         are the same on all known platforms.
9521 2019-12-19  Bruno Haible  <bruno@clisp.org>
9523         iconv tests: Test canonicalized, not system-dependent, encoding names.
9524         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
9525         * modules/iconv-tests (Depends-on): Add iconv_open.
9527 2019-12-18  Bruno Haible  <bruno@clisp.org>
9529         localename: Fix test failure on AIX 7.2.
9530         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
9531         locales on AIX.
9532         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
9533         locales on AIX.
9535 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9537         Improve port of AC_C_RESTRICT to Oracle C++
9538         Problem reported by Christian Biesinger in:
9539         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
9540         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
9541         Oracle Developer Studio C++ 12.5 or later.
9543 2019-12-18  Bruno Haible  <bruno@clisp.org>
9545         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
9546         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
9548 2019-12-18  Bruno Haible  <bruno@clisp.org>
9550         localename: Ensure multithread-safety in future changes.
9551         * lib/localename.c (setlocale): Reference the system's setlocale().
9552         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
9553         (gl_locale_name_posix): Likewise.
9554         * modules/localename (Depends-on): Add setlocale-null.
9556 2019-12-18  Bruno Haible  <bruno@clisp.org>
9558         setlocale-null: Make API more useful.
9559         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
9560         callers changed.
9561         (setlocale_null): New declaration.
9562         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
9563         extracted from setlocale_null_unlocked.
9564         (setlocale_null_unlocked): Invoke it.
9565         (setlocale_null_r): Renamed from setlocale_null.
9566         (setlocale_null): New function, extracted from setlocale_mtsafe in
9567         setlocale.c.
9568         * lib/setlocale.c: Don't include <errno.h>.
9569         (setlocale_mtsafe): Invoke setlocale_null.
9570         * lib/setlocale-lock.c: Update comments.
9571         * doc/posix-functions/setlocale.texi: Mention both functions.
9573 2019-12-18  Bruno Haible  <bruno@clisp.org>
9575         localename: Optimize code for native Windows.
9576         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
9577         category (not allowed here).
9579 2019-12-18  Bruno Haible  <bruno@clisp.org>
9581         setlocale: Make calls with NULL argument multithread-safe.
9582         * lib/setlocale.c: Include <errno.h>.
9583         (setlocale_mtsafe): New function.
9584         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
9585         (setlocale_improved): Renamed from rpl_setlocale.
9586         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
9587         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
9588         LIB_SETLOCALE.
9589         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
9590         (Link): New section.
9591         * tests/locale.c: Undefine setlocale.
9592         * tests/test-setlocale_null-one.c: Likewise.
9593         * tests/test-setlocale_null-all.c: Likewise.
9594         * modules/setlocale-tests (Makefile.am): Link the test programs with
9595         $(LIB_SETLOCALE).
9596         * modules/astrxfrm-tests (Makefile.am): Likewise.
9597         * modules/btowc-tests (Makefile.am): Likewise.
9598         * modules/c-ctype-tests (Makefile.am): Likewise.
9599         * modules/c-snprintf-tests (Makefile.am): Likewise.
9600         * modules/c-strcase-tests (Makefile.am): Likewise.
9601         * modules/c-vasprintf-tests (Makefile.am): Likewise.
9602         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
9603         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
9604         * modules/dfa-tests (Makefile.am): Likewise.
9605         * modules/duplocale-tests (Makefile.am): Likewise.
9606         * modules/hard-locale-tests (Makefile.am): Likewise.
9607         * modules/localcharset-tests (Makefile.am): Likewise.
9608         * modules/localename-tests (Makefile.am): Likewise.
9609         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9610         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9611         * modules/mbrtowc-tests (Makefile.am): Likewise.
9612         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9613         * modules/mbscasestr-tests (Makefile.am): Likewise.
9614         * modules/mbschr-tests (Makefile.am): Likewise.
9615         * modules/mbscspn-tests (Makefile.am): Likewise.
9616         * modules/mbsinit-tests (Makefile.am): Likewise.
9617         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9618         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9619         * modules/mbspbrk-tests (Makefile.am): Likewise.
9620         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9621         * modules/mbsrchr-tests (Makefile.am): Likewise.
9622         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9623         * modules/mbsspn-tests (Makefile.am): Likewise.
9624         * modules/mbsstr-tests (Makefile.am): Likewise.
9625         * modules/nl_langinfo-tests (Makefile.am): Likewise.
9626         * modules/quotearg-tests (Makefile.am): Likewise.
9627         * modules/regex-tests (Makefile.am): Likewise.
9628         * modules/strfmon_l-tests (Makefile.am): Likewise.
9629         * modules/strtod-tests (Makefile.am): Likewise.
9630         * modules/strtold-tests (Makefile.am): Likewise.
9631         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
9632         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
9633         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
9634         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
9635         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
9636         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
9637         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
9638         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9639         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
9640         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
9641         * modules/wcrtomb-tests (Makefile.am): Likewise.
9642         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
9643         * modules/wcsrtombs-tests (Makefile.am): Likewise.
9644         * modules/wcwidth-tests (Makefile.am): Likewise.
9645         * doc/posix-functions/setlocale.texi: Mention that the multithread-
9646         safety fix is also available in module 'setlocale'.
9648 2019-12-18  Bruno Haible  <bruno@clisp.org>
9650         hard-locale: Make multithread-safe.
9651         * lib/hard-locale.h (hard_locale): Move documentation to here.
9652         * lib/hard-locale.c: Don't include <stdlib.h>.
9653         (GLIBC_VERSION): Remove macro.
9654         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
9655         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
9656         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
9657         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
9658         (Link): New section.
9659         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
9660         $(LIB_HARD_LOCALE).
9662 2019-12-18  Bruno Haible  <bruno@clisp.org>
9664         hard-locale: Avoid test failure on Haiku.
9665         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
9667 2019-12-18  Bruno Haible  <bruno@clisp.org>
9669         setlocale-null: Handle NULL result from setlocale.
9670         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
9671         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
9672         from setlocale or _wsetlocale.
9674 2019-12-18  Bruno Haible  <bruno@clisp.org>
9676         hard-locale: Add test.
9677         * tests/test-hard-locale.c: New file.
9678         * tests/locale.c: New file.
9679         * modules/hard-locale-tests: New file.
9681 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
9683         dfa: do not match invalid UTF-8
9684         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
9685         from 5 to 9 tokens; this is needed due to the changes to
9686         add_utf8_anychar.
9687         (charclass_index): 2nd arg is now pointer-to-const.
9688         (add_utf8_anychar): Match only valid UTF-8 byte sequences
9689         instead of allowing overlong encodings or surrogate halves.
9691         dfa: simplify charclass by assuming C99
9692         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
9693         (charclass_word): Now always uint_fast64_t.
9694         (CHARCLASS_PAIR): Remove.
9695         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
9697         fts: tune via calloc
9698         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
9700         dfa: tune via xzalloc
9701         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
9703 2019-12-17  Bruno Haible  <bruno@clisp.org>
9705         localcharset: Fix multithread-safety bug on Windows and OS/2.
9706         * lib/localcharset.h (locale_charset): Clarify when the result becomes
9707         invalid.
9708         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
9709         assemble the result.
9711 2019-12-17  Bruno Haible  <bruno@clisp.org>
9713         localcharset: Optimize code for native Windows.
9714         * lib/localcharset.c (locale_charset): Don't bother calling
9715         setlocale (LC_ALL, NULL) since we're not interested in its result.
9717 2019-12-17  Bruno Haible  <bruno@clisp.org>
9719         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
9720         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
9721         setlocale.
9722         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
9723         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
9724         * modules/nl_langinfo (Depends-on): Add setlocale-null.
9726 2019-12-17  Bruno Haible  <bruno@clisp.org>
9728         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
9729         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
9730         stack-allocated buffer to assemble each result and different static
9731         buffers to return it.
9732         * tests/test-nl_langinfo-mt.c: New file.
9733         * modules/nl_langinfo-tests (Files): Add it.
9734         (Depends-on): Add thread, nanosleep.
9735         (Makefile.am): Build test-nl_langinfo-mt test.
9737 2019-12-17  Bruno Haible  <bruno@clisp.org>
9739         langinfo: Document more details.
9740         * doc/posix-headers/langinfo.texi: List platform details.
9741         * doc/posix-functions/nl_langinfo.texi: Likewise.
9743 2019-12-17  Bruno Haible  <bruno@clisp.org>
9745         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
9746         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
9747         and Martin Storsjö <martin@martin.st>
9748         in <https://savannah.gnu.org/bugs/?57406>.
9749         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
9750         mingw.
9752 2019-12-17  Bruno Haible  <bruno@clisp.org>
9754         glob: Avoid warning on mingw.
9755         Reported by Christian Biesinger <cbiesinger@google.com> in
9756         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
9757         * lib/glob.c (__stat64): Undefine first.
9759 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
9761         xalloc: tune xzalloc for fresh allocations
9762         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
9763         because when the memory is freshly allocated from the OS via sbrk
9764         or mmap, calloc can avoid doing the memset.
9766         dfa: new function dfacopysyntax
9767         * lib/dfa.c (struct dfa): Move syntax member later so
9768         that dfacopysyntax can easily clear earlier members.
9769         (dfacopysyntax): New function, used by Gawk.
9771 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9773         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
9774         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
9775         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
9776         if not already defined.
9778         dfa: remove one dependency on MB_CUR_MAX
9779         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
9781         dfa: remove struct lexer_state.cur_mb_len
9782         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
9783         as it’s not needed and the code is simpler without it.
9784         All uses removed.
9786 2019-12-16  Bruno Haible  <bruno@clisp.org>
9788         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
9789         Reported by Arnold Robbins <arnold@skeeve.com>.
9790         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
9791         copied from lib/glthread/lock.h.
9792         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
9793         (setlocale_null_with_lock): If pthread_in_use() is false, use
9794         setlocale_null_unlocked directly.
9795         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
9796         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
9797         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
9798         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
9799         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
9800         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
9802 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9804         dfa: make dfasyntax thread-safe
9805         Problem reported by Bruno Haible in:
9806         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
9807         * lib/dfa.c: Do not include locale.h.
9808         (struct dfa): Remove simple_locale member.
9809         All uses replaced by localeinfo.simple.
9810         (using_simple_locale): Remove; now present (with some
9811         changes) in localeinfo.c.
9812         (dfasyntax): No need to initialize removed member.
9814         localeinfo: record whether locale is simple
9815         * lib/localeinfo.c (using_simple_locale): New function,
9816         copied here from lib/dfa.c but with a change: it uses
9817         strcoll for its heuristic, instead of using setlocale.
9818         This lets it be thread-safe.
9819         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
9821 2019-12-15  Bruno Haible  <bruno@clisp.org>
9823         duplocale: Fix multithread-safety bug on AIX.
9824         * lib/duplocale.c: Don't include <stdlib.h>.
9825         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
9826         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
9827         Set LIB_DUPLOCALE.
9828         * modules/duplocale (Depends-on): Add setlocale-null.
9829         (Link): New section.
9830         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
9831         $(LIB_DUPLOCALE).
9833 2019-12-15  Bruno Haible  <bruno@clisp.org>
9835         setlocale-null: Add tests.
9836         * tests/test-setlocale_null.c: New file.
9837         * tests/test-setlocale_null-one.c: New file.
9838         * tests/test-setlocale_null-all.c: New file.
9839         * modules/setlocale-null-tests: New file.
9841         setlocale-null: New module.
9842         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
9843         setlocale_null): New declarations.
9844         * lib/setlocale_null.c: New file.
9845         * lib/setlocale-lock.c: New file.
9846         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
9847         * m4/setlocale_null.m4: New file.
9848         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
9849         GNULIB_SETLOCALE_NULL.
9850         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
9851         * modules/setlocale-null: New file.
9852         * doc/posix-functions/setlocale.texi: Mention the new module.
9854 2019-12-15  Bruno Haible  <bruno@clisp.org>
9856         lock tests: Skip test when no multithreading is enabled.
9857         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
9859 2019-12-14  Bruno Haible  <bruno@clisp.org>
9861         locale, duplocale, localename: Fix last patch.
9862         Reported by Daniel Richard G. in
9863         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
9864         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
9865         Don't define if locale_t does not exist.
9867 2019-12-13  Bruno Haible  <bruno@clisp.org>
9869         locale, duplocale, localename: Fix errors if locale_t does not exist.
9870         Reported by Daniel Richard G. in
9871         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
9872         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
9873         macros.
9874         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
9875         HAVE_NEWLOCALE.
9876         * tests/test-localename.c: Likewise.
9877         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
9878         HAVE_DUPLOCALE.
9879         * tests/test-locale-c++.cc: Likewise.
9881 2019-12-13  Bruno Haible  <bruno@clisp.org>
9883         wcstok: Fix test failure on HP-UX.
9884         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
9885         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
9887 2019-12-12  Bruno Haible  <bruno@clisp.org>
9889         strtod, strtold tests: Avoid test failure on AIX 7.2.
9890         * tests/test-strtod1.c (main): Allow implementations in which ',' and
9891         '.' both are radix characters.
9892         * tests/test-strtold1.c (main): Likewise.
9894 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9896         dfa: prefer ptrdiff_t for API, too
9897         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
9898         but do this only for internal use for now.
9899         * NEWS: Mention the API change.
9900         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
9901         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
9902         values known to be nonnegative.
9903         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
9904         Prefer idx_t or ptrdiff_t to size_t for API.
9905         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
9906         Prefer ptrdiff_t to size_t for API.
9908         stdalign: port to xlclang 16.01
9909         Problem reportd by Bruno Haible in:
9910         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
9911         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
9912         ((__aligned__ (...))) with xlclang, as a top-level
9913         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
9914         xlclang version 16.01.0000.0001; the alignment directive is ignored.
9916 2019-12-12  Bruno Haible  <bruno@clisp.org>
9918         duplocale: Fix test failure on AIX 7.2 with xlclang.
9919         * lib/duplocale.c: Include <stdlib.h>.
9920         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
9921         value.
9923 2019-12-12  Bruno Haible  <bruno@clisp.org>
9925         stddef: Document the AIX xlc issue.
9926         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
9928 2019-12-12  Bruno Haible  <bruno@clisp.org>
9930         duplocale: Don't attempt to override if locale_t does not exist.
9931         Reported by Daniel Richard G. in
9932         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
9933         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
9934         HAVE_DUPLOCALE to 0.
9936 2019-12-12  Bruno Haible  <bruno@clisp.org>
9938         wcwidth: Avoid test failure on AIX 7.2.
9939         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
9940         negative.
9941         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
9943 2019-12-12  Bruno Haible  <bruno@clisp.org>
9945         ilogbl: Work around Cygwin bug.
9946         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
9947         correct.
9948         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
9950 2019-12-12  Bruno Haible  <bruno@clisp.org>
9952         strtold: Work around Cygwin bug.
9953         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
9954         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
9955         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
9956         STRTOLD_HAS_UNDERFLOW_BUG is defined.
9957         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
9959 2019-12-12  Bruno Haible  <bruno@clisp.org>
9961         strtold: Fix autoconf test.
9962         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
9964 2019-12-11  Bruno Haible  <bruno@clisp.org>
9966         fsync tests: Skip test that is known to fail.
9967         * doc/posix-functions/fsync.texi: Update list of platforms.
9968         * tests/test-fsync.c (main): Skip test with read-only file descriptors
9969         that is known to fail on AIX and Cygwin.
9971 2019-12-11  Bruno Haible  <bruno@clisp.org>
9973         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
9974         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
9975         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
9976         HAVE_GETADDRINFO as a C macro.
9977         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
9978         declare as replacement functions.
9979         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
9980         define as no-op overrides.
9981         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
9982         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
9983         * modules/getaddrinfo (Depends-on, configure.ac): Test
9984         REPLACE_GETADDRINFO.
9985         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
9986         problem.
9987         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
9988         convention problems.
9990 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
9992         dfa: prefer signed integers for internals
9993         Signed integers can be checked more easily for integer overflow.
9994         * lib/dfa.c (position, struct lexer_state, struct parser_state)
9995         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
9996         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
9997         (nsubtoks, copytoks, closure, alloc_position_set, delete)
9998         (replace, state_index, epsclosure, charclass_context)
9999         (state_separate_contexts, merge_nfa_state, dfaoptimize)
10000         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
10001         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
10002         (comsubs, inboth, allocmust):
10003         Prefer a signed to an unsigned integer when calculating indexes,
10004         unless the integer is part of the external API (a bigger deal,
10005         and to be done later).
10007         dfa: fix index overflow
10008         * lib/dfa.c (compare): Avoid integer overflow when analyzing
10009         very large regular expressions.
10011         dfa: update commentary for previous change
10012         * NEWS: Mention the change.
10013         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
10015 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10017         dfa: separate parse and compile phase
10018         ‘dfamust’ must be called after parsing and before tokens are
10019         reordered, but both are executed in the compilation phase.
10020         Token reordering was introduced in Gnulib commit
10021         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
10022         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
10023         * lib/dfa.c (dfaparse): Change it to global function.
10024         (dfacomp): If first argument is NULL, skip parse.
10025         * lib/dfa.h: (dfaparse): Add a prototype.
10027 2019-12-11  Bruno Haible  <bruno@clisp.org>
10029         unistd tests: Fix link error on MSVC.
10030         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
10031         $(LIB_GETLOGIN).
10033 2019-12-11  Bruno Haible  <bruno@clisp.org>
10035         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
10036         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
10037         and POSIX substitutes are supported in C++ mode.
10038         * NEWS: Likewise.
10040 2019-12-11  Bruno Haible  <bruno@clisp.org>
10042         stddef: Fix compilation error in C++ mode on MSVC.
10043         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
10044         instead, include <cstddef>.
10046 2019-12-11  Bruno Haible  <bruno@clisp.org>
10048         unistd: Fix compilation error in C++ mode on MSVC.
10049         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
10050         does not have <unistd.h>.
10052 2019-12-11  Bruno Haible  <bruno@clisp.org>
10054         locale: Fix compilation error in C++ mode on MSVC.
10055         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
10056         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
10057         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
10058         int_n_sep_by_space): Define as macros on MSVC.
10060 2019-12-11  Bruno Haible  <bruno@clisp.org>
10062         wchar: Fix compilation error in C++ mode on MSVC.
10063         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
10065 2019-12-11  Bruno Haible  <bruno@clisp.org>
10067         pthread-thread: Fix compilation error in C++ mode on MSVC.
10068         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
10069         _GL_CXXALIAS_RPL invocation.
10071 2019-12-08  Bruno Haible  <bruno@clisp.org>
10073         Fix compilation errors in C++ mode on Haiku.
10074         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
10075         non-glibc systems.
10076         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
10077         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10078         posix_spawnattr_setschedparam): Likewise.
10079         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
10080         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10081         * lib/unistd.in.h (usleep): Likewise.
10083 2019-12-08  Bruno Haible  <bruno@clisp.org>
10085         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
10086         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
10087         * modules/fseeko (configure.ac-early): Require it instead of
10088         AC_FUNC_FSEEKO.
10089         * modules/ftello (configure.ac-early): Likewise.
10090         * modules/fflush (configure.ac-early): Likewise.
10092 2019-12-08  Bruno Haible  <bruno@clisp.org>
10094         Fix compilation error in C++ mode on HP-UX 11.
10095         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
10096         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
10098 2019-12-08  Bruno Haible  <bruno@clisp.org>
10100         Fix compilation errors on HP-UX 11/ia64.
10101         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
10102         _GL_FUNCDECL_SYS.
10104 2019-12-08  Bruno Haible  <bruno@clisp.org>
10106         Fix compilation error in C++ mode on OpenBSD.
10107         * lib/signal.in.h (signal): Declare on OpenBSD.
10109 2019-12-08  Bruno Haible  <bruno@clisp.org>
10111         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
10112         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
10113         instead of #error.
10115 2019-12-08  Bruno Haible  <bruno@clisp.org>
10117         Fix compilation errors in C++ mode on FreeBSD.
10118         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
10119         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
10120         * lib/threads.in.h (thrd_exit): Likewise.
10121         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
10123 2019-12-08  Bruno Haible  <bruno@clisp.org>
10125         Fix compilation errors in C++ mode on macOS and FreeBSD.
10126         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
10127         or FreeBSD with clang, use the approach without C preprocessor macro.
10129 2019-12-07  Bruno Haible  <bruno@clisp.org>
10131         Fix compilation errors in C++ mode on AIX with xlclang++.
10132         Reported by Christian Biesinger <cbiesinger@google.com> in
10133         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10134         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
10136 2019-12-07  Bruno Haible  <bruno@clisp.org>
10138         Document compilation error in C++ mode on NetBSD 8.0.
10139         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
10141 2019-12-07  Bruno Haible  <bruno@clisp.org>
10143         Fix compilation errors in C++ mode on Solaris 10.
10144         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
10145         to non-empty on Solaris with a non-GCC compiler.
10146         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
10148 2019-12-07  Bruno Haible  <bruno@clisp.org>
10150         Reword NEWS entry.
10151         * NEWS: Reword the latest NEWS entry.
10153 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
10155         Move xstrtol_fatal to a new xstrtol-error module.
10156         * lib/xstrtol.h: Stop including <getopt.h>.
10157         (xstrtol_fatal): Move ...
10158         * lib/xstrtol-error.h: ... here.  New file.
10159         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
10160         * tests/test-xstrtol.c: Likewise.
10161         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
10162         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
10163         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
10164         * modules/xstrtol-error: New file.
10165         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
10166         * MODULES.html.sh: Add xstrtol-error.
10167         * NEWS: Document the change.
10169 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
10171         nstrftime: better width support for %N, %z
10172         * lib/nstrftime.c (width_add, width_add1, width_cpy):
10173         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
10174         a new WIDTH parameter.
10175         (add, add1, cpy): Use these macros.
10176         (width_add): Do not treat digits == 0 as a special case,
10177         do not pad if padding is ‘-’, and do not use a negative width.
10178         (__strftime_internal): Redo formatting of nanoseconds and numeric
10179         timezones to avoid buffer misuse in unusual cases, and so that
10180         widths make more sense.  Add support for widths greater than 9 to
10181         the %N format; they are zero filled on the right.
10182         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
10184 2019-12-05  Bruno Haible  <bruno@clisp.org>
10186         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
10187         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
10188         set REPLACE_ISFINITE to 1.
10189         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
10190         REPLACE_ISINF to 1.
10191         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
10192         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
10193         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10194         * lib/threads.in.h (call_once): Likewise.
10195         * lib/iconv.in.h (iconv): Likewise.
10197 2019-12-05  Bruno Haible  <bruno@clisp.org>
10199         wchar: Add more C++ tests.
10200         Reported by Christian Biesinger <cbiesinger@google.com> in
10201         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10202         * tests/test-wchar-c++3.cc: New file.
10203         * modules/wchar-c++-tests (Files): Add it.
10204         (Makefile.am): Compile it.
10206 2019-12-05  Bruno Haible  <bruno@clisp.org>
10208         Add more C++ tests.
10210         assert-h: Add C++ tests.
10211         * tests/test-assert-h-c++.cc: New file.
10212         * tests/test-assert-h-c++2.cc: New file.
10213         * modules/assert-h-c++-tests: New file.
10214         * modules/assert-h-tests: New file.
10216         ctype: Add C++ tests.
10217         * tests/test-ctype-c++.cc: New file.
10218         * tests/test-ctype-c++2.cc: New file.
10219         * modules/ctype-c++-tests: New file.
10220         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
10222         errno: Add C++ tests.
10223         * tests/test-errno-c++.cc: New file.
10224         * tests/test-errno-c++2.cc: New file.
10225         * modules/errno-c++-tests: New file.
10226         * modules/errno-tests (Depends-on): Add errno-c++-tests.
10228         float: Add C++ tests.
10229         * tests/test-float-c++.cc: New file.
10230         * tests/test-float-c++2.cc: New file.
10231         * modules/float-c++-tests: New file.
10232         * modules/float-tests (Depends-on): Add float-c++-tests.
10234         inttypes: Add more C++ tests.
10235         * tests/test-inttypes-c++2.cc: New file.
10236         * modules/inttypes-c++-tests (Files): Add it.
10237         (Makefile.am): Compile it.
10239         limits-h: Add C++ tests.
10240         * tests/test-limits-h-c++.cc: New file.
10241         * tests/test-limits-h-c++2.cc: New file.
10242         * modules/limits-h-c++-tests: New file.
10243         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
10245         stdarg: Add C++ tests.
10246         * tests/test-stdarg-c++.cc: New file.
10247         * tests/test-stdarg-c++2.cc: New file.
10248         * modules/stdarg-c++-tests: New file.
10249         * modules/stdarg-tests: New file.
10251         stdbool: Add C++ tests.
10252         * tests/test-stdbool-c++.cc: New file.
10253         * tests/test-stdbool-c++2.cc: New file.
10254         * modules/stdbool-c++-tests: New file.
10255         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
10257         stddef: Add C++ tests.
10258         * tests/test-stddef-c++.cc: New file.
10259         * tests/test-stddef-c++2.cc: New file.
10260         * modules/stddef-c++-tests: New file.
10261         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
10263         stdint: Add C++ tests.
10264         * tests/test-stdint-c++.cc: New file.
10265         * tests/test-stdint-c++2.cc: New file.
10266         * modules/stdint-c++-tests: New file.
10267         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
10269         wchar: Add more C++ tests.
10270         * tests/test-wchar-c++2.cc: New file.
10271         * modules/wchar-c++-tests (Files): Add it.
10272         (Makefile.am): Compile it.
10274         wctype-h: Add more C++ tests.
10275         * tests/test-wctype-h-c++2.cc: New file.
10276         * modules/wctype-h-c++-tests (Files): Add it.
10277         (Makefile.am): Compile it.
10279 2019-12-04  Bruno Haible  <bruno@clisp.org>
10281         Fix compilation errors in C++ mode with xlclang++ on AIX.
10282         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
10283         C++ mode on AIX.
10284         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
10285         without C preprocessor macro.
10286         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
10287         _GL_CXXALIAS_SYS.
10288         * lib/threads.in.h (thrd_exit): Likewise.
10290 2019-12-04  Bruno Haible  <bruno@clisp.org>
10292         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
10293         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
10294         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
10296 2019-12-04  Bruno Haible  <bruno@clisp.org>
10298         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
10299         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
10300         _GL_CXXALIASWARN invocation on non-glibc systems.
10301         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
10302         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
10303         iswctype, towlower, towupper): Likewise.
10305 2019-12-03  Bruno Haible  <bruno@clisp.org>
10307         Avoid hassles caused by [[noreturn]] in C++.
10308         Reported by Christian Biesinger <cbiesinger@google.com> in
10309         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
10310         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
10311         * lib/_Noreturn.h: Likewise.
10313 2019-12-02  Bruno Haible  <bruno@clisp.org>
10315         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
10316         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
10317         LIBMULTITHREAD.
10318         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
10319         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
10320         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
10321         gl_THREADLIB.
10322         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
10324 2019-12-02  Bruno Haible  <bruno@clisp.org>
10326         Fix some more link errors with --enable-threads=isoc.
10327         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
10328         * modules/pthread-rwlock (Depends-on): Likewise.
10330 2019-12-02  Bruno Haible  <bruno@clisp.org>
10332         Fix link errors with --enable-threads=posix on AIX.
10333         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
10334         program with $(LIBTHREAD).
10335         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
10336         program with $(LIBTHREAD).
10338 2019-12-02  Bruno Haible  <bruno@clisp.org>
10340         Fix link errors with --enable-threads=posix on AIX.
10341         * modules/mbrtowc (Link): New section.
10342         * modules/acl (Link): Likewise.
10343         * modules/argmatch (Link): Likewise.
10344         * modules/backup-rename (Link): Likewise.
10345         * modules/backupfile (Link): Likewise.
10346         * modules/closein (Link): Likewise.
10347         * modules/closeout (Link): Likewise.
10348         * modules/copy-file (Link): Likewise.
10349         * modules/csharpcomp (Link): Likewise.
10350         * modules/csharpexec (Link): Likewise.
10351         * modules/dfa (Link): Likewise.
10352         * modules/exclude (Link): Likewise.
10353         * modules/fnmatch (Link): Likewise.
10354         * modules/fnmatch-gnu (Link): Likewise.
10355         * modules/fnmatch-posix (Link): Likewise.
10356         * modules/glob (Link): Likewise.
10357         * modules/human (Link): Likewise.
10358         * modules/javacomp (Link): Likewise.
10359         * modules/javaexec (Link): Likewise.
10360         * modules/javaversion (Link): Likewise.
10361         * modules/mbfile (Link): Likewise.
10362         * modules/mbiter (Link): Likewise.
10363         * modules/mbmemcasecmp (Link): Likewise.
10364         * modules/mbmemcasecoll (Link): Likewise.
10365         * modules/mbrlen (Link): Likewise.
10366         * modules/mbscasecmp (Link): Likewise.
10367         * modules/mbscasestr (Link): Likewise.
10368         * modules/mbschr (Link): Likewise.
10369         * modules/mbscspn (Link): Likewise.
10370         * modules/mbsinit (Link): Likewise.
10371         * modules/mbslen (Link): Likewise.
10372         * modules/mbsncasecmp (Link): Likewise.
10373         * modules/mbsnlen (Link): Likewise.
10374         * modules/mbsnrtowcs (Link): Likewise.
10375         * modules/mbspbrk (Link): Likewise.
10376         * modules/mbspcasecmp (Link): Likewise.
10377         * modules/mbsrchr (Link): Likewise.
10378         * modules/mbsrtowcs (Link): Likewise.
10379         * modules/mbssep (Link): Likewise.
10380         * modules/mbsspn (Link): Likewise.
10381         * modules/mbsstr (Link): Likewise.
10382         * modules/mbstok_r (Link): Likewise.
10383         * modules/mbswidth (Link): Likewise.
10384         * modules/mbuiter (Link): Likewise.
10385         * modules/mkdir-p (Link): Likewise.
10386         * modules/propername (Link): Likewise.
10387         * modules/quote (Link): Likewise.
10388         * modules/quotearg (Link): Likewise.
10389         * modules/quotearg-simple (Link): Likewise.
10390         * modules/regex-quote (Link): Likewise.
10391         * modules/rpmatch (Link): Likewise.
10392         * modules/sh-quote (Link): Likewise.
10393         * modules/system-quote (Link): Likewise.
10394         * modules/trim (Link): Likewise.
10395         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10396         * modules/unistdio/ulc-fprintf (Link): Likewise.
10397         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10398         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10399         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10400         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10401         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10402         * modules/xfreopen (Link): Likewise.
10403         * modules/xmemcoll (Link): Likewise.
10404         * modules/yesno (Link): Likewise.
10405         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
10406         * modules/argmatch-tests (Makefile.am): Likewise.
10407         * modules/closein-tests (Makefile.am): Likewise.
10408         * modules/copy-file-tests (Makefile.am): Likewise.
10409         * modules/dfa-tests (Makefile.am): Likewise.
10410         * modules/fnmatch-tests (Makefile.am): Likewise.
10411         * modules/glob-tests (Makefile.am): Likewise.
10412         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10413         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10414         * modules/mbrtowc-tests (Makefile.am): Likewise.
10415         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10416         * modules/mbscasestr-tests (Makefile.am): Likewise.
10417         * modules/mbschr-tests (Makefile.am): Likewise.
10418         * modules/mbscspn-tests (Makefile.am): Likewise.
10419         * modules/mbsinit-tests (Makefile.am): Likewise.
10420         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10421         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10422         * modules/mbspbrk-tests (Makefile.am): Likewise.
10423         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10424         * modules/mbsrchr-tests (Makefile.am): Likewise.
10425         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10426         * modules/mbsspn-tests (Makefile.am): Likewise.
10427         * modules/mbsstr-tests (Makefile.am): Likewise.
10428         * modules/quotearg-tests (Makefile.am): Likewise.
10429         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10430         * modules/readtokens-tests (Makefile.am): Likewise.
10431         * modules/regex-quote-tests (Makefile.am): Likewise.
10432         * modules/sh-quote-tests (Makefile.am): Likewise.
10433         * modules/system-quote-tests (Makefile.am): Likewise.
10434         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10435         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10436         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10437         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10438         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10439         * modules/yesno-tests (Makefile.am): Likewise.
10441 2019-12-02  Bruno Haible  <bruno@clisp.org>
10443         Simplify link sections.
10444         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
10445         * modules/lock (Link): Likewise.
10446         * modules/cond (Link): Likewise.
10447         * modules/tls (Link): Likewise.
10448         * modules/yield (Link): Likewise.
10449         * modules/regex (Link): Likewise.
10450         * modules/localename (Link): Likewise.
10451         * modules/unicase/locale-language (Link): Likewise.
10452         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
10454 2019-12-02  Bruno Haible  <bruno@clisp.org>
10456         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
10457         * tests/test-thread_self.c (main): Disable test on AIX.
10459 2019-12-01  Bruno Haible  <bruno@clisp.org>
10461         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
10462         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
10463         gl_THREADLIB_EARLY_BODY.
10464         (gl_THREADLIB_EARLY_BODY): Invoke it.
10465         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
10466         (gl_THREADLIB_BODY): Invoke it.
10467         (gl_PTHREADLIB): New macro.
10468         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
10469         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
10470         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
10471         * modules/pthread-h (Files): Add threadlib.m4.
10472         (Depends-on): Remove threadlib.
10473         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
10474         and _THREAD_SAFE here.
10475         (Link): Use LIBPTHREAD, not LIBTHREAD.
10476         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
10477         LIBMULTITHREAD.
10478         * modules/pthread-once (Link): Likewise.
10479         * modules/pthread-mutex (Link): Likewise.
10480         * modules/pthread-rwlock (Link): Likewise.
10481         * modules/pthread-cond (Link): Likewise.
10482         * modules/pthread-tss (Link): Likewise.
10483         * modules/pthread-spin (Link): Likewise.
10484         * modules/pthread (Link): Likewise.
10485         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
10486         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
10487         * modules/pthread-once-tests (test_pthread_once1_LDADD,
10488         test_pthread_once2_LDADD): Likewise.
10489         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
10490         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
10491         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
10492         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
10494 2019-12-01  Bruno Haible  <bruno@clisp.org>
10496         cond: State linking requirements.
10497         * modules/cond (Link): New section.
10499 2019-12-01  Bruno Haible  <bruno@clisp.org>
10501         threadlib: Remove unnecessary file (left over from 2019-07-06).
10502         * modules/threadlib (Files): Remove config.rpath.
10504 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
10506         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
10507         Reported by Dagobert Michelsen <dam@opencsw.org> in
10508         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
10509         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
10510         list of strings instead of one string.
10511         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
10512         * pygnulib/GLImport.py (execute): Likewise.
10514 2019-11-27  Bruno Haible  <bruno@clisp.org>
10516         openpty, forkpty: Fix build error on Solaris 11.4.
10517         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
10518         also in <termios.h>.
10519         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
10520         of the function also in <termios.h>.
10521         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
10522         * doc/glibc-functions/forkpty.texi: Likewise.
10524 2019-11-27  Bruno Haible  <bruno@clisp.org>
10526         New options --enable-threads=isoc and --enable-threads=isoc+posix.
10527         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
10528         --enable-threads=isoc and --enable-threads=isoc+posix.
10529         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
10530         When both the ISO C and the POSIX threads API are available, choose
10531         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
10532         --enable-threads=isoc+posix was specified. When only the ISO C threads
10533         API is available and --enable-threads=iso was specified, choose
10534         USE_ISOC_THREADS.
10535         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
10536         USE_ISOC_AND_POSIX_THREADS.
10537         * lib/glthread/lock.c: Likewise.
10538         * lib/glthread/cond.h: Likewise.
10539         * lib/glthread/cond.c: Likewise.
10540         * lib/glthread/tls.h: Likewise.
10541         * lib/glthread/tls.c: Likewise.
10542         * lib/glthread/yield.h: Likewise.
10543         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
10544         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
10545         * lib/glthread/thread.c: Likewise.
10546         * lib/glthread/threadlib.c: Likewise.
10547         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
10548         USE_ISOC_AND_POSIX_THREADS.
10549         * tests/test-cond.c: Consider USE_ISOC_THREADS and
10550         USE_ISOC_AND_POSIX_THREADS.
10551         * tests/test-tls.c: Likewise.
10552         * tests/test-thread_create.c (main): Likewise.
10553         * tests/test-pthread-cond.c: Likewise.
10554         * tests/test-pthread-mutex.c: Likewise.
10555         * tests/test-pthread-once2.c: Likewise.
10556         * tests/test-pthread-rwlock.c: Likewise.
10557         * tests/test-pthread-tss.c: Likewise.
10558         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
10559         USE_POSIX_THREADS.
10561 2019-11-24  Bruno Haible  <bruno@clisp.org>
10563         mbrtowc: Modernize autoconf test.
10564         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
10565         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
10566         try a UTF-8 locale.
10567         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
10569 2019-11-24  Bruno Haible  <bruno@clisp.org>
10571         Fix errors in C++ mode on mingw.
10572         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
10573         instead of _GL_CXXALIAS_SYS.
10574         * lib/signal.in.h (pthread_sigmask): Likewise.
10575         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
10576         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10577         Likewise.
10578         * lib/wchar.in.h (btowc): Likewise.
10580 2019-11-24  Bruno Haible  <bruno@clisp.org>
10582         sys_time: Fix errors in C++ mode on mingw.
10583         * lib/sys_time.in.h (timeval): Restore the redirection
10584         '#define timeval rpl_timeval', for when the symbol timeval is being used
10585         outside the 'gnulib' namespace.
10586         * lib/sys_select.in.h (select): In C++, write 'timeval', not
10587         'struct timeval'.
10589 2019-11-24  Bruno Haible  <bruno@clisp.org>
10591         iswctype: Fix errors in C++ mode on mingw.
10592         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
10593         is 1.
10594         * lib/iswctype.c (iswctype): Add another implementation, for the
10595         GNULIB_defined_wint_t case.
10596         * modules/iswctype (configure.ac): Compile iswctype.c also if
10597         GNULIB_OVERRIDES_WINT_T is 1.
10599 2019-11-24  Bruno Haible  <bruno@clisp.org>
10601         windows-timedmutex: Fix errors in C++ mode on mingw.
10602         * lib/windows-timedmutex.h: Add closing brace.
10604 2019-11-24  Bruno Haible  <bruno@clisp.org>
10606         Fix errors in C++ mode on Cygwin.
10607         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
10608         _GL_CXXALIAS_SYS.
10610 2019-11-24  Bruno Haible  <bruno@clisp.org>
10612         time_r: Fix for mingw (regression from 2019-11-16).
10613         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
10614         AC_LINK_IFELSE test only if the function does not appear to exist.
10616 2019-11-24  Bruno Haible  <bruno@clisp.org>
10618         wcstok: Add tests.
10619         * tests/test-wcstok.c: New file.
10620         * modules/wcstok-tests: New file.
10622 2019-11-24  Bruno Haible  <bruno@clisp.org>
10624         wcstok: Work around wrong signature on native Windows.
10625         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
10626         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
10627         REPLACE_WCSTOK.
10628         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
10629         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
10630         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
10631         * doc/posix-functions/wcstok.texi: Mention the problem.
10633 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
10635         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
10636         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
10637         remove workaround for GCC bug 91450 as the bug should be fixed
10638         there too.
10640 2019-11-21  Bruno Haible  <bruno@clisp.org>
10642         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
10643         Reported by Christian Biesinger <cbiesinger@google.com> in
10644         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
10645         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
10646         non-glibc systems.
10647         * lib/locale.in.h (localeconv, setlocale): Likewise.
10648         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
10649         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
10650         rint, round, trunc): Likewise.
10651         * lib/monetary.in.h (strfmon_l): Likewise.
10652         * lib/pthread.in.h (pthread_mutexattr_getrobust,
10653         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
10654         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
10655         pthread_spin_destroy): Likewise.
10656         * lib/signal.in.h (raise, signal): Likewise.
10657         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
10658         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
10659         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
10660         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
10661         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
10662         Likewise.
10663         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
10664         Likewise.
10665         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
10666         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
10667         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
10668         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
10669         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
10670         wcsftime): Likewise.
10671         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
10673 2019-11-21  Bruno Haible  <bruno@clisp.org>
10675         Fix various errors in _GL_CXXALIAS_SYS invocations.
10676         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
10677         _GL_CXXALIAS_SYS.
10678         * lib/pthread.in.h (pthread_mutexattr_gettype,
10679         pthread_mutexattr_getrobust): Likewise.
10680         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
10681         * lib/sys_socket.in.h (recv, send): Likewise.
10682         * lib/unistd.in.h (getdtablesize): Likewise.
10683         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
10684         'struct timeval'.
10686 2019-11-21  Bruno Haible  <bruno@clisp.org>
10688         math tests: Update after 2019-08-28 change.
10689         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
10690         return type of 'bool', not 'int'.
10692 2019-11-21  Bruno Haible  <bruno@clisp.org>
10694         pthread-spin: Fix errors in C++ mode.
10695         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
10696         functions as nonexistent when <pthread.h> exists but does not define
10697         the pthread_spinlock_t type.
10699 2019-11-21  Bruno Haible  <bruno@clisp.org>
10701         pthread-mutex: Fix errors in C++ mode.
10702         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
10703         pthread_mutexattr_getrobust exists. If not, define
10704         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
10705         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
10706         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
10707         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
10708         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
10709         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
10710         definition.
10712 2019-11-19  Bruno Haible  <bruno@clisp.org>
10714         threads-h tests: Fix typo.
10715         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
10717 2019-11-19  Bruno Haible  <bruno@clisp.org>
10719         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
10720         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
10721         to 'const pthread_attr_t *'.
10722         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
10723         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
10725 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10727         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
10728         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
10729         work around GCC bug 91450 as the bug should be fixed there.
10731 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10733         glob: get closer to glibc glob.c
10734         Omit differences from glibc when the differences don’t matter.
10735         * lib/glob.c [_LIBC]: Include shlib-compat.h.
10736         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
10737         (glob_lstat): New function.
10738         (glob_in_dir): Use it.
10739         (GLOB_ATTRIBUTE): Define to empty if not already defined.
10740         Use changed.
10742 2019-11-18  Bruno Haible  <bruno@clisp.org>
10744         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
10745         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
10746         UINTPTR_MAX): Consider _WIN64.
10747         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
10748         a pointer.
10750 2019-11-18  Bruno Haible  <bruno@clisp.org>
10752         stdint: Fix value of WINT_MAX when we override wint_t.
10753         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
10754         when GNULIB_OVERRIDES_WINT_T is 1.
10756 2019-11-18  Bruno Haible  <bruno@clisp.org>
10758         vcs-to-changelog: New module.
10759         * modules/vcs-to-changelog: New file.
10760         * MODULES.html.sh (func_all_modules): Add it.
10762 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
10764         vcs-to-changelog: New script to generate ChangeLog-like output.
10765         Discussion:
10766         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
10767         * build-aux/vcs_to_changelog.py: New file.
10768         * build-aux/vcstocl/frontend_c.py: New file.
10769         * build-aux/vcstocl/misc_util.py: New file.
10770         * build-aux/vcstocl/vcs_git.py: New file.
10772 2019-11-18  Bruno Haible  <bruno@clisp.org>
10774         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
10775         Reported by Keith Marshall <keith@users.osdn.me> in
10776         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
10777         and <https://osdn.net/projects/mingw/ticket/39677>.
10778         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
10779         already been defined by mingw's <crtdefs.h>.
10781 2019-11-18  Bruno Haible  <bruno@clisp.org>
10783         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
10784         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
10785         conditionally enabled.
10787 2019-11-18  Bruno Haible  <bruno@clisp.org>
10789         gc: Mirror libgcrypt.m4 from libgcrypt.
10790         * config/srclistvars.sh (LIBGCRYPT): New variable.
10791         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
10793 2019-11-17  Bruno Haible  <bruno@clisp.org>
10795         locale, localename: Improve z/OS support.
10796         Reported by Daniel Richard G. in
10797         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
10798         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
10799         gl_LOCALE_H.
10800         (gl_LOCALE_H): Require it.
10801         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
10802         defined, don't even check for newlocale, duplocale, freelocale.
10803         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
10804         locale_t is not defined.
10806 2019-11-17  Bruno Haible  <bruno@clisp.org>
10808         havelib: Make libdirstems processing more flexible.
10809         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
10810         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
10811         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
10812         patch from 2017-02-19).
10813         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
10814         libdirs, even when the first one exists as a directory.
10816 2019-11-17  Bruno Haible  <bruno@clisp.org>
10818         havelib: Match the bitness when searching for libraries.
10819         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
10820         acl_is_expected_elfclass.
10821         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
10822         file exists, in ELF, also test whether it has the ELF class that
10823         corresponds to the host's bitness.
10825 2019-11-17  Bruno Haible  <bruno@clisp.org>
10827         host-cpu-c-abi: Add support for unknown CPUs.
10828         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
10829         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
10830         32-bit or 64-bit.
10832 2019-11-17  Bruno Haible  <bruno@clisp.org>
10834         havelib: Remove redundant code.
10835         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
10836         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
10838 2019-11-17  Bruno Haible  <bruno@clisp.org>
10840         havelib: Fix a bug in dependency processing.
10841         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
10842         of .la files, don't overwrite the value of additional_libdir for the
10843         next rounds.
10845 2019-11-16  Bruno Haible  <bruno@clisp.org>
10847         wctype-h: When overriding wint_t, override also the related functions.
10848         Reported by Christian Biesinger <cbiesinger@google.com> in
10849         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
10850         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
10851         REPLACE_ISWCNTRL to 1.
10852         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
10853         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
10854         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
10855         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
10856         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
10857         on mingw.
10858         * doc/posix-headers/wctype.texi: Likewise.
10860 2019-11-16  Bruno Haible  <bruno@clisp.org>
10862         time_r: Fix for mingw.
10863         Reported by Christian Biesinger <cbiesinger@google.com> in
10864         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
10865         * lib/time.in.h: On mingw, include <unistd.h>.
10866         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
10867         <time.h>. Test for localtime_r in a way that works when it is defined
10868         as an inline function.
10870 2019-11-13  Bruno Haible  <bruno@clisp.org>
10872         havelib: Revert last change.
10873         * build-aux/config.rpath: Revert last change. We can add msys2 support
10874         when it has been added to libtool.m4 upstream.
10876 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10878         config: add msys support
10879         Requested by Arnold Robbins in:
10880         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
10881         He also requested a change to config.guess, which I’ll forward
10882         upstream.
10883         * build-aux/ar-lib (func_file_conv):
10884         * build-aux/compile (func_file_conv):
10885         * build-aux/config.rpath (wl, with_gnu_ld)
10886         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
10887         Treat msys like cygwin.
10889 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10891         regex: now back in sync with glibc
10892         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
10893         regexec.c got merged into glibc and are now copies again.
10895 2019-10-27  Bruno Haible  <bruno@clisp.org>
10897         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
10898         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
10899         statement.
10900         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
10901         32-bit CPUs.
10903 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
10905         timespec-add, timespec-sub: simplify
10906         * lib/timespec-add.c (timespec_add):
10907         * lib/timespec-sub.c (timespec_sub):
10908         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
10909         work on unsigned integers.
10911 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
10913         nstrftime: speed up integer overflow checking
10914         * lib/nstrftime.c: Include intprops.h.
10915         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
10916         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
10917         instead of doing it by hand.
10918         * modules/nstrftime (Depends-on): Add intprops.
10920         Port better to GCC under macOS
10921         Work around macOS header that has ‘#define __has_builtin(x) 0’
10922         when compiled by GCC.  Apple really, really doesn’t want you to
10923         use GCC, apparently.  Rroblem reported by Akim Demaille in:
10924         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
10925         The fix is to not trust __has_builtin when being compiled by
10926         recent-enough GCC.
10927         * lib/intprops.h (__has_builtin)
10928         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
10929         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
10930         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
10931         Remove.  All uses removed.
10932         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
10933         directly, if defined and if not newer GCC.
10934         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
10935         New macro, that use __has_builtin directly, if defined and if
10936         not newer GCC.
10937         (assume): Use them.
10939 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
10941         maintainer-makefile: update rule for argmatch.
10942         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
10944 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
10946         bitset: let freeing functions accept NULL.
10947         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
10948         given NULL.
10949         * lib/bitset.h: Document that.
10950         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
10952 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10954         inttypes: use more-robust test for int range
10955         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
10956         Problem reported by Dagobert Michelsen in:
10957         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
10958         * lib/inttypes.in.h: Rely only on limits.h when checking
10959         int range.
10961 2019-10-15  Bruno Haible  <bruno@clisp.org>
10963         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
10964         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
10965         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
10966         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
10967         term_ostream_set_hyperlink): New functions.
10968         (term_styled_ostream_get_hyperlink_ref,
10969         term_styled_ostream_get_hyperlink_id,
10970         term_styled_ostream_set_hyperlink): New function aliases.
10972 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10974         update-copyright: use en dashes in .texi ranges
10975         * build-aux/update-copyright: Match year ranges like "1998--2019",
10976         which are used in the Autoconf manual.  Also, update ranges in
10977         .tex, .texi, and .texinfo files to use en dashes instead of
10978         hyphens.
10980 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10982         * config/srclist.txt: Remove posix/regex_internal.c for now.
10984 2019-10-13  Bruno Haible  <bruno@clisp.org>
10986         git-version-gen: Allow 'snapshot' as .tarball-version contents.
10987         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
10988         contents to the empty string.
10990 2019-10-12  Bruno Haible  <bruno@clisp.org>
10992         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
10993         * tests/test-intprops.c (main): Disable two more tests when using
10994         HP-UX cc.
10996 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10998         Simplify and regularize regex use of ‘assert’
10999         Also, tell GCC about the asserts even when compiling without
11000         debugging, to give it further optimization opportunities.
11001         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
11002         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
11003         (parse_expression, parse_bracket_exp):
11004         * lib/regex_internal.c (build_wcs_buffer)
11005         (build_wcs_upper_buffer, re_string_reconstruct)
11006         (re_string_context_at):
11007         * lib/regexec.c (re_search_stub, re_copy_regs)
11008         (re_search_internal, prune_impossible_nodes, check_matching)
11009         (check_halt_state_context, set_regs, sift_states_backward)
11010         (build_sifted_states, transit_state_mb, transit_state_bkref)
11011         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
11012         (match_ctx_add_subtop):
11013         Use it instead of plain ‘assert’.
11015 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
11017         regex: omit debug assignment when not debugging
11018         * lib/regexec.c (re_search_internal) [!DEBUG]:
11019         Remove unnecessary assignment.
11021         regex: tell compiler there’s at most 256 arcs out
11022         Partly this is to help the reader (and maybe help GCC);
11023         partly this is to pacify Coverity.
11024         * lib/regex_internal.h: Include verify.h.
11025         * lib/regexec.c (group_nodes_into_DFAstates):
11026         Tell the compiler that ndests cannot exceed SBC_MAX.
11027         * modules/regex (Depends-on): Add ‘verify’.
11029         regex: simplify by assuming C99
11030         * config/srclist.txt: Comment out regex_internal.h and regexec.c
11031         temporarily.
11032         * lib/regex_internal.h (lock_define, re_match_context_t):
11033         Simplify by assuming C99 macros and const.
11034         * lib/regexec.c (re_search_internal): Simplify by assuming C99
11035         initializers.  Remove unnecessary assignment, as mctx is now
11036         safely initialized earlier.
11038         regex: avoid copying of uninitialized storage
11039         * config/srclist.txt: Comment out regcomp.c temporarily.
11040         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
11041         Initialize even when not checking for lint, as the behavior is
11042         arguably undefined otherwise and Coverity warns about it.
11044 2019-10-06  Bruno Haible  <bruno@clisp.org>
11046         access tests: Fix test failure when run as root.
11047         * tests/test-access.c: Include root-uid.h.
11048         (geteuid): Define fallback.
11049         (main): Don't expect that writing to a read-only file would fail when
11050         running as root. Also, remove the created files at the end.
11051         * modules/access-tests (Depends-on): Add root-uid.
11052         (configure.ac): Test whether geteuid exists.
11054 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
11056         users.txt: add GNU nano
11057         Nano has been making use of gnulib since March 2017, version 2.8.0.
11059 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11061         bootstrap: simplify debugging of wget failures
11062         Problem reported by Tim Rühsen in:
11063         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
11064         * build-aux/bootstrap (po_download_command_format):
11065         Invoke wget with -nv instead of -q, to make debugging easier.
11067 2019-09-29  Bruno Haible  <bruno@clisp.org>
11069         avltree-list: Fix compilation warning (introduced on 2014-09-16).
11070         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
11071         'const' attribute.
11073 2019-09-29  Bruno Haible  <bruno@clisp.org>
11075         fbufmode: Fix compilation error on glibc >= 2.28 systems.
11076         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
11078 2019-09-28  Bruno Haible  <bruno@clisp.org>
11080         Update comments that refer to POSIX.
11081         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
11082         sentence about trailing slashes.
11083         * lib/fflush.c: Clarify the reasoning.
11084         * tests/test-fflush2.c: Cite the relevant sentence.
11086 2019-09-28  Bruno Haible  <bruno@clisp.org>
11088         access: Document limitations on Windows.
11089         Suggested by Zaretskii <eliz@gnu.org>.
11090         * doc/posix-functions/access.texi: Mention two limitations on Windows.
11092 2019-09-28  Bruno Haible  <bruno@clisp.org>
11094         findprog-in: Fix comment.
11095         Reported by Eli Zaretskii <eliz@gnu.org>.
11096         * lib/findprog.h (find_in_given_path): Extend description of EACCES
11097         condition.
11098         * lib/stat.c (rpl_stat): Fix typo in comment.
11099         * lib/utime.c (_gl_utimens_windows): Likewise.
11101 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11103         Update URLs and associated text
11104         (Thanks to Bruno Haible for proofreading this patch.)
11105         Prefer https: to http: in URLs where either will do, for the usual
11106         security reasons.  I also updated broken and/or moved URLs
11107         discovered during the process. In a few places I had to resort to
11108         archive.org, since I didn't find the originals elsewhere.
11110 2019-09-15  Paul Smith  <psmith@gnu.org>
11111             Bruno Haible  <bruno@clisp.org>
11113         findprog-in: Set errno when the search fails.
11114         * lib/findprog-in.c: Include <errno.h>.
11115         (find_in_given_path): Set errno before returning NULL.
11116         * lib/findprog.h (find_in_given_path): Update comment accordingly.
11117         Define the term "slash".
11119 2019-09-15  Bruno Haible  <bruno@clisp.org>
11121         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
11122         * modules/findprog (Depends-on): Add access.
11123         * modules/findprog-lgpl (Depends-on): Likewise.
11124         * modules/findprog-in (Depends-on): Likewise.
11126 2019-09-15  Bruno Haible  <bruno@clisp.org>
11128         access: Add tests.
11129         * tests/test-access.c: New file.
11130         * modules/access-tests: New file.
11132         access: New module.
11133         * lib/unistd.in.h (access): New declaration.
11134         * lib/access.c: New file.
11135         * m4/access.m4: New file.
11136         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
11137         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
11138         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
11139         REPLACE_ACCESS.
11140         * modules/access: New file.
11141         * tests/test-unistd-c++.cc (access): Check signature.
11142         * doc/posix-functions/access.texi: Mention the new module.
11144 2019-09-15  Bruno Haible  <bruno@clisp.org>
11146         fcntl-h: Fix compilation error of creat.c on MSVC.
11147         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
11148         defined.
11150 2019-09-15  Bruno Haible  <bruno@clisp.org>
11152         creat: Add tests.
11153         * tests/test-creat.c: New file, based on tests/test-open.h.
11154         * modules/creat-tests: New file.
11156         creat: New module.
11157         * lib/fcntl.in.h (creat): New declaration.
11158         * lib/creat.c: New file, based on lib/open.c.
11159         * m4/creat.m4: New file.
11160         * m4/open-slash.m4: New file, extracted from m4/open.m4.
11161         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
11162         Invoke gl_OPEN_TRAILING_SLASH_BUG.
11163         * modules/open (Files): Add m4/open-slash.m4.
11164         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
11165         REPLACE_CREAT.
11166         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
11167         * modules/creat: New file.
11168         * tests/test-fcntl-h-c++.cc (creat): Check signature.
11169         * doc/posix-functions/creat.texi: Mention the new module.
11171 2019-09-15  Bruno Haible  <bruno@clisp.org>
11173         open tests: Enhance test.
11174         * tests/test-open.h (test_open): Test the creation of an executable
11175         regular file. Also improve initial cleanup.
11177 2019-09-15  Bruno Haible  <bruno@clisp.org>
11179         intprops tests: Avoid build failure with HP-UX cc.
11180         * tests/test-intprops.c: Disable a check that makes HP cc choke with
11181         "error 4018: Macro param too large after substitution - use -H option.".
11183 2019-09-14  Bruno Haible  <bruno@clisp.org>
11185         Make autoconf tests work with -Werror=implicit-function-declaration.
11186         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
11187         towupper() declaration.
11188         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
11189         declaration.
11191 2019-09-14  Bruno Haible  <bruno@clisp.org>
11193         findprog-in: Better mimic the system on native Windows.
11194         Reported by Paul Smith <psmith@gnu.org>.
11195         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
11196         non-empty suffixes when the file name already contains a '.'.
11198 2019-09-10  Bruno Haible  <bruno@clisp.org>
11200         wctob: Fix autoconf test.
11201         Based on patch by Florian Weimer <fweimer@redhat.com>.
11202         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
11204 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
11206         xhash: provide hash_xinitialize.
11207         Suggested by Egor Pugin <egor.pugin@gmail.com>
11208         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
11209         * modules/xhash, lib/xhash.c: New.
11210         * lib/hash.h (hash_xinitialize): New.
11212 2019-09-09  Bruno Haible  <bruno@clisp.org>
11214         findprog-in: Make exec optimization optional.
11215         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
11216         (find_in_given_path): Add optimize_for_exec parameter.
11217         * lib/findprog-in.c (find_in_given_path): Likewise.
11219 2019-09-08  Bruno Haible  <bruno@clisp.org>
11221         Add option to assume the best, not the worst, when cross-compiling.
11222         Suggested by Jonas Termansen <sortie@maxsi.org>.
11223         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
11224         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
11225         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
11226         lt_cv_sys_argz_works.
11227         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
11228         ac_cv_func_calloc_0_nonnull.
11229         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
11230         --enable-cross-guesses for gl_cv_func_realpath_works.
11231         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
11232         gl_cv_func_cbrtl_ieee.
11233         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
11234         gl_cv_func_ceil_ieee.
11235         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
11236         gl_cv_func_ceilf_ieee.
11237         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
11238         gl_cv_func_ceill_ieee.
11239         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
11240         ac_cv_func_chown_works.
11241         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
11242         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
11243         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
11244         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
11245         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
11246         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
11247         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
11248         gl_cv_func_expl_works.
11249         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
11250         gl_cv_func_expm1_ieee.
11251         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
11252         gl_cv_func_expm1l_works.
11253         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
11254         gl_cv_func_open_directory_works.
11255         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
11256         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
11257         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
11258         gl_cv_func_fchownat_empty_filename_works.
11259         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
11260         gl_cv_func_fdopendir_works.
11261         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
11262         gl_cv_func_floor_ieee.
11263         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
11264         gl_cv_func_floorf_ieee.
11265         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
11266         gl_cv_func_fma_works.
11267         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
11268         gl_cv_func_fmaf_works.
11269         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
11270         gl_cv_func_fmal_works.
11271         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
11272         gl_cv_func_fmod_ieee.
11273         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
11274         gl_cv_func_fmodf_ieee.
11275         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
11276         gl_cv_func_fmodl_ieee.
11277         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
11278         gl_cv_func_fpurge_works.
11279         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
11280         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
11281         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
11282         gl_cv_func_getcwd_null.
11283         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
11284         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
11285         gl_cv_func_working_getdelim.
11286         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11287         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
11288         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11289         gl_cv_func_getgroups_works.
11290         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
11291         am_cv_func_working_getline.
11292         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
11293         for gl_cv_func_getopt_gnu.
11294         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
11295         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
11296         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
11297         gl_cv_func_hypot_ieee.
11298         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
11299         gl_cv_func_hypotf_ieee.
11300         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
11301         gl_cv_func_hypotl_ieee.
11302         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
11303         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
11304         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
11305         gl_cv_func_link_works.
11306         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
11307         gl_cv_func_linkat_slash.
11308         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
11309         gl_cv_func_log_ieee.
11310         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
11311         gl_cv_func_logf_ieee.
11312         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
11313         gl_cv_func_logl_works.
11314         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
11315         gl_cv_func_log10_ieee.
11316         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
11317         gl_cv_func_log10f_ieee.
11318         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
11319         gl_cv_func_log10l_works.
11320         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
11321         gl_cv_func_log1p_ieee.
11322         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
11323         gl_cv_func_log1pf_ieee.
11324         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
11325         gl_cv_func_log1pl_ieee.
11326         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
11327         gl_cv_func_log2_ieee.
11328         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
11329         gl_cv_func_log2f_ieee.
11330         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
11331         --enable-cross-guesses for
11332         gl_cv_func_lstat_dereferences_slashed_symlink.
11333         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
11334         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11335         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
11336         gl_cv_C_locale_sans_EILSEQ.
11337         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
11338         gl_cv_func_memchr_works.
11339         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
11340         gl_cv_func_memmem_works_always.
11341         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
11342         gl_cv_func_memmem_works_fast.
11343         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
11344         gl_cv_func_mkdir_trailing_slash_works,
11345         gl_cv_func_mkdir_trailing_dot_works.
11346         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
11347         gl_cv_func_mkfifo_works.
11348         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
11349         gl_cv_func_mknod_works.
11350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
11351         gl_cv_func_working_mkstemp.
11352         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
11353         gl_cv_func_working_mktime.
11354         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
11355         gl_cv_func_modf_ieee.
11356         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
11357         gl_cv_func_modff_ieee.
11358         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
11359         gl_cv_func_modfl_ieee.
11360         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
11361         gl_cv_func_nanosleep.
11362         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
11363         gl_cv_func_perror_works.
11364         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
11365         gl_cv_func_printf_sizes_c99.
11366         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
11367         gl_cv_func_printf_infinite.
11368         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
11369         gl_cv_func_printf_infinite_long_double.
11370         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
11371         gl_cv_func_printf_directive_a.
11372         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
11373         gl_cv_func_printf_directive_f.
11374         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
11375         gl_cv_func_printf_flag_zero.
11376         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
11377         gl_cv_func_printf_enomem.
11378         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
11379         gl_cv_func_snprintf_truncation_c99.
11380         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
11381         gl_cv_func_snprintf_retval_c99.
11382         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
11383         gl_cv_func_snprintf_directive_n.
11384         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
11385         gl_cv_func_vsnprintf_zerosize_c99.
11386         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
11387         gl_cv_func_pselect_detects_ebadf.
11388         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11389         Obey --enable-cross-guesses for
11390         gl_cv_pthread_rwlock_rdlock_prefer_writer.
11391         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
11392         gl_cv_func_ptsname_sets_errno.
11393         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
11394         gl_cv_func_svid_putenv.
11395         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
11396         gl_cv_func_readlink_works.
11397         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
11398         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11399         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
11400         gl_cv_func_re_compile_pattern_working.
11401         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
11402         gl_cv_func_remainder_ieee.
11403         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
11404         gl_cv_func_remainderf_ieee.
11405         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
11406         gl_cv_func_remainderl_ieee.
11407         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
11408         gl_cv_func_rintl_works.
11409         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
11410         gl_cv_func_rmdir_works.
11411         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
11412         gl_cv_func_round_ieee.
11413         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
11414         gl_cv_func_roundf_ieee.
11415         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
11416         gl_cv_func_roundl_ieee.
11417         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
11418         gl_cv_func_select_detects_ebadf.
11419         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
11420         gl_cv_func_setenv_works.
11421         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
11422         gl_cv_func_unsetenv_works.
11423         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
11424         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
11425         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
11426         gl_cv_func_sleep_works.
11427         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
11428         gl_cv_func_stat_file_slash.
11429         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
11430         gl_cv_func_stpncpy.
11431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
11432         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
11433         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
11434         gl_cv_func_strcasestr_linear.
11435         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
11436         gl_cv_func_working_strerror.
11437         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
11438         gl_cv_func_strerror_0_works.
11439         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
11440         --enable-cross-guesses for gl_cv_func_strerror_r_works.
11441         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
11442         gl_cv_func_strstr_works_always.
11443         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
11444         gl_cv_func_strstr_linear.
11445         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
11446         gl_cv_func_strtod_works.
11447         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
11448         gl_cv_func_strtold_works.
11449         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
11450         gl_cv_func_symlink_works.
11451         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
11452         gl_cv_func_symlinkat_works.
11453         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
11454         gl_cv_func_trunc_ieee.
11455         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
11456         gl_cv_func_truncf_ieee.
11457         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
11458         gl_cv_func_truncl_ieee.
11459         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
11460         gl_cv_func_tzset_clobber.
11461         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
11462         gl_cv_func_ungetc_works.
11463         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
11464         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
11465         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
11466         gl_cv_func_usleep_works.
11467         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
11468         gl_cv_func_futimesat_works.
11469         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
11470         gl_cv_func_working_utimes.
11471         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
11472         gl_cv_func_wcwidth_works.
11473         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
11474         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
11475         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
11476         links for testing. Obey --enable-cross-guesses for
11477         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
11478         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
11480 2019-09-08  Bruno Haible  <bruno@clisp.org>
11482         Clarify that cross-compilation guesses are guesses.
11483         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
11484         cross-compiling.
11486 2019-09-08  Bruno Haible  <bruno@clisp.org>
11488         chown: Fix configure output (regression from 2019-03-23).
11489         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
11490         gl_cv_func_chown_follows_symlink variable.
11492 2019-09-08  Bruno Haible  <bruno@clisp.org>
11494         findprog-in: New module.
11495         Suggested by Paul Smith <psmith@gnu.org>.
11496         * lib/findprog.h (find_in_given_path): New declaration.
11497         * lib/findprog-in.c: New file, based on lib/findprog.c.
11498         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
11499         * modules/findprog-in: New file.
11501 2019-09-08  Bruno Haible  <bruno@clisp.org>
11503         findprog: Remove unused dependency.
11504         * modules/findprog (Depends-on): Remove strdup.
11506 2019-09-08  Bruno Haible  <bruno@clisp.org>
11508         findprog: Remove test that is obsolete since 2006-04-24.
11509         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
11511 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11513         bitset: style changes
11514         * lib/bitset/vector.c (vbitset_resize): Factor computation.
11515         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
11516         xzalloc to xcalloc.
11517         Suggested by Paul Eggert.
11519 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
11521         bitset: check memory allocation
11522         Reported by 江 祖铭 (Zu-Ming Jiang).
11523         With help from Paul Eggert.
11524         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
11525         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
11526         instead of realloc.
11527         When shrinking, accept failures.
11528         * lib/bitset/vector.c (vbitset_resize): Likewise.
11530 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11532         scratch_buffer: sync from glibc
11533         * config/srclist.txt: Add the scratch_buffer source
11534         code from glibc, since these should be in sync.
11535         Autoupdate.
11537 2019-09-07  Bruno Haible  <bruno@clisp.org>
11539         doc: Update for glibc 2.30.
11540         * doc/glibc-functions/gettid.texi: New file.
11541         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
11542         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
11543         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
11544         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
11545         * doc/glibc-functions/sem_clockwait.texi: New file.
11546         * doc/glibc-functions/tgkill.texi: New file.
11547         * doc/glibc-functions/twalk_r.texi: New file.
11548         * doc/gnulib.texi: Include them.
11549         (Glibc semaphore.h): New section.
11550         * doc/pastposix-functions/h_errno.texi: Update.
11551         * doc/posix-functions/*.texi: Likewise.
11553 2019-09-06  Bruno Haible  <bruno@clisp.org>
11555         symlink tests: Avoid test failure on Linux with Lustre file system.
11556         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
11557         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
11558         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
11560 2019-09-01  Bruno Haible  <bruno@clisp.org>
11562         gitsub.sh: Add support for shallow-cloning of subdirectories.
11563         * top/gitsub.sh (func_usage): Document allowed git options with
11564         'git pull'.
11565         (func_pull): Accept GIT_OPTIONS argument.
11566         (pull): Parse git options before complaining about too many arguments.
11567         Pass the git options to func_pull.
11569 2019-08-29  Bruno Haible  <bruno@clisp.org>
11571         lock: Fix cross-compilation guesses.
11572         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11573         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
11574         platforms.
11576 2019-08-28  Bruno Haible  <bruno@clisp.org>
11578         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
11579         Reported by Martin Storsjö <martin@martin.st> in
11580         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
11581         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
11582         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
11583         files from GCC 6 or newer, use an override through '#define', because
11584         the inline definitions in the platform's <cmath> cannot be overridden
11585         in another way.
11587 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
11589         Revert macOS INT_MULTIPLY_WRAPV patch
11590         Problem reported by Bruno Haible in:
11591         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
11592         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
11593         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
11594         Go back to working around the Clang bug on macOS.
11596 2019-08-27  Bruno Haible  <bruno@clisp.org>
11598         libtool-next-version: Fix error output.
11599         * build-aux/libtool-next-version (func_fatal_error): Fix the program
11600         name.
11602 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
11604         Speed up INT_MULTIPLY_WRAPV on macOS
11605         Assume that __builtin_mul_overflow works OK with Clang on macOS.
11606         Mattias Engdegård says it’s safe to assume the relevant library
11607         is always available there.
11608         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
11609         New temporary internal macro.
11610         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
11611         No need to work around the Clang bug on macOS.
11613 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11615         intprops.h, verify.h: port better to clang
11616         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11617         with Clang.  Problem reported privately by Mattias Engdegård.
11618         Also, insulate intprops.h and verify.h better against each other’s
11619         definitions of __has_builtin on non-Clang hosts.
11620         * lib/intprops.h (__has_builtin): Define a temporary substitute
11621         if __has_builtin is not already defined.
11622         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11623         New temporary internal macros.
11624         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
11625         Now two separate macros, replacing the old
11626         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
11627         __builtin_mul_overflow is like the rest.  All uses changed.
11628         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
11629         Adjust to above changes.
11630         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
11631         longer relevant.  All uses changed.
11632         * lib/verify.h (__has_builtin): Treat like intprops.h,
11633         so that the two .h files do not collide with each other.
11634         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
11635         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
11637 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11639         intprops: say why not Clang __builtin_add_overflow
11640         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
11641         Mention Clang in comment, responding to a query from
11642         Mattias Engdegård.
11644 2019-08-24  Bruno Haible  <bruno@clisp.org>
11646         doc: Document most of the files outside of modules.
11647         * doc/gnulib.texi (Build Infrastructure Files,
11648         Release Management Files): New chapters.
11650 2019-08-24  Bruno Haible  <bruno@clisp.org>
11652         bootstrap: Keep in sync with the 'gettext' module.
11653         Reported by Assaf Gordon in
11654         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
11655         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
11656         * build-aux/po/remove-potcdate.sin: Likewise.
11658 2019-08-24  Bruno Haible  <bruno@clisp.org>
11660         crypto/gc-sha512: Add tests.
11661         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
11662         * modules/crypto/gc-sha512-tests: New file.
11664         crypto/gc-sha256: Add tests.
11665         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
11666         * modules/crypto/gc-sha256-tests: New file.
11668         crypto/gc-sha256, crypto/gc-sha512: New modules.
11669         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
11670         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
11671         (MAX_DIGEST_SIZE): Set to 64.
11672         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
11673         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
11674         (gc_sha256, gc_sha512): New functions.
11675         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
11676         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
11677         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
11679 2019-08-24  Bruno Haible  <bruno@clisp.org>
11681         crypto/gc-sha1 tests: Improve output when the test fails.
11682         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
11683         output.
11685 2019-08-24  Bruno Haible  <bruno@clisp.org>
11687         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
11688         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
11689         LIBGCRYPT_HAS_MD_SM3.
11690         * lib/gc-libgcrypt.c: Include sm3.h.
11691         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
11692         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
11693         implementation if libgcrypt does not support SM3.
11695 2019-08-24  Bruno Haible  <bruno@clisp.org>
11697         crypto/gc-md2: Optimize and clarify code.
11698         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
11699         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
11700         is not needed.
11702 2019-08-24  Bruno Haible  <bruno@clisp.org>
11704         crypto/gc-md2: Add comment.
11705         * lib/gc-libgcrypt.c: Add comment.
11707 2019-08-24  Bruno Haible  <bruno@clisp.org>
11709         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
11710         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
11711         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
11712         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
11713         variable.
11715 2019-08-24  Bruno Haible  <bruno@clisp.org>
11717         crypto/gc: Fix link error with --with-libgcrypt.
11718         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
11719         AC_LIB_HAVE_LINKFLAGS invocation.
11721 2019-08-24  Bruno Haible  <bruno@clisp.org>
11723         crypto/gc: Access the module indicators correctly.
11724         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
11725         * lib/gc-libgcrypt.c: Likewise.
11727 2019-08-24  Bruno Haible  <bruno@clisp.org>
11729         crypto/gc: Fix configuration with --with-libgcrypt.
11730         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
11731         * modules/crypto/gc (Files): Add it.
11732         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
11734 2019-08-24  Bruno Haible  <bruno@clisp.org>
11736         Remove unused file.
11737         * m4/stat-macros.m4: Remove file.
11739 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11741         New strip-trailing-space option for srclist-update
11742         * config/srclist-update (fixfile): Support new option.
11743         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
11744         Use it.
11746 2019-08-20  Eric Blake  <eblake@redhat.com>
11748         accept4: Support SOCK_NONBLOCK, if defined
11749         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
11751         accept4: Fix compilation when native accept4() exists.
11752         Reported by Richard W.M. Jones <rjones@redhat.com> in
11753         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
11754         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
11756 2019-08-18  Bruno Haible  <bruno@clisp.org>
11758         Defeat -flto GCC optimization in math autoconf tests.
11759         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
11760         at <https://savannah.gnu.org/bugs/?56109>.
11761         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
11762         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
11763         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11764         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11765         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11766         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
11767         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11768         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
11769         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
11770         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11771         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11772         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11774 2019-08-17  Bruno Haible  <bruno@clisp.org>
11776         windows-spin: Implement declared functions.
11777         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
11778         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
11779         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
11780         name.
11782 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11784         intprops: port to Oracle Developer Studio 12.6
11785         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
11786         typos that were in a section not compiled by GCC.
11788 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11790         intprops: support uchar, ushort _WRAPV dests
11791         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
11792         when __builtin_add_overflow etc. and _Generic are not used.
11793         (_GL_INT_OP_WRAPV): Use it to support destinations that
11794         are unsigned char or unsigned short, even in compilers
11795         that lack __typeof__ and are not C11-compatible.
11797         intprops: pacify picky GCC
11798         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
11799         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
11800         possibly-incorrect result.
11801         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
11802         about (A) used as a boolean, when A is an expression like 3 * 4.
11804         intprops: support unsigned *_WRAPV results
11805         Add support for unsigned, unsigned long, and unsigned long long
11806         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
11807         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
11808         bug with unsigned inputs reported by Eli Zaretskii in:
11809         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
11810         * config/srclist.txt: Break the glibc connection for intprops.h
11811         temporarily, while more testing is done in Gnulib-using apps.
11812         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
11813         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
11814         Support unsigned results no narrower than unsigned int.  Report
11815         overflow correctly if some arguments are unsigned.
11816         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
11817         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
11818         the right thing with narrow args.
11819         (_GL_INT_OP_CALC1): Remove.  All callers removed.
11820         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
11821         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
11822         * tests/test-intprops.c: Check for bugs and test new behavior.
11824 2019-08-14  Bruno Haible  <bruno@clisp.org>
11826         get_progname_of: New module.
11827         * lib/get_progname_of.h: New file.
11828         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
11829         * lib/getprogname.c (getprogname): Tweak coding style.
11830         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
11831         * modules/get_progname_of: New file.
11833 2019-08-14  Bruno Haible  <bruno@clisp.org>
11835         get_ppid_of: New module.
11836         * lib/get_ppid_of.h: New file.
11837         * lib/get_ppid_of.c: New file.
11838         * modules/get_ppid_of: New file.
11840 2019-08-13  Bruno Haible  <bruno@clisp.org>
11842         libtextstyle-optional tests: Support the NO_COLOR environment variable.
11843         * tests/test-libtextstyle.c (main): Do not emit styling when the
11844         environment variable NO_COLOR is set.
11846 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11848         verify: improve diagnostic quality in recent GCC
11849         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
11850         useful line number containing the top-level caller of the macro.
11851         So, bring back the older way of issuing a diagnostic containing
11852         the top-level call’s arg, so that it is easier to diagnose
11853         ‘verify’ failures with recent GCC.
11854         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
11855         Bring back DIAGNOSTIC arg.  All callers changed.
11856         (verify): Just use _GL_VERIFY.
11858 2019-08-11  Bruno Haible  <bruno@clisp.org>
11860         localcharset: Add more aliases for OS/2.
11861         Based on patch by KO Myung-Hun <komh78@gmail.com> in
11862         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
11863         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
11865 2019-08-10  Eric Blake  <eblake@redhat.com>
11867         configmake: Update advice on usage.
11868         * modules/configmake (Include): No longer necessary to include
11869         last, since configmake.h itself worries about collision avoidance.
11871 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
11873         parse-datetime: fix 'T' military timezone handling
11874         * lib/parse-datetime.y (zone):
11875         follow-up to the previous commit: the 'T' case is handled outside the
11876         conversion table (used as either military timezone UTC-7 or ISO8601
11877         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
11878         timezone letters.
11880 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
11882         parse-datetime: fix military timezone letters
11883         Problem and trivial fix reported by Neil Hoggarth in:
11884         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
11885         * lib/parse-datetime.y (military_table):
11886         Do it the right way, not the RFC 822 way.
11888 2019-08-08  Eric Blake  <eblake@redhat.com>
11890         configmake: Avoid namespace pollution issue on mingw.
11891         * modules/configmake (Makefile.am): If the project uses
11892         <winsock2.h>, include that header before defining DATADIR.
11894 2019-07-28  Bruno Haible  <bruno@clisp.org>
11896         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
11897         * tests/test-mbrtowc.c (main): Fix expected value of wc.
11899 2019-07-24  Bruno Haible  <bruno@clisp.org>
11901         pthread-h: Fix definitions of types and macros on mingw.
11902         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
11903         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
11904         not in use.
11905         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
11906         'pthread-once' is not in use.
11907         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
11908         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
11909         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
11910         in use.
11911         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
11912         Define also when module 'pthread-rwlock' is not in use.
11913         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
11914         also when module 'pthread-cond' is not in use.
11915         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
11916         'pthread-tss' is not in use.
11917         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
11918         use.
11920 2019-07-24  Simon Josefsson  <simon@josefsson.org>
11922         crypto/gc: Cope with libgcrypt without SM3.
11923         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
11925 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
11927         backupfile: fix resource leak on memory failure
11928         Problem found by Coverity (CID 1484214).
11929         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
11931 2019-07-22  Bruno Haible  <bruno@clisp.org>
11933         Avoid missing-declarations warning in various tests.
11934         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
11935         test6, test_optional, test7, test8, test9, test10, test11, test12,
11936         test13, test14, test15, test_fun): Declare static.
11937         * tests/test-cnd.c (test_cnd_wait): Likewise.
11938         * tests/test-cond.c (test_cond): Likewise.
11940 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
11942         pthread tests: Avoid missing-declarations warning.
11943         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
11945 2019-07-19  Bruno Haible  <bruno@clisp.org>
11947         parse-datetime: Avoid warnings from bison versions >= 3.3.
11948         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
11949         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
11951 2019-07-19  Bruno Haible  <bruno@clisp.org>
11953         parse-datetime: Require Bison 2.4 or newer.
11954         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
11955         Code taken from gettext's intl.m4.
11956         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
11957         of YACC.
11959 2019-07-19  Bruno Haible  <bruno@clisp.org>
11961         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
11962         * lib/areadlink-with-size.c: Include <string.h>.
11963         * lib/areadlinkat-with-size.c: Likewise.
11964         * lib/xgethostname.c: Likewise.
11965         * lib/xgetdomainname.c: Likewise.
11967 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
11969         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
11970         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
11971         "%pure-parser".  The former is available since Bison 2.3b (2008),
11972         while the latter is marked as obsolete since version 3.4 (May 2019).
11974 2019-07-16  Bruno Haible  <bruno@clisp.org>
11976         update-copyright: Make it work again (regression from 2019-06-15).
11977         Reported by Brian C. Lane <bcl@redhat.com>.
11978         * build-aux/update-copyright: Add back the -0777, -p, -i options.
11980 2019-07-14  Bruno Haible  <bruno@clisp.org>
11982         doc: Update info about <pthread.h>.
11983         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
11984         of 'pthread'.
11986 2019-07-14  Bruno Haible  <bruno@clisp.org>
11988         pthread_sigmask tests: Use new multithread modules.
11989         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
11990         glthread/thread.h.
11991         (main_thread, killer_thread): Change type to pthread_t.
11992         (main): Update accordingly.
11993         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
11994         thread.
11996 2019-07-14  Bruno Haible  <bruno@clisp.org>
11998         pthread-tss: Add tests.
11999         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
12000         tests/test-tss.c.
12001         * modules/pthread-tss-tests: New file.
12003 2019-07-14  Bruno Haible  <bruno@clisp.org>
12005         pthread-cond: Add tests.
12006         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
12007         tests/test-cnd.c.
12008         * modules/pthread-cond-tests: New file.
12010 2019-07-14  Bruno Haible  <bruno@clisp.org>
12012         pthread-rwlock: Add tests.
12013         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
12014         * modules/pthread-rwlock-tests: New file.
12016 2019-07-14  Bruno Haible  <bruno@clisp.org>
12018         pthread-mutex: Add tests.
12019         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
12020         tests/test-mtx.c.
12021         * modules/pthread-mutex-tests: New file.
12023 2019-07-14  Bruno Haible  <bruno@clisp.org>
12025         pthread-once: Add tests.
12026         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
12027         tests/test-call_once.c.
12028         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
12029         tests/test-mtx.c.
12030         * modules/pthread-once-tests: New file.
12032 2019-07-14  Bruno Haible  <bruno@clisp.org>
12034         pthread-thread: Add tests.
12035         * tests/test-pthread-thread.c: New file, based on
12036         tests/test-thread_create.c and tests/test-thrd_create.c.
12037         * modules/pthread-thread-tests: New file.
12039 2019-07-14  Bruno Haible  <bruno@clisp.org>
12041         pthread: Turn into a convenience module.
12042         * lib/pthread.in.h: Remove declarations for extern inline functions.
12043         * lib/pthread.c: Remove file.
12044         * modules/pthread (Files): Remove it.
12045         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
12046         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
12047         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
12048         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
12049         GNULIB_PTHREAD.
12050         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
12052 2019-07-14  Bruno Haible  <bruno@clisp.org>
12054         pthread-spin: New module.
12055         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
12056         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
12057         inline definitions.
12058         * lib/pthread-spin.c: New file.
12059         * m4/pthread-spin.m4: New file.
12060         * modules/pthread-spin: New file.
12061         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
12062         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
12063         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
12064         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
12065         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
12067 2019-07-14  Bruno Haible  <bruno@clisp.org>
12069         pthread-tss: New module.
12070         * lib/pthread-tss.c: New file.
12071         * m4/pthread-tss.m4: New file.
12072         * modules/pthread-tss: New file.
12073         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
12074         * doc/posix-functions/pthread_setspecific.texi: Likewise.
12075         * doc/posix-functions/pthread_getspecific.texi: Likewise.
12076         * doc/posix-functions/pthread_key_delete.texi: Likewise.
12078 2019-07-14  Bruno Haible  <bruno@clisp.org>
12080         pthread-cond: New module.
12081         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
12082         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
12083         * lib/pthread-cond.c: New file.
12084         * m4/pthread-cond.m4: New file.
12085         * modules/pthread-cond: New file.
12086         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
12087         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
12088         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
12089         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
12090         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
12091         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
12092         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
12093         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
12095 2019-07-14  Bruno Haible  <bruno@clisp.org>
12097         pthread-rwlock: New module.
12098         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
12099         * m4/pthread-rwlock.m4: New file.
12100         * modules/pthread-rwlock: New file.
12101         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
12102         and the Android problem.
12103         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
12104         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
12105         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
12106         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
12107         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
12108         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
12109         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12110         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
12111         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
12112         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
12114 2019-07-14  Bruno Haible  <bruno@clisp.org>
12116         pthread-mutex: New module.
12117         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
12118         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
12119         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
12120         pthread_mutex_unlock): Remove inline definitions.
12121         * lib/pthread-mutex.c: New file.
12122         * m4/pthread-mutex.m4: New file.
12123         * modules/pthread-mutex: New file.
12124         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
12125         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
12126         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
12127         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
12128         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12129         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12130         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
12131         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
12132         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
12133         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
12134         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
12135         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
12137 2019-07-14  Bruno Haible  <bruno@clisp.org>
12139         pthread-once: New module.
12140         * lib/pthread-once.c: New file.
12141         * m4/pthread-once.m4: New file.
12142         * modules/pthread-once: New file.
12143         * doc/posix-functions/pthread_once.texi: Mention the new module.
12145 2019-07-14  Bruno Haible  <bruno@clisp.org>
12147         pthread-thread: New module.
12148         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
12149         inline definitions.
12150         * lib/pthread-thread.c: New file.
12151         * m4/pthread-thread.m4: New file.
12152         * modules/pthread-thread: New file.
12153         * doc/posix-functions/pthread_create.texi: Mention the new module.
12154         * doc/posix-functions/pthread_attr_init.texi: Likewise.
12155         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
12156         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
12157         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
12158         * doc/posix-functions/pthread_self.texi: Likewise.
12159         * doc/posix-functions/pthread_equal.texi: Likewise.
12160         * doc/posix-functions/pthread_detach.texi: Likewise.
12161         * doc/posix-functions/pthread_join.texi: Likewise.
12162         * doc/posix-functions/pthread_exit.texi: Likewise.
12164 2019-07-14  Bruno Haible  <bruno@clisp.org>
12166         pthread-h: Prepare for adding new modules.
12167         * lib/pthread.in.h: Define the types and macros for each of the
12168         facilities separately.
12169         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
12170         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12171         HAVE_PTHREAD_PROCESS_SHARED.
12172         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
12173         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12174         HAVE_PTHREAD_PROCESS_SHARED.
12175         * modules/pthread-h (Makefile.am): Substitute
12176         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
12177         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
12179 2019-07-14  Bruno Haible  <bruno@clisp.org>
12181         pthread-h: Add declarations of essential pthread functions.
12182         * lib/pthread.in.h: Include snippets.
12183         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
12184         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
12185         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
12186         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
12187         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
12188         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
12189         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
12190         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
12191         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
12192         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
12193         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
12194         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
12195         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
12196         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
12197         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
12198         pthread_key_create, pthread_setspecific, pthread_getspecific,
12199         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
12200         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
12201         declarations.
12202         (pthread_mutex_timedlock): Move declaration.
12203         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
12204         declared.
12205         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
12206         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
12207         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
12208         HAVE_* and REPLACE_* variables for the new functions.
12209         * modules/pthread-h (Depends-on): Add snippet/c++defs,
12210         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
12211         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
12212         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
12213         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
12214         variables for the new functions. Split the sed script, to avoid the
12215         limit of 99 commands of HP-UX sed.
12216         * tests/test-pthread-c++.cc: Check the signature of the new functions.
12218 2019-07-14  Bruno Haible  <bruno@clisp.org>
12220         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
12221         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
12222         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
12223         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
12224         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
12225         * modules/pthread-h (Depends-on): Add threadlib.
12226         (Link): Change to $(LIBTHREAD).
12227         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
12228         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
12230 2019-07-14  Bruno Haible  <bruno@clisp.org>
12232         pthread-h: Add C++ tests.
12233         * tests/test-pthread-c++.cc: New file.
12234         * modules/pthread-h-c++-tests: New file.
12236 2019-07-14  Bruno Haible  <bruno@clisp.org>
12238         pthread-h: Add tests.
12239         * tests/test-pthread.c: New file.
12240         * modules/pthread-h-tests: New file.
12242 2019-07-14  Bruno Haible  <bruno@clisp.org>
12244         pthread-h: New module.
12245         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
12246         is 1.
12247         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
12248         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
12249         <pthread.h> pollutes the namespace; instead, prepare for generating a
12250         pthread.h always. Substitute HAVE_PTHREAD_H here.
12251         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
12252         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
12253         * modules/pthread-h: New file, based on modules/pthread.
12254         * modules/pthread: Rely on 'pthread-h'.
12255         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
12256         Update.
12257         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
12258         pthread.
12260 2019-07-14  Bruno Haible  <bruno@clisp.org>
12262         sched_yield: New module.
12263         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
12264         (sched_yield): New declaration.
12265         * lib/sched_yield.c: New file.
12266         * m4/sched_yield.m4: New file.
12267         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
12268         provide a replacement sched.h always. Test whether sched_yield is
12269         declared.
12270         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
12271         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
12272         (Makefile.am): Provide a replacement sched.h always. Substitute
12273         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
12274         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
12275         * modules/sched_yield: New file.
12276         * doc/posix-functions/sched_yield.texi: Mention the new module.
12278 2019-07-14  Bruno Haible  <bruno@clisp.org>
12280         windows-spin: New module.
12281         * lib/windows-spin.h: New file.
12282         * lib/windows-spin.c: New file.
12283         * modules/windows-spin: New file.
12285 2019-07-14  Bruno Haible  <bruno@clisp.org>
12287         windows-timedrwlock: New module.
12288         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
12289         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
12290         windows-cond.c.
12291         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
12292         redefinition conflict with windows-timedrwlock.h.
12293         * modules/windows-timedrwlock: New file.
12295 2019-07-14  Bruno Haible  <bruno@clisp.org>
12297         windows-rwlock: New module.
12298         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
12299         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
12300         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
12301         windows-initguard.h.
12302         (gl_rwlock_t): Define using glwthread_rwlock_t.
12303         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
12304         (glthread_rwlock_init): Define using glwthread_rwlock_init.
12305         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
12306         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
12307         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
12308         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
12309         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
12310         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
12311         glthread_rwlock_destroy_func): Remove declarations.
12312         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
12313         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
12314         gl_waitqueue_notify_all, glthread_rwlock_init_func,
12315         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
12316         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
12317         functions.
12318         * modules/windows-rwlock: New file.
12319         * modules/lock (Depends-on): Add windows-rwlock.
12321 2019-07-14  Bruno Haible  <bruno@clisp.org>
12323         windows-thread: Add support for creating a thread in detached state.
12324         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
12325         (glwthread_thread_create): Add attr argument.
12326         * lib/windows-thread.c (glwthread_thread_create): Likewise.
12327         * lib/glthread/thread.h (glthread_create): Update.
12328         * lib/thrd.c (thrd_create): Update.
12330 2019-07-14  Bruno Haible  <bruno@clisp.org>
12332         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
12333         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
12334         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
12335         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
12336         * lib/windows-mutex.h: Update.
12337         * lib/windows-recmutex.h: Likewise.
12338         * lib/windows-timedmutex.h: Likewise.
12339         * lib/windows-timedrecmutex.h: Likewise.
12340         * lib/windows-cond.h: Likewise.
12341         * lib/glthread/lock.h: Likewise.
12342         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
12343         lib/windows-spinlock.h.
12344         * modules/windows-recmutex (Files): Likewise.
12345         * modules/windows-timedmutex (Files): Likewise.
12346         * modules/windows-timedrecmutex (Files): Likewise.
12347         * modules/windows-cond (Files): Likewise.
12348         * modules/threads-h (Files): Likewise.
12350 2019-07-14  Bruno Haible  <bruno@clisp.org>
12352         doc: Fix info about pthread API in HP-UX.
12353         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
12355 2019-07-14  Bruno Haible  <bruno@clisp.org>
12357         threads-h: Fix generation of threads.h.
12358         * modules/threads-h (Makefile.am): Insert the required header file
12359         snippets.
12361 2019-07-09  Bruno Haible  <bruno@clisp.org>
12363         striconveh test: Fix a compilation failure when iconv is not available.
12364         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12365         * tests/test-striconveh.c (main): Move iconv_close invocations inside
12366         HAVE_ICONV.
12368 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
12370         argmatch: adjust columns for help2man.
12371         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
12372         requires column 20 or more, return 20.
12374 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12376         areadlink-with-size: avoid realloc when size==0
12377         * lib/areadlink-with-size.c (areadlink_with_size):
12378         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
12379         Reallocate at the end to the actual size, to avoid memory waste,
12380         as suggested by Bruno Haible.  But when the guessed size is zero -
12381         useful when the size is unknown - do the initial small readlink
12382         into the stack, to avoid that realloc in the usual case.
12384 2019-07-06  Pádraig Brady  <P@draigBrady.com>
12386         areadlink-with-size: guess a buffer size with 0 size
12387         The size is usually taken from st_size, which can be zero,
12388         resulting in inefficient operation.
12389         Instead let zero select an initial memory allocation
12390         of 128 bytes, which most symlinks fit within.
12391         * lib/areadlink-with-size.c (areadlink_with_size):
12392         Start with a 128 byte buffer, for SIZE == 0.
12393         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
12395 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
12397         Replace manually crafted hex regexes with [:xdigit:]
12398         * build-aux/gitlog-to-changelog (parse_amend_file)
12399         (git_dir_option):
12400         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
12401         This patch is backported from Emacs (Bug#36167).
12403 2019-07-06  Bruno Haible  <bruno@clisp.org>
12405         error: Fix documentation.
12406         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
12407         module provides.
12408         * doc/glibc-functions/error_message_count.texi: Likewise.
12409         * doc/glibc-functions/error_one_per_line.texi: Likewise.
12410         * doc/glibc-functions/error_print_progname.texi: Likewise.
12412 2019-07-06  Bruno Haible  <bruno@clisp.org>
12414         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
12415         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
12416         and older is unsupported.
12417         * doc/**/*.texi: Update.
12419 2019-07-06  Bruno Haible  <bruno@clisp.org>
12421         doc: Remove documentation of Linux libc5 as a supported platform.
12422         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
12423         to Linux libc5.
12424         * doc/posix-functions/iswalpha.texi: Likewise.
12425         * doc/posix-functions/iswblank.texi: Likewise.
12426         * doc/posix-functions/iswcntrl.texi: Likewise.
12427         * doc/posix-functions/iswdigit.texi: Likewise.
12428         * doc/posix-functions/iswgraph.texi: Likewise.
12429         * doc/posix-functions/iswlower.texi: Likewise.
12430         * doc/posix-functions/iswprint.texi: Likewise.
12431         * doc/posix-functions/iswpunct.texi: Likewise.
12432         * doc/posix-functions/iswspace.texi: Likewise.
12433         * doc/posix-functions/iswupper.texi: Likewise.
12434         * doc/posix-functions/iswxdigit.texi: Likewise.
12435         * doc/posix-functions/snprintf.texi: Likewise.
12436         * doc/posix-functions/vsnprintf.texi: Likewise.
12438 2019-07-06  Bruno Haible  <bruno@clisp.org>
12440         doc: Remove documentation of Tandem/NSK as a supported platform.
12441         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
12442         Tandem/NSK.
12443         * doc/**/*.texi: Update.
12445 2019-07-06  Bruno Haible  <bruno@clisp.org>
12447         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
12448         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
12449         and older is unsupported.
12450         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
12451         Mac OS X 10.4 and older.
12452         * doc/posix-functions/asinl.texi: Likewise.
12453         * doc/posix-functions/atanl.texi: Likewise.
12454         * doc/posix-functions/cosl.texi: Likewise.
12455         * doc/posix-functions/expl.texi: Likewise.
12456         * doc/posix-functions/frexpl.texi: Likewise.
12457         * doc/posix-functions/gettimeofday.texi: Likewise.
12458         * doc/posix-functions/logl.texi: Likewise.
12459         * doc/posix-functions/mkstemp.texi: Likewise.
12460         * doc/posix-functions/sinl.texi: Likewise.
12461         * doc/posix-functions/sqrtl.texi: Likewise.
12462         * doc/posix-functions/tanl.texi: Likewise.
12463         * doc/posix-functions/wcswidth.texi: Likewise.
12464         * doc/**/*.texi: Update.
12466 2019-07-06  Bruno Haible  <bruno@clisp.org>
12468         doc: Remove documentation of AIX 4 as a supported platform.
12469         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
12470         unsupported.
12471         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
12472         workarounds.
12473         * doc/posix-functions/strnlen.texi: Likewise.
12474         * doc/posix-headers/inttypes.texi: Likewise.
12475         * doc/**/*.texi: Update.
12477 2019-07-06  Bruno Haible  <bruno@clisp.org>
12479         doc: Remove documentation of HP-UX 10 as a supported platform.
12480         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
12481         unsupported.
12482         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
12483         workarounds.
12484         * doc/posix-functions/gmtime_r.texi: Likewise.
12485         * doc/posix-functions/localtime_r.texi: Likewise.
12486         * doc/posix-functions/mkstemp.texi: Likewise.
12487         * doc/**/*.texi: Update.
12489 2019-07-06  Bruno Haible  <bruno@clisp.org>
12491         doc: Remove documentation of Interix 3.5 as a supported platform.
12492         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
12493         unsupported.
12494         * doc/posix-functions/select.texi: Don't mention Interix specific
12495         workarounds.
12496         * doc/posix-headers/signal.texi: Likewise.
12497         * doc/**/*.texi: Update.
12499 2019-07-06  Bruno Haible  <bruno@clisp.org>
12501         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
12502         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
12503         unsupported.
12504         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
12505         workarounds.
12506         * doc/posix-functions/nl_langinfo.texi: Likewise.
12507         * doc/posix-functions/remainder.texi: Likewise.
12508         * doc/posix-functions/towlower.texi: Likewise.
12509         * doc/posix-functions/towupper.texi: Likewise.
12510         * doc/posix-functions/vsnprintf.texi: Likewise.
12511         * doc/posix-functions/wcscat.texi: Likewise.
12512         * doc/posix-functions/wcschr.texi: Likewise.
12513         * doc/posix-functions/wcscmp.texi: Likewise.
12514         * doc/posix-functions/wcscpy.texi: Likewise.
12515         * doc/posix-functions/wcscspn.texi: Likewise.
12516         * doc/posix-functions/wcslen.texi: Likewise.
12517         * doc/posix-functions/wcsncat.texi: Likewise.
12518         * doc/posix-functions/wcsncmp.texi: Likewise.
12519         * doc/posix-functions/wcsncpy.texi: Likewise.
12520         * doc/posix-functions/wcspbrk.texi: Likewise.
12521         * doc/posix-functions/wcsrchr.texi: Likewise.
12522         * doc/posix-functions/wcsspn.texi: Likewise.
12523         * doc/posix-headers/langinfo.texi: Likewise.
12524         * doc/posix-headers/signal.texi: Likewise.
12525         * doc/posix-headers/wchar.texi: Likewise.
12526         * doc/posix-headers/wctype.texi: Likewise.
12527         * doc/**/*.texi: Update.
12529 2019-07-05  Bruno Haible  <bruno@clisp.org>
12531         doc: Remove documentation of OSF/1 as supported platform.
12532         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
12533         unsupported.
12534         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
12535         workarounds.
12536         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
12537         * doc/glibc-functions/ptsname_r.texi: Likewise.
12538         * doc/posix-functions/ceil.texi: Likewise.
12539         * doc/posix-functions/ceilf.texi: Likewise.
12540         * doc/posix-functions/ceill.texi: Likewise.
12541         * doc/posix-functions/fchdir.texi: Likewise.
12542         * doc/posix-functions/floor.texi: Likewise.
12543         * doc/posix-functions/floorf.texi: Likewise.
12544         * doc/posix-functions/fmod.texi: Likewise.
12545         * doc/posix-functions/fmodf.texi: Likewise.
12546         * doc/posix-functions/fmodl.texi: Likewise.
12547         * doc/posix-functions/log.texi: Likewise.
12548         * doc/posix-functions/logf.texi: Likewise.
12549         * doc/posix-functions/logl.texi: Likewise.
12550         * doc/posix-functions/log10.texi: Likewise.
12551         * doc/posix-functions/log10f.texi: Likewise.
12552         * doc/posix-functions/log10l.texi: Likewise.
12553         * doc/posix-functions/log2.texi: Likewise.
12554         * doc/posix-functions/log2f.texi: Likewise.
12555         * doc/posix-functions/log2l.texi: Likewise.
12556         * doc/posix-functions/mbrtowc.texi: Likewise.
12557         * doc/posix-functions/recv.texi: Likewise.
12558         * doc/posix-functions/recvfrom.texi: Likewise.
12559         * doc/posix-functions/remainder.texi: Likewise.
12560         * doc/posix-functions/remainderf.texi: Likewise.
12561         * doc/posix-functions/remainderl.texi: Likewise.
12562         * doc/posix-functions/round.texi: Likewise.
12563         * doc/posix-functions/roundf.texi: Likewise.
12564         * doc/posix-functions/roundl.texi: Likewise.
12565         * doc/posix-functions/send.texi: Likewise.
12566         * doc/posix-functions/sendto.texi: Likewise.
12567         * doc/posix-functions/setenv.texi: Likewise.
12568         * doc/posix-functions/snprintf.texi: Likewise.
12569         * doc/posix-functions/tcgetsid.texi: Likewise.
12570         * doc/posix-functions/trunc.texi: Likewise.
12571         * doc/posix-functions/truncf.texi: Likewise.
12572         * doc/posix-functions/truncl.texi: Likewise.
12573         * doc/posix-functions/ttyname_r.texi: Likewise.
12574         * doc/posix-functions/unsetenv.texi: Likewise.
12575         * doc/posix-functions/wcsrtombs.texi: Likewise.
12576         * doc/posix-headers/sys_select.texi: Likewise.
12577         * doc/posix-headers/wchar.texi: Likewise.
12578         * doc/posix-headers/wctype.texi: Likewise.
12579         * doc/**/*.texi: Update.
12581 2019-07-05  Bruno Haible  <bruno@clisp.org>
12583         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
12584         * doc/**/*.texi: Update.
12586 2019-07-05  Bruno Haible  <bruno@clisp.org>
12588         doc: Remove documentation of Solaris 8 and older as supported platforms.
12589         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
12590         unsupported.
12591         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
12592         workarounds.
12593         * doc/posix-functions/memcmp.texi: Likewise.
12594         * doc/posix-functions/rename.texi: Likewise.
12595         * doc/posix-functions/tzset.texi: Likewise.
12596         * doc/posix-headers/wctype.texi: Likewise.
12597         * doc/**/*.texi: Update.
12599 2019-07-05  Bruno Haible  <bruno@clisp.org>
12601         doc: Remove documentation of Interix 3.5 as a supported platform.
12602         * doc/**/*.texi: Update.
12604 2019-07-05  Bruno Haible  <bruno@clisp.org>
12606         doc: Remove documentation of BeOS as a supported platform.
12607         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
12608         unsupported.
12609         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
12610         * doc/posix-functions/getdelim.texi: Likewise.
12611         * doc/**/*.texi: Update.
12613 2019-07-05  Bruno Haible  <bruno@clisp.org>
12615         thread, lock, cond, tls: Remove support for Pth threads.
12616         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
12617         --enable-threads=pth any more.
12618         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
12619         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
12620         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
12621         threads and ISO C11 threads.
12622         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
12623         * lib/glthread/lock.h: Likewise.
12624         * lib/glthread/lock.c: Likewise.
12625         * lib/glthread/cond.h: Likewise.
12626         * lib/glthread/cond.c: Likewise.
12627         * lib/glthread/tls.h: Likewise.
12628         * lib/glthread/tls.c: Likewise.
12629         * lib/glthread/yield.h: Likewise.
12630         * lib/regex_internal.h: Likewise.
12631         * tests/test-thread_create.c: Likewise.
12632         * tests/test-lock.c: Likewise.
12633         * tests/test-cond.c: Likewise.
12634         * tests/test-tls.c: Likewise.
12635         * tests/test-rwlock1.c: Don't include glthread/yield.h.
12636         (main): Sleep without calling gl_thread_yield.
12638 2019-07-05  Bruno Haible  <bruno@clisp.org>
12640         thread, lock, cond, tls: Remove support for old Solaris threads.
12641         Solaris >= 2.5.1 has POSIX threads.
12642         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
12643         --enable-threads=solaris any more.
12644         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
12645         * lib/glthread/thread.c: Update comment.
12646         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
12647         * lib/glthread/lock.h: Likewise.
12648         * lib/glthread/lock.c: Likewise.
12649         * lib/glthread/cond.h: Likewise.
12650         * lib/glthread/cond.c: Likewise.
12651         * lib/glthread/tls.h: Likewise.
12652         * lib/glthread/tls.c: Likewise.
12653         * lib/glthread/yield.h: Likewise.
12654         * lib/regex_internal.h: Likewise.
12655         * tests/test-thread_create.c: Likewise.
12656         * tests/test-lock.c: Likewise.
12657         * tests/test-cond.c: Likewise.
12658         * tests/test-tls.c: Likewise.
12660 2019-07-05  Bruno Haible  <bruno@clisp.org>
12662         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
12663         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
12664         needed size is equal to the allocated size.
12665         * lib/getcwd.c (__getcwd): Likewise.
12667 2019-07-05  Bruno Haible  <bruno@clisp.org>
12669         xgetdomainname: Don't return an excessive memory allocation.
12670         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
12671         before returning it.
12673 2019-07-05  Bruno Haible  <bruno@clisp.org>
12675         xgethostname: Don't return an excessive memory allocation.
12676         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
12677         returning it.
12679 2019-07-05  Bruno Haible  <bruno@clisp.org>
12681         areadlinkat-with-size: Don't return an excessive memory allocation.
12682         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
12683         before returning it.
12685 2019-07-05  Bruno Haible  <bruno@clisp.org>
12687         areadlink-with-size: Don't return an excessive memory allocation.
12688         Reported by Andreas Dilger <adilger@whamcloud.com>.
12689         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
12690         before returning it.
12692 2019-07-03  Bruno Haible  <bruno@clisp.org>
12694         renameatu: Fix test failure on MSVC.
12695         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
12696         empty string.
12698 2019-07-03  Bruno Haible  <bruno@clisp.org>
12700         mbrtowc: Fix invalid use of mbtowc() on MSVC.
12701         * lib/mbrtowc.c: Include glthread/lock.h.
12702         (mbtowc_lock): New variable.
12703         (mbrtowc): Treat UTF-8 encoding without locking. For the other
12704         encodings, explicitly reset the internal state of mbtowc, and protect
12705         this through a lock.
12706         * modules/mbrtowc (Depends-on): Add lock.
12708 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
12710         argmatch: don't define _ in the header.
12711         Reported by Jim Meyering.
12712         * lib/argmatch.h (N_, _): Don't define.
12713         Use gettext instead.
12714         * lib/argmatch.h (_): Define.
12715         * tests/test-argmatch.c (N_): Define.
12717 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
12719         verify: document ‘assume’ better
12720         * lib/verify.h: Reword doc (Bug#36370).
12722 2019-07-02  Bruno Haible  <bruno@clisp.org>
12724         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
12725         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
12726         "CPutf8".
12727         * lib/nl_langinfo.c (ctype_codeset): Likewise.
12729 2019-07-02  Bruno Haible  <bruno@clisp.org>
12731         getcwd: Fix crash when invoked with size = 0 on MSVC.
12732         * lib/getcwd.c: Include msvc-inval.h.
12733         (getcwd_nothrow): New function/macro.
12734         (getcwd_system): New macro.
12735         (__getcwd): Use it instead of getcwd.
12736         * modules/getcwd (Depends-on): Add msvc-inval.
12737         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
12739 2019-07-02  Bruno Haible  <bruno@clisp.org>
12741         nonblocking-pipe tests: Fix test failure on MSVC.
12742         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
12743         native Windows.
12745 2019-07-02  Bruno Haible  <bruno@clisp.org>
12747         usleep: Implement with millisecond resolution on native Windows.
12748         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
12749         * doc/pastposix-functions/usleep.texi: Update accordingly.
12751 2019-07-02  Bruno Haible  <bruno@clisp.org>
12753         lstat tests: Fix test failure on MSVC.
12754         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
12755         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
12757 2019-07-02  Bruno Haible  <bruno@clisp.org>
12759         stat tests: Fix test failure on MSVC.
12760         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
12761         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
12763 2019-07-02  Bruno Haible  <bruno@clisp.org>
12765         getaddrinfo tests: Fix test failure on MSVC.
12766         * tests/test-getaddrinfo.c: Include sockets.h.
12767         (main): Invoke gl_sockets_startup.
12768         * modules/getaddrinfo-tests (Depends-on): Add sockets.
12770 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
12772         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
12773         * lib/poll.c: Call Windows native select() with Windows native timeval.
12775 2019-06-30  Bruno Haible  <bruno@clisp.org>
12777         argmatch: Fix compilation errors.
12778         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
12779         * tests/test-argmatch.c (main): Update after last-minute function names
12780         change.
12782 2019-06-30  Bruno Haible  <bruno@clisp.org>
12784         Include <stdlib.h> when needed.
12785         * lib/cnd.c: Include <stdlib.h>, needed for abort().
12786         * lib/fcntl.c: Likewise.
12787         * lib/mbscasestr.c: Likewise.
12788         * lib/mbssep.c: Likewise.
12789         * lib/mbsstr.c: Likewise.
12790         * lib/openat.c: Include <stdlib.h>, needed for free().
12791         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
12792         abort().
12794 2019-06-30  Bruno Haible  <bruno@clisp.org>
12796         Include <stdlib.h> when needed.
12797         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
12798         * lib/faccessat.c: Likewise.
12799         * lib/fchmodat.c: Likewise.
12800         * lib/fchownat.c: Likewise.
12801         * lib/fstatat.c: Likewise.
12802         * lib/mkfifoat.c: Likewise.
12803         * lib/mknodat.c: Likewise.
12804         * lib/readlinkat.c: Likewise.
12805         * lib/symlinkat.c: Likewise.
12806         * lib/utimensat.c: Likewise.
12807         * lib/mkdirat.c: Likewise. Include also the specification header.
12809 2019-06-30  Bruno Haible  <bruno@clisp.org>
12811         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
12812         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
12813         from gl_PREREQ_SYS_H_SOCKET.
12814         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
12815         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
12816         gl_PREREQ_SYS_H_WS2TCPIP.
12817         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
12818         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
12819         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
12821 2019-06-30  Bruno Haible  <bruno@clisp.org>
12823         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
12824         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
12825         REPLACE_INET_NTOP to 1 always.
12826         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
12827         REPLACE_INET_PTON to 1 always.
12829 2019-06-30  Bruno Haible  <bruno@clisp.org>
12831         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
12832         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
12833         not REPLACE_INET_NTOP.
12835 2019-06-30  Bruno Haible  <bruno@clisp.org>
12837         poll: Add comment.
12838         * lib/poll.c: Add comment about WSAPoll.
12840 2019-06-30  Bruno Haible  <bruno@clisp.org>
12842         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
12843         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
12844         * lib/poll.in.h: Include <winsock2.h>.
12845         (POLL*, pollfd): Override on native Windows.
12846         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
12847         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
12848         (Makefile.am): Substitute HAVE_WINSOCK2_H.
12850 2019-06-28  Bruno Haible  <bruno@clisp.org>
12852         accept4: Fix compilation error on OpenIndiana.
12853         Reported by Michal Nowak <mnowak@startmail.com>
12854         via Mark H Weaver <mhw@netris.org>.
12855         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
12856         whether it exists as a function.
12858 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
12860         strverscmp: sync from glibc
12861         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
12862         comments, include libc-config.h, define __strverscmp to be
12863         strverscmp, and don’t assume types line uint8_t and int8_t that
12864         that C99 doesn’t guarantee.
12865         [!_LIBC]: Include libc-config.h; define __strverscmp.
12866         Include stdint.h.
12867         (__strverscmp): Assume C99.  Use uint_least8_t
12868         and int_least8_t instead of unsigned char and signed char.
12869         * modules/strverscmp (Depends-on): Add libc-config, stdint.
12871 2019-06-25  Bruno Haible  <bruno@clisp.org>
12873         tss tests: Add tests for destructors and races.
12874         * tests/test-tss.c (worker_thread): Fix typo in debug message.
12875         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
12876         functions.
12877         (main): Invoke them.
12878         * modules/tls-tests (Depends-on): Add mtx.
12880 2019-06-25  Bruno Haible  <bruno@clisp.org>
12882         tls tests: Add tests for destructors and races.
12883         * tests/test-tls.c: Include glthread/lock.h.
12884         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
12885         functions.
12886         (main): Invoke them.
12887         * modules/tls-tests (Depends-on): Add lock.
12889 2019-06-25  Bruno Haible  <bruno@clisp.org>
12891         windows-tls: Implement TLS key destructors for native Windows.
12892         * lib/windows-tls.h (glwthread_tls_process_destructors): New
12893         declaration.
12894         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
12895         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
12896         (dtor_table_init_once, dtor_table_lock: New variables.
12897         (struct dtor): New type.
12898         (dtor_table, dtors_count, dtors_used, dtors_allocated,
12899         dtor_processing_threads): New variables.
12900         (dtor_table_initialize, dtor_table_ensure_initialized,
12901         dtor_table_shrink_used, glwthread_tls_process_destructors): New
12902         functions.
12903         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
12904         handle non-NULL destructors.
12905         * modules/windows-tls (Depends-on): Add windows-once.
12906         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
12907         Use the functions declared in windows-tls.h.
12908         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
12909         GLWTHREAD_DESTRUCTOR_ITERATIONS.
12910         * lib/windows-thread.c: Include windows-tls.h.
12911         (wrapper_func, glwthread_thread_exit): Invoke
12912         glwthread_tls_process_destructors.
12913         * modules/windows-thread (Depends-on): Add windows-tls.
12915 2019-06-25  Bruno Haible  <bruno@clisp.org>
12917         threadlib: Avoid autoconf warning "was expanded before it was required".
12918         * modules/threadlib (configure.ac): Require gl_THREADLIB.
12920 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
12922         argmatch: remove duplicate const qualifier
12923         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
12925 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12927         unistd: stddef.h and sys/types.h namespace cleanup
12928         * lib/unistd.in.h [__GLIBC__]:
12929         Do not include stddef.h or sys/types.h.
12930         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
12931         supposed to declare off_t and ssize_t.  Problem found when looking
12932         at why @GNULIB_PWRITE@ was different from the newly-added
12933         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
12935 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
12937         maintainer-makefile: restore portability to non-GNU awks
12938         Reported by Tim Rühsen.
12939         * top/maint.mk (AWK): New variable.  Use it.
12940         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
12942 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12944         Document setvbuf _IOLBF problem
12945         * doc/posix-functions/setvbuf.texi (setvbuf):
12946         Document MS-Windows portability problem with _IOLBF.
12948         Document lseek SEEK_DATA/SEEK_HOLE
12949         * doc/posix-functions/lseek.texi (lseek):
12950         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
12952 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
12954         argmatch: put all the docs member last.
12955         Reported by Bruno Haible.
12956         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
12957         member before the docs done.
12958         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
12960 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
12962         argmatch: add support to generate the usage message.
12963         * lib/argmatch.c: Move some #includes and gettext support to...
12964         * lib/argmatch.h: here.
12965         (ARGMATCH_DEFINE_GROUP): New macro.
12966         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
12967         (argmatch_backup_group): New.
12968         (CHECK): New.
12969         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
12970         argmatch_backup_argument and argmatch_backup_usage.
12971         * modules/argmatch: We depend on c99.
12972         * doc/argmatch.texi (Recognizing Option Arguments): New.
12973         * doc/gnulib.texi: Use it.
12975 2019-06-21  Bruno Haible  <bruno@clisp.org>
12977         thrd: Add comment.
12978         * lib/thrd.c (pthread_main_func): Add comment.
12980 2019-06-21  Bruno Haible  <bruno@clisp.org>
12982         threads-h: Define 'thread_local' if and only if it actually works.
12983         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
12984         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
12985         Oracle Solaris Studio C. Compile a simple program, to see whether
12986         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
12987         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
12988         * lib/threads.in.h (thread_local): Undefine if it does not work.
12989         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
12990         (Link): Mention LIBTHREADLOCAL.
12991         * tests/test-threads.c: Don't check that thread_local is defined.
12992         * tests/test-thread_local.c: New file.
12993         * modules/threads-h-tests (Files): Add it and macros.h.
12994         (Depends-on): Add thrd and stdint.
12995         (configure.ac): Test whether 'alarm' is declared.
12996         (Makefile.am): Arrange to build and link test-thread_local.
12997         * doc/posix-headers/threads.texi: Mention the platforms that don't
12998         support 'thread_local'.
13000 2019-06-20  Bruno Haible  <bruno@clisp.org>
13002         threads-h: Simplify link dependencies.
13003         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
13004         Don't set LTLIBSTDTHREAD.
13005         * modules/thrd (Link): Simplify accordingly.
13006         * modules/mtx (Link): Likewise.
13007         * modules/cnd (Link): Likewise.
13008         * modules/tss (Link): Likewise.
13009         * modules/threads (Link): Likewise.
13011 2019-06-20  Bruno Haible  <bruno@clisp.org>
13013         threads-h: Fix link error on FreeBSD 11.
13014         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
13015         also with -lpthread.
13017 2019-06-20  Bruno Haible  <bruno@clisp.org>
13019         threadlib: Fix typo (regression from today).
13020         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
13022 2019-06-20  Bruno Haible  <bruno@clisp.org>
13024         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
13025         * lib/windows-thread.c: Include <errno.h>.
13026         * lib/windows-tls.c: Likewise.
13028 2019-06-20  Bruno Haible  <bruno@clisp.org>
13030         tss tests: Small improvement.
13031         * tests/test-tss.c (test_tss): Pass a different id to each thread.
13033 2019-06-20  Bruno Haible  <bruno@clisp.org>
13035         threads: New module.
13036         * modules/threads: New file.
13038 2019-06-20  Bruno Haible  <bruno@clisp.org>
13040         tss: Add tests.
13041         * tests/test-tss.c: New file, based on tests/test-tls.c.
13042         * modules/tss-tests: New file.
13044 2019-06-20  Bruno Haible  <bruno@clisp.org>
13046         cnd: Add tests.
13047         * tests/test-cnd.c: New file, based on tests/test-cond.c.
13048         * modules/cnd-tests: New file.
13050 2019-06-20  Bruno Haible  <bruno@clisp.org>
13052         mtx: Add tests.
13053         * tests/test-mtx.c: New file, based on tests/test-lock.c.
13054         * tests/test-call_once.c: New file, based on tests/test-once.c.
13055         * modules/mtx-tests: New file.
13057 2019-06-20  Bruno Haible  <bruno@clisp.org>
13059         thrd: Add tests.
13060         * tests/test-thrd_create.c: New file, based on
13061         tests/test-thread_create.c.
13062         * tests/test-thrd_current.c: New file, based on
13063         tests/test-thread_self.c.
13064         * modules/thrd-tests: New file.
13066 2019-06-20  Bruno Haible  <bruno@clisp.org>
13068         tss: New module.
13069         * lib/tss.c: New file.
13070         * modules/tss: New file.
13071         * doc/posix-functions/tss_create.texi: Mention the new module.
13072         * doc/posix-functions/tss_set.texi: Likewise.
13073         * doc/posix-functions/tss_get.texi: Likewise.
13074         * doc/posix-functions/tss_delete.texi: Likewise.
13076 2019-06-20  Bruno Haible  <bruno@clisp.org>
13078         cnd: New module.
13079         * lib/cnd.c: New file.
13080         * modules/cnd: New file.
13081         * doc/posix-functions/cnd_init.texi: Mention the new module.
13082         * doc/posix-functions/cnd_wait.texi: Likewise.
13083         * doc/posix-functions/cnd_timedwait.texi: Likewise.
13084         * doc/posix-functions/cnd_signal.texi: Likewise.
13085         * doc/posix-functions/cnd_broadcast.texi: Likewise.
13086         * doc/posix-functions/cnd_destroy.texi: Likewise.
13088 2019-06-20  Bruno Haible  <bruno@clisp.org>
13090         mtx: New module.
13091         * lib/mtx.c: New file.
13092         * modules/mtx: New file.
13093         * doc/posix-functions/call_once.texi: Mention the new module.
13094         * doc/posix-functions/mtx_init.texi: Likewise.
13095         * doc/posix-functions/mtx_lock.texi: Likewise.
13096         * doc/posix-functions/mtx_trylock.texi: Likewise.
13097         * doc/posix-functions/mtx_timedlock.texi: Likewise.
13098         * doc/posix-functions/mtx_unlock.texi: Likewise.
13099         * doc/posix-functions/mtx_destroy.texi: Likewise.
13101 2019-06-20  Bruno Haible  <bruno@clisp.org>
13103         thrd: New module.
13104         * lib/thrd.c: New file.
13105         * m4/thrd.m4: New file.
13106         * modules/thrd: New file.
13107         * doc/posix-functions/thrd_current.texi: Mention the new module.
13108         * doc/posix-functions/thrd_detach.texi: Likewise.
13109         * doc/posix-functions/thrd_equal.texi: Likewise.
13110         * doc/posix-functions/thrd_exit.texi: Likewise.
13111         * doc/posix-functions/thrd_sleep.texi: Likewise.
13112         * doc/posix-functions/thrd_yield.texi: Likewise.
13113         * doc/posix-functions/thrd_create.texi: Mention the new module and the
13114         AIX bug.
13115         * doc/posix-functions/thrd_join.texi: Mention the new module and the
13116         AIX and Solaris bugs.
13118 2019-06-20  Bruno Haible  <bruno@clisp.org>
13120         threads-h: Add tests.
13121         * tests/test-threads.c: New file.
13122         * modules/threads-h-tests: New file.
13123         * tests/test-threads-c++.cc: New file.
13124         * modules/threads-h-c++-tests: New file.
13126 2019-06-20  Bruno Haible  <bruno@clisp.org>
13128         threads-h: New module.
13129         * lib/threads.in.h: New file.
13130         * m4/threads.m4: New file.
13131         * m4/yield.m4 (gl_YIELD): Update comment.
13132         * modules/threads-h: New file.
13133         * modules/yields (configure.ac): Use AC_REQUIRE.
13134         * doc/posix-headers/threads.texi: Mention the new module and the AIX
13135         bugs.
13137 2019-06-20  Bruno Haible  <bruno@clisp.org>
13139         windows-thread: New module.
13140         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
13141         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
13142         * lib/glthread/thread.h: Include windows-thread.h.
13143         (gl_thread_t): Define using glwthread_thread_t.
13144         (glthread_create): Define using glwthread_thread_create.
13145         (glthread_join): Define using glwthread_thread_join.
13146         (gl_thread_self): Define using glwthread_thread_self.
13147         (gl_thread_exit): Define using glwthread_thread_exit.
13148         (glthread_create_func, glthread_join_func, gl_thread_self_func,
13149         gl_thread_exit_func): Remove declarations.
13150         * lib/glthread/thread.c (self_key): Remove variable.
13151         (do_init_self_key, init_self_key): Remove functions.
13152         (struct gl_thread_struct): Remove type.
13153         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
13154         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
13155         functions.
13156         * modules/windows-thread: New file.
13157         * modules/thread (Depends-on): Add windows-thread.
13159 2019-06-20  Bruno Haible  <bruno@clisp.org>
13161         windows-tls: New module.
13162         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
13163         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
13164         * lib/glthread/tls.h: Include windows-tls.h.
13165         (gl_tls_key_t): Define using glwthread_tls_key_t.
13166         * modules/windows-tls: New file.
13167         * modules/tls (Depends-on): Add windows-tls.
13169 2019-06-20  Bruno Haible  <bruno@clisp.org>
13171         windows-cond: New module.
13172         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
13173         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
13174         * lib/glthread/cond.h: Include windows-cond.h.
13175         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
13176         (gl_cond_t): Define using glwthread_cond_t.
13177         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
13178         (glthread_cond_init): Define using glwthread_cond_init.
13179         (glthread_cond_wait): Define using glwthread_cond_wait.
13180         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
13181         (glthread_cond_signal): Define using glwthread_cond_signal.
13182         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
13183         (glthread_cond_destroy): Define using glwthread_cond_destroy.
13184         (glthread_cond_init_func, glthread_cond_wait_func,
13185         glthread_cond_timedwait_func, glthread_cond_signal_func,
13186         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13187         declarations.
13188         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
13189         types.
13190         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13191         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
13192         glthread_cond_init_func, glthread_cond_wait_func,
13193         glthread_cond_timedwait_func, glthread_cond_signal_func,
13194         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13195         functions.
13196         * modules/windows-cond: New file.
13197         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
13199 2019-06-20  Bruno Haible  <bruno@clisp.org>
13201         windows-timedrecmutex: New module.
13202         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
13203         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
13204         * modules/windows-timedrecmutex: New file.
13206 2019-06-20  Bruno Haible  <bruno@clisp.org>
13208         windows-timedmutex: New module.
13209         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
13210         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
13211         * modules/windows-timedmutex: New file.
13213 2019-06-20  Bruno Haible  <bruno@clisp.org>
13215         windows-recmutex: New module.
13216         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
13217         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
13218         * lib/glthread/lock.h: Include windows-recmutex.h.
13219         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
13220         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
13221         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
13222         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
13223         (glthread_recursive_lock_unlock): Define using
13224         glwthread_recmutex_unlock.
13225         (glthread_recursive_lock_destroy): Define using
13226         glwthread_recmutex_destroy.
13227         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
13228         glthread_recursive_lock_unlock_func,
13229         glthread_recursive_lock_destroy_func): Remove declarations.
13230         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
13231         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
13232         glthread_recursive_lock_destroy_func): Remove functions.
13233         * modules/windows-recmutex: New file.
13234         * modules/lock (Depends-on): Add windows-recmutex.
13236 2019-06-20  Bruno Haible  <bruno@clisp.org>
13238         windows-mutex: New module.
13239         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
13240         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
13241         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
13242         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
13243         (gl_spinlock_t): Remove type.
13244         (gl_lock_t): Define using glwthread_mutex_t.
13245         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
13246         (glthread_lock_init): Define using glwthread_mutex_init.
13247         (glthread_lock_lock): Define using glwthread_mutex_lock.
13248         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
13249         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
13250         (glthread_lock_init_func, glthread_lock_lock_func,
13251         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13252         declarations.
13253         Use glwthread_spinlock_t instead of gl_spinlock_t.
13254         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
13255         GLWTHREAD_SPINLOCK_INIT.
13256         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
13257         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13258         functions.
13259         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
13260         gl_spinlock_t.
13261         * modules/windows-mutex: New file.
13262         * modules/lock (Depends-on): Add windows-mutex.
13264 2019-06-20  Bruno Haible  <bruno@clisp.org>
13266         windows-once: New module.
13267         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
13268         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
13269         * lib/glthread/lock.h: Include windows-once.h.
13270         (gl_once_t): Define using glwthread_once_t.
13271         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
13272         (glthread_once): Define using glwthread_once.
13273         (glthread_once_func): Remove declaration.
13274         * lib/glthread/lock.c (glthread_once_func): Remove function.
13275         * modules/windows-once: New file.
13276         * modules/lock (Depends-on): Add windows-once.
13278 2019-06-20  Bruno Haible  <bruno@clisp.org>
13280         lock, cond: Avoid possible counter wraparound on Windows.
13281         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
13282         field of the guard unchanged if it was already positive.
13283         (glthread_rwlock_rdlock_func): Likewise.
13284         (glthread_rwlock_wrlock_func): Likewise.
13285         (glthread_recursive_lock_lock_func): Likewise.
13286         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
13287         (glthread_cond_timedwait_func): Likewise.
13289 2019-06-20  Bruno Haible  <bruno@clisp.org>
13291         cond: Make glthread_cond_timedwait more reliable on Windows.
13292         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
13293         condition variable before looking at the current time.
13295 2019-06-20  Bruno Haible  <bruno@clisp.org>
13297         pthread_mutex_timedlock: New module.
13298         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
13299         new declaration.
13300         * lib/pthread_mutex_timedlock.c: New file.
13301         * m4/pthread_mutex_timedlock.m4: New file.
13302         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
13303         whether pthread_mutex_timedlock is declared.
13304         (gl_PTHREAD_MODULE_INDICATOR): New macro.
13305         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13306         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13307         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
13308         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13309         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13310         * modules/pthread_mutex_timedlock: New file.
13311         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
13312         module.
13314 2019-06-20  Bruno Haible  <bruno@clisp.org>
13316         thread, lock, cond, tls: Recognize C11 multithreaded applications.
13317         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
13318         * lib/glthread/thread.h (c11_threads_in_use): New macro.
13319         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13320         * lib/glthread/lock.h (c11_threads_in_use): New macro.
13321         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13322         * lib/glthread/cond.h (c11_threads_in_use): New macro.
13323         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13324         * lib/glthread/tls.h (c11_threads_in_use): New macro.
13325         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13327 2019-06-20  Bruno Haible  <bruno@clisp.org>
13329         tls tests: Small improvements.
13330         * tests/test-tls.c: Include <stdint.h>.
13331         (worker_thread): Avoid gcc warning on 64-bit mingw.
13332         (test_tls): Pass a different id to each thread.
13333         * modules/tls-tests (Depends-on): Add stdint.
13335 2019-06-20  Bruno Haible  <bruno@clisp.org>
13337         cond tests: Simplify.
13338         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
13340 2019-06-20  Bruno Haible  <bruno@clisp.org>
13342         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
13343         * tests/test-lock.c (test_once): Don't reference fire_signal if
13344         !ENABLE_LOCKING.
13346 2019-06-19  Bruno Haible  <bruno@clisp.org>
13348         nanosleep: Relicense under LGPLv2+.
13349         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
13350         * modules/nanosleep (License): Change to LGPLv2+.
13352 2019-06-19  Bruno Haible  <bruno@clisp.org>
13354         Reorder pieces of header in perl scripts.
13355         The desired order is
13356         - Prologue part 1 (2 lines with #!)
13357         - Program short description
13358         - Copyright and license notice
13359         - Written-by notice
13360         - Program short description (optional)
13361         - Program long description (optional)
13362         - Prologue part 2
13363         - Time stamp
13364         - Code
13365         Reported by Paul Eggert.
13366         * build-aux/announce-gen: Reorder header.
13367         * build-aux/gitlog-to-changelog: Likewise.
13368         * build-aux/useless-if-before-free: Likewise.
13369         * build-aux/prefix-gnulib-mk: Add copyright notice and short
13370         description.
13371         * build-aux/update-copyright: Likewise. Add short description. Bump
13372         time-stamp-line-limit to 200.
13374 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
13376         verify-tests: work around xlc bug
13377         Problem reported by Bruno Haible in:
13378         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
13379         * tests/test-verify.c (item): Move the arithmetic inside the
13380         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
13382 2019-06-16  Bruno Haible  <bruno@clisp.org>
13384         Restore Emacs time-stamp hook applicability.
13385         Reported by Darshit Shah <darnir@gnu.org>.
13386         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
13387         * build-aux/announce-gen: Likewise.
13388         * build-aux/gitlog-to-changelog: Likewise.
13389         * build-aux/prefix-gnulib-mk: Likewise.
13390         * build-aux/update-copyright: Likewise.
13392 2019-06-15  Bruno Haible  <bruno@clisp.org>
13394         Fix scripts to have valid executable format on Alpine Linux.
13395         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13396         Idea by Paul Eggert.
13397         * build-aux/useless-if-before-free: Use a prologue that starts with
13398         '#!/bin/sh'.
13399         * build-aux/announce-gen: Likewise.
13400         * build-aux/gitlog-to-changelog: Likewise.
13401         * build-aux/prefix-gnulib-mk: Likewise.
13402         * build-aux/update-copyright: Likewise.
13403         * tests/test-update-copyright.sh: Update test program accordingly.
13405 2019-06-10  Bruno Haible  <bruno@clisp.org>
13407         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
13408         Reported by Nikita Ermakov <arei@altlinux.org> in
13409         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
13410         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
13411         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
13413 2019-06-10  Bruno Haible  <bruno@clisp.org>
13415         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
13416         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13417         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
13418         a copy of the path argument.
13419         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13420         it.
13422 2019-06-10  Bruno Haible  <bruno@clisp.org>
13424         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
13425         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
13426         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13427         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
13428         a copy of the path argument.
13429         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13430         it.
13432 2019-06-10  Bruno Haible  <bruno@clisp.org>
13434         posix_spawn_file_actions_addfchdir: Add tests.
13435         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
13436         * tests/test-posix_spawn5.c: New file.
13437         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
13439 2019-06-10  Bruno Haible  <bruno@clisp.org>
13441         posix_spawn_file_actions_addfchdir: New module.
13442         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
13443         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
13444         union member 'fchdir_action'.
13445         * lib/spawn_faction_addfchdir.c: New file.
13446         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
13447         * m4/posix_spawn_faction_addfchdir.m4: New file.
13448         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
13449         'posix_spawn_file_actions_addfchdir' is present and whether
13450         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
13451         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
13452         posix_spawn_file_actions_addfchdir is declared.
13453         (gl_SPAWN_H_DEFAULTS): Initialize
13454         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13455         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13456         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13457         * modules/spawn (Makefile.am): Substitute
13458         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13459         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13460         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13461         * modules/posix_spawn_file_actions_addfchdir: New file.
13462         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
13463         signature.
13464         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13465         * doc/posix-functions/posix_spawnp.texi: Likewise.
13466         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
13467         Likewise.
13469 2019-06-10  Bruno Haible  <bruno@clisp.org>
13471         doc: Document existence of posix_spawn_file_actions_addchdir module.
13472         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
13473         the posix_spawn_file_actions_addchdir module.
13475 2019-06-10  Bruno Haible  <bruno@clisp.org>
13477         posix_spawn-internal: Fix module description.
13478         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
13479         from here...
13480         * modules/posix_spawnp (configure.ac): ... and here...
13481         * modules/posix_spawn-internal (configure.ac): ... to here.
13483 2019-06-10  Bruno Haible  <bruno@clisp.org>
13485         doc: Update and improve documentation of glibc functions.
13486         This is a series of commits that
13487         - updates the documentation to the state of glibc 2.29,
13488         - adds references to Linux man pages and glibc documentation,
13489         - marks Linux specific functions as such.
13490         These are the commits:
13491         doc: Update after removal of crypt functions from glibc 2.28.
13492         doc: Remove mention of function vm86 (does not exist on x86_64).
13493         doc: Remove mention of functions that are gone from glibc.
13494         doc: Mention that glibc no longer provides h_errno.
13495         doc: Mention the availability of specific functions in glibc versions.
13496         doc: Mention eaccess.
13497         doc: Add references to Linux man pages.
13498         doc: Add references to glibc documentation.
13499         doc: Mention inotify_* functions.
13500         doc: Mention ppoll.
13501         doc: Mention sched_getcpu.
13502         doc: Mention sync_file_range.
13503         doc: Mention epoll_pwait.
13504         doc: Mention eventfd, eventfd_read, eventfd_write.
13505         doc: Mention signalfd.
13506         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
13507         doc: Mention epoll_create1.
13508         doc: Mention getauxval.
13509         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
13510         doc: Mention nextdown, nextup.
13511         doc: Mention more ISO TS 18661-1 <math.h> functions.
13512         doc: Mention ISO TS 18661-1 <fenv.h> functions.
13513         doc: Mention getrandom, getentropy.
13514         doc: Mention strfromf, strfromd, strfroml.
13515         doc: Mention preadv2, pwritev2.
13516         doc: Mention copy_file_range.
13517         doc: Mention memfd_create.
13518         doc: Mention mlock2.
13519         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
13520         doc: Mention more ISO TS 18661-1 <math.h> functions.
13521         doc: Mention renameat2.
13522         doc: Mention statx.
13523         doc: Mention the ISO C11 multithreading header and functions.
13524         doc: Mention getcpu.
13525         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
13526         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
13527         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
13528         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
13529         doc: Some glibc functions also exist on Solaris 11.
13530         doc: Some glibc functions also exist on Solaris 11.4.
13531         doc: Some glibc functions also exist on FreeBSD.
13532         doc: Some glibc functions also exist on BeOS.
13533         doc: Some glibc functions also exist on Haiku.
13534         doc: Mark functions which exist only on Linux.
13535         doc: Mark functions which exist only on Linux and illumos.
13537 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13539         copy-file: fix typo
13540         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
13542         copy-file-range: simplify into a stub
13543         Based on a comment by Florian Weimer in:
13544         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
13545         It turns out that Emacs (which will use this module) won’t need an
13546         emulation and I suspect other programs won’t either, because these
13547         programs will need to fall back on read+write anyway.  Perhaps I
13548         am wrong and other programs will be able to use an emulation; if
13549         so, this patch can be reverted.
13550         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
13551         Just call it copy_file_range.
13552         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
13553         Check via AC_LINK_IFELSE.
13554         * modules/copy-file-range (Depends-on): Remove modules no longer used.
13556 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
13558         copy-file: prefer copy_file_range
13559         * lib/copy-file.c: Do not include xalloc.h.
13560         (qcopy_file_preserving): Allocate a buffer only if
13561         copy_file_range does not suffice.  If the allocation fails
13562         don't give up; just use a small stack-based buffer.
13563         Prefer copy_file_range if it works.
13564         * modules/copy-file (Depends-on): Add copy-file-range.
13565         Remove xalloc.
13567         copy-file-range: new module
13568         * MODULES.html.sh: Add copy-file-range.
13569         * lib/copy-file-range.c, m4/copy-file-range.m4:
13570         * modules/copy-file-range: New files.
13571         * lib/unistd.in.h (copy_file_range): Declare.
13572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
13573         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
13574         * modules/unistd (unistd.h): Substitute them.
13576 2019-05-28  Bruno Haible  <bruno@clisp.org>
13578         binary-io: Attempted use of O_BINARY on consoles no longer fails.
13579         Reported by KO Myung-Hun <komh78@gmail.com> in
13580         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
13581         * lib/binary-io.h (__gl_setmode_check): Remove function.
13582         (set_binary_mode): Declare as notinline on DJGPP and EMX.
13583         * lib/binary-io.c (__gl_setmode_check): Remove function.
13584         (set_binary_mode): Define here on DJGPP and EMX. Inline
13585         __gl_setmode_check. In case of a tty, don't return an error code.
13587 2019-05-28  James Youngman  <jay@gnu.org>
13589         dirent-safer: Make opendir_safer usable from C++.
13590         * lib/dirent-safer.h: use extern "C".
13592 2019-05-28  James Youngman  <jay@gnu.org>
13594         canonicalize: Make canonicalize_filename_mode usable from C++.
13595         * lib/canonicalize.h: use extern "C".
13597 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
13599         prefix-gnulib-mk: Fix CPPFLAGS migration.
13600         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
13601         _a part of the library name.
13603 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13605         flexmember: update comments again
13606         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
13608         flexmember: update comment
13609         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
13611 2019-05-20  Bruno Haible  <bruno@clisp.org>
13613         setlocale: Improve fallback on macOS.
13614         * lib/setlocale.c (search): Optimize away a redundant strcmp()
13615         invocation.
13616         (locales_with_principal_territory): New array.
13617         (langcmp, get_main_locale_with_same_language): New functions.
13618         (locales_with_principal_language): New array.
13619         (terrcmp, get_main_locale_with_same_territory): New functions.
13620         (rpl_setlocale): When setlocale_single failed, try again with a locale
13621         that is more likely to exist. Don't warn if the environment variable
13622         SETLOCALE_VERBOSE is not set.
13624 2019-05-19  Bruno Haible  <bruno@clisp.org>
13626         localename: Fix default on macOS.
13627         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
13628         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
13629         (gl_locale_name_environ, gl_locale_name_default): Remove code for
13630         HAVE_CFLOCALECOPYCURRENT.
13631         * lib/localename.h (gl_locale_name_default): Update.
13633 2019-05-19  Karl Berry  <karl@freefriends.org>
13635         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
13636         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
13637         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
13639 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
13641         maintainer-makefile: catch uses of $< in non-implicit rules
13642         * top/maint.mk (sc_prohibit_magic_number_exit): New.
13644 2019-05-18  Bruno Haible  <bruno@clisp.org>
13646         threadlib: Provide an easy way to avoid mingw's winpthreads library.
13647         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
13648         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
13649         gl_use_threads accordingly.
13651 2019-05-18  Bruno Haible  <bruno@clisp.org>
13653         pthread_sigmask: Fix compilation error with --enable-threads=windows.
13654         Reported by Tim Rühsen in
13655         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
13656         and Michele Locati in
13657         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
13658         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
13659         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
13660         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
13661         in use and regardless which threads API is chosen.
13663 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13665         close-stream, closein, closeout: simplify
13666         I noticed this opportunity for simplification while drafting a
13667         new, related module that I haven’t had time to finish yet.
13668         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
13669         * modules/close-stream (Files): Remove m4/close-stream.m4.
13670         (configure.ac): Omit gl_CLOSE_STREAM.
13671         * modules/closein (Files): Remove m4/closein.m4
13672         (configure.ac): Omit gl_CLOSEIN.
13673         * modules/closeout (Files): Remove m4/closeout.m4.
13674         (configure.ac): Omit gl_CLOSEOUT.
13676 2019-05-12  Bruno Haible  <bruno@clisp.org>
13678         libtool-next-version: New program.
13679         * build-aux/libtool-next-version: New file.
13681 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
13682             Bruno Haible  <bruno@clisp.org>
13684         version-etc: Ease translation.
13685         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
13686         URLs and formatting newlines out of translatable string.
13688 2019-05-11  Bruno Haible  <bruno@clisp.org>
13690         gnupload: Explain how to create symlinks.
13691         * build-aux/gnupload (usage): Add an example that creates symlinks.
13693 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13695         fpucw: port to gcc -pedantic
13696         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
13697         Use __extension__ if using ({ ... }).
13699         crypto/af_alg: port to strict C compilers
13700         * lib/af_alg.c: Include af_alg.h regardless, so that the
13701         compilation unit is nonempty.
13703 2019-05-10  Bruno Haible  <bruno@clisp.org>
13705         base64: Avoid false positive warning from Coverity.
13706         Reported by Kamil Dudka <kdudka@redhat.com>.
13707         Idea by Paul Eggert.
13708         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
13709         '& 0x3f' to the array index expressions. This convinces Coverity that
13710         there is no out-of-bounds array reference, regardless of the input.
13712 2019-05-09  Bruno Haible  <bruno@clisp.org>
13714         gettext: Update to gettext 0.20.
13715         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
13716         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
13717         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
13718         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
13719         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
13720         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
13721         (configure.ac): Request infrastructure compatible with gettext 0.20.
13722         * m4/glibc2.m4: Remove file.
13723         * m4/intdiv0.m4: Remove file.
13724         * m4/intl.m4: Remove file.
13725         * m4/intldir.m4: Remove file.
13726         * m4/intmax.m4: Remove file.
13727         * m4/printf-posix.m4: Remove file.
13728         * m4/uintmax_t.m4: Remove file.
13729         * m4/gettext.m4: Update from gettext 0.20.
13730         * m4/po.m4: Likewise.
13732 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13734         verify: remove verify_true
13735         * NEWS: Mention this.
13736         * lib/verify.h (verify_true): Remove.
13737         * tests/test-verify.c (item): Test verify_expr, not verify_true.
13739         Support C2X and C++17 static_assert
13740         C2X and C++17 finally added support for a simple, single-argument
13741         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
13742         doing back in 2005.  Implement static_assert on older platforms.
13743         The only remaining advantage of ‘verify’ is a shorter name.
13744         * doc/posix-headers/assert.texi (assert.h):
13745         * doc/verify.texi (Compile-time Assertions):
13746         Modernize for C2X and C++17.
13747         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
13748         New macros.
13749         (_GL_HAVE__STATIC_ASSERT): Remove.
13750         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
13751         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
13752         string.  All callers changed.
13753         (_GL_VERIFY): Require 3 or more args, of which only the first 2
13754         are used.  All callers changed.
13755         (_Static_assert): Allow either 1 or 2 args, and define if
13756         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
13757         !_GL_HAVE__STATIC_ASSERT.
13758         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
13759         of defining if !_GL_HAVE_STATIC_ASSERT.
13760         (verify_expr, verify): Don’t bother trying to copy the expression
13761         into the diagnostic, since 1-argument static_assert doesn’t.
13762         (verify): Prefer 1-argument _Static_assert if it works.
13763         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
13765 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13767         Fix _GL_HAVE__STATIC_ASSERT typo
13768         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
13769         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
13771 2019-05-05  Bruno Haible  <bruno@clisp.org>
13773         wcwidth: Ensure width 1, not 2, for ambiguous characters.
13774         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
13775         via Akim Demaille <akim.demaille@gmail.com>.
13776         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
13777         en_US.UTF-8 locale, since that is more likely to be present than an
13778         fr_FR.UTF-8 locale.
13779         * tests/test-wcwidth.c (main): Check the width of U+2202.
13780         * doc/posix-functions/wcwidth.texi: Mention the issue.
13782 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
13784         Port manywarnings to GCC 9
13785         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
13786         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
13787         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
13788         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
13789         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
13790         --help=warnings output.
13791         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
13792         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
13793         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
13795 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
13797         Sync lib/mktime-internal.h from glibc
13798         * config/srclist.txt: Add entry for lib/mktime-internal.h.
13799         * lib/mktime-internal.h: Autoupdate.
13801 2019-04-28  Bruno Haible  <bruno@clisp.org>
13803         tls tests: Prevent that the test takes too long.
13804         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
13805         (main): Let the test fail if it takes more than 10 minutes.
13806         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
13808 2019-04-27  Bruno Haible  <bruno@clisp.org>
13810         lock tests: Prevent that the test takes too long.
13811         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
13812         (main): Let the test fail if it takes more than 10 minutes.
13813         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
13815 2019-04-27  Bruno Haible  <bruno@clisp.org>
13817         localename: Fix crash on mingw (regression from 2018-11-23).
13818         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
13819         locale name that is null.
13821 2019-04-27  Bruno Haible  <bruno@clisp.org>
13823         Fix gcc warnings on 64-bit mode mingw.
13824         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
13825         * lib/gl_array_list.c: Likewise.
13826         * lib/gl_array_map.c: Likewise.
13827         * lib/gl_array_set.c: Likewise.
13828         * lib/gl_carray_list.c: Likewise.
13829         * lib/gl_sublist.c: Likewise.
13830         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
13831         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
13832         * lib/gl_hash_map.c (uintptr_t): Likewise.
13833         * lib/gl_hash_set.c (uintptr_t): Likewise.
13834         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
13835         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
13836         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
13837         * lib/iconv.c (uintptr_t): Likewise.
13838         * lib/iconv_close.c (uintptr_t): Likewise.
13839         * tests/test-lock.c: Include <stdint.h>.
13840         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
13841         'long'.
13842         * modules/clean-temp (Depends-on): Add stdint.
13843         * modules/array-list (Depends-on): Likewise.
13844         * modules/array-map (Depends-on): Likewise.
13845         * modules/array-set (Depends-on): Likewise.
13846         * modules/carray-list (Depends-on): Likewise.
13847         * modules/sublist (Depends-on): Likewise.
13848         * modules/lock-tests (Depends-on): Likewise.
13850 2019-04-27  Bruno Haible  <bruno@clisp.org>
13852         error: Tweak indentation.
13853         * lib/error.c: Correct indentation.
13855 2019-04-27  Bruno Haible  <bruno@clisp.org>
13857         term-style-control: Fix gcc warning on mingw.
13858         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
13859         of i.
13861 2019-04-26  Bruno Haible  <bruno@clisp.org>
13863         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
13864         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
13866 2019-04-26  Bruno Haible  <bruno@clisp.org>
13868         relocatable-prog: Fix gcc warning on mingw.
13869         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
13870         on EMX.
13872 2019-04-02  Bruno Haible  <bruno@clisp.org>
13874         gitsub.sh: New file.
13875         * top/gitsub.sh: New file.
13877 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
13879         argmatch: use void* for raw memory pointers
13880         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
13881         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
13882         to "values", keep char* for strings.
13884 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
13886         prefix-gnulib-mk: fix the support for gnulib-po
13887         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
13888         Don't touch HAVE_* variables.
13889         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
13891 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
13893         di-set: allow free with 'ino_map' being NULL.
13894         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
13895         is NULL.  Bug introduced in commit 3703dbbe88dd.
13896         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
13897         as a test.
13899 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
13901         * lib/str-two-way.h: Fix comment typo.
13903 2019-04-13  Bruno Haible  <bruno@clisp.org>
13905         x-to-1: Restore ability to use original calling convention.
13906         * build-aux/x-to-1.in: Add comments. Accept the original form of
13907         HELP2MAN argument as well as the form expected since 2012-12-12.
13909 2019-04-13  Bruno Haible  <bruno@clisp.org>
13911         x-to-1: Avoid failure due to missing perl modules.
13912         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
13913         needs are installed.
13915 2019-04-13  Bruno Haible  <bruno@clisp.org>
13917         openmp-init: New module.
13918         * modules/openmp-init: New file.
13919         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
13920         the changes from 2019-04-09.
13922 2019-04-12  Bruno Haible  <bruno@clisp.org>
13924         signbit: Fix compilation error when gnulib's math.h exists twice.
13925         * lib/math.in.h (GNULIB_defined_signbit): New macro.
13927 2019-04-12  Bruno Haible  <bruno@clisp.org>
13929         openmp: Fix compilation error on platforms without OpenMP.
13930         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
13932 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
13934         mountlist: make parsing /proc/self/mountinfo more robust
13935         Cater for the following issues with mountinfo parsing (the first
13936         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
13937         in <https://bugs.gnu.org/35137>).
13938         1. The fields source, target, mntroot and fstype may contain characters
13939         like '\r'; sscanf(3) fails to read such values with the %s format
13940         specifier because it would stop at such characters.
13941         Example: "mount -t tmpfs tmpfs /foo^Mbar".
13942         The only true separator in that file is the ' ' character.
13943         2. The source field may be an empty string, which happens e.g. with
13944         "mount -t tmpfs '' /target".
13945         3. The fstype field may contain mangled characters as well which need
13946         unescaping.
13947         * lib/mountlist.c (terminate_at_blank): Add utility function.
13948         (read_file_system_list): In the block trying to read the mountinfo file,
13949         avoid using sscanf(3) with %s format; instead, parse the above fields
13950         separated by spaces one by one.
13951         This also handles the case when the source field is an empty string.
13952         Unescape the fstype field.
13954 2019-04-09  Bruno Haible  <bruno@clisp.org>
13956         openmp: Add workaround for 32-bit programs on AIX.
13957         * lib/omp.in.h: New file.
13958         * lib/omp-init.c: New file, based on lib/nproc.c.
13959         * m4/omp_h.m4: New file.
13960         * modules/openmp (Files): Add them.
13961         (Depends-on): Add include_next, c-ctype, setenv.
13962         (configure.ac): Invoke gl_OMP_H.
13963         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
13964         (Include): Mention <omp.h>.
13966 2019-04-09  Bruno Haible  <bruno@clisp.org>
13968         nproc: Fix return value for privileged processes.
13969         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
13970         getpid().
13972 2019-04-07  Bruno Haible  <bruno@clisp.org>
13974         Add copyright notices in several files.
13975         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
13976         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
13977         * lib/libunistring.valgrind: Likewise.
13978         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
13979         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
13980         * lib/memchr.valgrind: Likewise.
13981         * lib/memchr2.valgrind: Likewise.
13982         * lib/rawmemchr.valgrind: Likewise.
13983         * lib/relocatable.valgrind: Likewise.
13984         * lib/strchrnul.valgrind: Likewise.
13986 2019-03-25  Bruno Haible  <bruno@clisp.org>
13988         term-style-control tests: Fix link error.
13989         Reported by Tom G. Christensen in
13990         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
13991         * modules/term-style-control-tests (Makefile.am): Link
13992         test-term-style-control-hello and test-term-style-control-yes against
13993         LIBINTL.
13995 2019-03-24  Bruno Haible  <bruno@clisp.org>
13997         term-style-control: Add tests.
13998         * tests/test-term-style-control-hello.c: New file.
13999         * tests/test-term-style-control-yes.c: New file.
14000         * modules/term-style-control-tests: New file.
14002         term-style-control: New module.
14003         * lib/term-style-control.h: New file, based on libtextstyle's
14004         term-ostream.oo.h and term-ostream.oo.c.
14005         * lib/term-style-control.c: New file, based on libtextstyle's
14006         term-ostream.oo.c.
14007         * modules/term-style-control: New file.
14009 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14011         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
14012         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
14013         C++98 appears to be supported by Clang, but not by GCC nor ICC.
14015 2019-03-23  Bruno Haible  <bruno@clisp.org>
14017         Support cross-compilation to musl libc.
14018         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
14019         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
14020         musl libc.
14021         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14022         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14023         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14024         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14025         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14026         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
14027         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14028         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14029         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14030         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14031         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
14032         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
14033         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14034         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14035         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14036         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14037         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14038         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14039         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
14040         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14041         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14042         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14043         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
14044         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14045         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
14046         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14047         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14048         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14049         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
14050         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14051         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14052         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14053         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
14054         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14055         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14056         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
14057         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14058         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14059         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14060         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14061         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14062         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
14063         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
14064         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14065         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14066         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14067         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14068         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
14069         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
14070         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
14071         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
14072         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
14073         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14074         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
14075         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14076         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
14077         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14078         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14079         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14080         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14081         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14083         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14084         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
14085         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14086         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14087         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14088         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
14089         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14090         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
14091         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14092         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14093         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14094         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14095         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
14096         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14097         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14098         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14100 2019-03-23  Bruno Haible  <bruno@clisp.org>
14102         posix_spawn_file_actions_*: Document musl libc bugs.
14103         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14104         the bug.
14105         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
14106         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
14107         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
14108         cross-compiling to a musl system, guess no.
14109         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
14110         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
14112 2019-03-23  Bruno Haible  <bruno@clisp.org>
14114         futimens: Document musl libc bug.
14115         * doc/posix-functions/futimens.texi: Mention the bug.
14116         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
14117         cross-compiling, guess no on glibc and musl systems.
14119 2019-03-23  Bruno Haible  <bruno@clisp.org>
14121         Clarify that cross-compilation guesses are guesses.
14122         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
14123         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
14124         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
14125         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
14126         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
14127         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
14128         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
14129         gl_cv_glob_lists_symlinks.
14130         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
14131         'guessing ' to ac_cv_func_malloc_0_nonnull.
14132         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
14133         'guessing ' to ac_cv_func_realloc_0_nonnull.
14134         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
14135         'guessing ' to gl_cv_func_poll.
14136         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
14137         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
14138         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
14140 2019-03-23  Bruno Haible  <bruno@clisp.org>
14142         strtold: Fix typo.
14143         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
14145 2019-03-23  Bruno Haible  <bruno@clisp.org>
14147         noreturn: In C++ mode with clang, use _Noreturn as fallback.
14148         Reported by Akim Demaille.
14149         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
14150         [[noreturn]] would not work, use _Noreturn instead.
14152 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14154         libtextstyle-optional: Fix compiler warnings.
14155         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
14156         as unused.
14158 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14160         bitset: fix memory leaks
14161         Reported by Bruno Haible.
14162         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
14163         * lib/bitset/vector.c (vbitset_free): New.
14164         (vbitset_vtable): Use it.
14166 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14168         bitset: minor changes
14169         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
14170         * lib/bitset/table.c: Formatting changes.
14171         Remove useless braces.
14172         Prefer using else in cascades of if/else-if with returns.
14173         * lib/bitset/vector.c: Reduce scopes.
14175 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14177         bitset: expose bitset_resize
14178         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
14179         * tests/test-bitset.c (check_attributes): Check bitset_resize.
14180         (main): Use a variable bitset as reference, since fixed does not support resize.
14182 2019-03-19  Bruno Haible  <bruno@clisp.org>
14184         doc: Document the 'stdnoreturn' and 'noreturn' modules.
14185         Reported by Akim Demaille.
14186         * doc/noreturn.texi: New file.
14187         * doc/gnulib.texi: Include it.
14189 2019-03-19  Bruno Haible  <bruno@clisp.org>
14191         doc: Document how to use 'static inline'.
14192         * doc/static-inline.texi: New file.
14193         * doc/gnulib.texi: Include it.
14195 2019-03-19  Bruno Haible  <bruno@clisp.org>
14197         libtextstyle-optional: Add tests.
14198         * tests/test-libtextstyle.c: New file, based on libtextstyle's
14199         adhoc-tests/hello.c.
14200         * tests/test-libtextstyle-default.css: New file, copied from
14201         libtextstyle's adhoc-tests/hello-default.css.
14202         * modules/libtextstyle-optional-tests: New file.
14204         libtextstyle-optional: New module.
14205         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
14206         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
14207         * modules/libtextstyle-optional: New file.
14209 2019-03-19  Bruno Haible  <bruno@clisp.org>
14211         c-stack: Make signal handlers more reliable.
14212         * lib/c-stack.c (progname): New variable.
14213         (die): Use it.
14214         (c_stack_action): Initialize it.
14215         (segv_handler): Save and restore errno.
14217 2019-03-19  Bruno Haible  <bruno@clisp.org>
14219         Help making signal handlers more reliable.
14220         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
14221         _GL_ASYNC_SAFE into config.h.
14222         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
14223         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
14224         argument.
14225         * lib/fatal-signal.c (action_t, uninstall_handlers,
14226         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
14227         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
14228         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
14229         _GL_ASYNC_SAFE.
14230         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
14231         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
14233 2019-03-18  Bruno Haible  <bruno@clisp.org>
14235         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
14236         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
14237         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
14239 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14241         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
14242         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
14243         GCC 4.8.
14245 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
14247         fts: minor simplification
14248         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
14250 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14252         bitset, timevar: Depend on c99.
14253         Reported by Bruno Haible.
14254         * modules/bitset, modules/timevar (Depends-on): Add c99.
14256 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14258         bitset: a bit (...) more tests
14259         * tests/test-bitset.c (check_attributes): Check zero and ones.
14261 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14263         bitset: fix overflows.
14264         Reported by Bruno Haible.
14265         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
14266         * lib/bitset/table.c (tbitset_test): last_bit is the position of
14267         the bit in the array of bitset_word, so be sure to take its modulo
14268         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
14269         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
14271 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
14273         bitset: style changes.
14274         * lib/bitset/table.c: Use NULL, not 0, for pointers.
14275         Formatting changes.
14276         (tbitset_list): Reduce scopes.
14278 2019-03-16  Bruno Haible  <bruno@clisp.org>
14280         fatal-signal: Pass the signal number to the action.
14281         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
14282         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
14283         (fatal_signal_handler): Pass the signal number to the action.
14284         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
14285         signal number as parameter.
14286         (create_temp_dir): Update.
14287         * lib/wait-process.c (cleanup_slaves_action): New function.
14288         (register_slave_subprocess): Update at_fatal_signal invocation.
14289         * NEWS: Mention the change.
14291 2019-03-16  Bruno Haible  <bruno@clisp.org>
14293         fatal-signal: Add function that lists the fatal signals.
14294         * lib/fatal-signal.h (get_fatal_signals): New declaration.
14295         * lib/fatal-signal.c (get_fatal_signals): New function.
14297 2019-03-14  Bruno Haible  <bruno@clisp.org>
14299         isatty: Make it return true in Cygwin consoles on native Windows.
14300         * lib/isatty.c: Include <string.h>.
14301         (GetProcAddress): New macro.
14302         (GetNamedPipeClientProcessIdFuncType): New type.
14303         (GetNamedPipeClientProcessIdFunc): New variable.
14304         (QueryFullProcessImageNameFuncType): New type.
14305         (QueryFullProcessImageNameFunc): New variable.
14306         (initialized): New variable.
14307         (initialize): New function.
14308         (IsCygwinConsoleHandle): New function.
14309         (isatty): Invoke it.
14310         * doc/posix-functions/isatty.texi: Mention the issue.
14312 2019-03-14  Bruno Haible  <bruno@clisp.org>
14314         all: Update URLs to msdn.microsoft.com.
14315         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
14316         was moved to docs.microsoft.com.
14318 2019-03-13  Bruno Haible  <bruno@clisp.org>
14320         gnulib-tool: Clarify the coding style.
14321         Suggested by Pavel Raiskup <praiskup@redhat.com>.
14322         * gnulib-tool: Add comment about coding style.
14324 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14326         strtod: fix clash with strtold
14327         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
14328         * lib/strtod.c (compute_minus_zero, minus_zero):
14329         Simplify by remving the macro / external variable,
14330         and having just a function.  User changed.  This avoids
14331         the need for an external variable that might clash.
14333 2019-03-10  Bruno Haible  <bruno@clisp.org>
14335         alloca-opt: Fix conflict mingw's new <alloca.h> file.
14336         Reported by Eli Zaretskii <eliz@gnu.org>.
14337         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
14338         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
14339         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
14341 2019-03-10  Bruno Haible  <bruno@clisp.org>
14343         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
14344         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
14345         is in use.
14346         * tests/test-printf-posix2.c: Likewise.
14348 2019-03-10  Bruno Haible  <bruno@clisp.org>
14350         uninorm tests: Free allocated memory.
14351         * tests/uninorm/test-u32-normalize-big.h
14352         (struct normalization_test_file): Remove 'const' from allocated member.
14353         (free_normalization_test_file): New declaration.
14354         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
14355         memory.
14356         (free_normalization_test_file): New function.
14357         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
14358         'struct normalization_test_file' contents.
14359         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
14360         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
14361         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
14363 2019-03-10  Bruno Haible  <bruno@clisp.org>
14365         di-set: Fix memory leak.
14366         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
14367         not free().
14369 2019-03-10  Bruno Haible  <bruno@clisp.org>
14371         tests: Free allocated memory.
14372         Reported by <deltatau@protonmail.com> via Assaf Gordon.
14373         * tests/test-astrxfrm.c (main): Free allocated memory.
14374         * tests/test-bitset.c (compare, check_attributes): Free allocated
14375         bitsets.
14376         * tests/test-filenamecat.c (main): Free allocated memory.
14377         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
14378         * tests/test-freadptr.c (main): Likewise.
14379         * tests/test-freadptr2.c (main): Free allocated memory.
14380         * tests/test-freadseek.c (main): Likewise.
14381         * tests/test-gc-arcfour.c (main): Close allocated context.
14382         * tests/test-gc-arctwo.c (main): Likewise.
14383         * tests/test-gc-des.c (main): Close all allocated contexts.
14384         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
14385         * tests/test-pipe-filter-ii1.c (main): Likewise.
14386         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
14387         allocated file actions.
14388         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
14389         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
14390         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
14391         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
14392         * tests/test-strfmon_l.c (main): Free allocated locales.
14393         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
14394         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
14395         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14396         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14397         * tests/unistr/test-chr.h (main): Free input32.
14398         * tests/unistr/test-strchr.h (test_strchr): Likewise.
14400 2019-03-10  Bruno Haible  <bruno@clisp.org>
14402         tests: Prepare for using valgrind.
14403         * tests/*.sh: Invoke all test programs through ${CHECKER}.
14404         * tests/*/*.sh: Likewise.
14405         * tests/test-freadptr.c (main): Update accordingly.
14406         * tests/test-freadseek.c (main): Likewise.
14408 2019-03-09  Bruno Haible  <bruno@clisp.org>
14410         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
14411         * lib/get-rusage-as.c (get_rusage_as): When compiled by
14412         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
14413         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
14414         before exiting.
14416 2019-03-09  Jim Meyering  <meyering@fb.com>
14418         test-userspec.c: don't print NULL
14419         * tests/test-userspec.c (main): A test release of gcc,
14420         9.0.1 20190310, warned that this test would attempt to
14421         print a NULL pointer via a %s printf format.  Fix that
14422         and remove the unnecessary preceding "!diag" conjunct.
14423         Also add a comment.
14425 2019-03-03  Bruno Haible  <bruno@clisp.org>
14427         getloadavg: Write NULL for the null pointer.
14428         Reported by Michal Privoznik <mprivozn@redhat.com>.
14429         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
14431 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
14433         alloca, tsearch-tests: Write NULL for the null pointer.
14434         * lib/alloca.c (i00afunc): Write NULL instead of 0.
14435         * tests/test-tsearch.c (mangle_tree): Likewise.
14437 2019-03-09  Bruno Haible  <bruno@clisp.org>
14439         strfmon_l: Fix -fsanitize=address finding.
14440         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
14441         <string.h>.
14442         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
14443         (directive_t, directives_t): New types.
14444         (fmon_parse): New function.
14445         (rpl_strfmon_l): Don't call va_arg more often than needed for the
14446         format string. Consume 'long double' arguments in places where the
14447         format string indicates so.
14448         * modules/strfmon_l (Depends-on): Add 'stdbool'.
14450 2019-03-09  Bruno Haible  <bruno@clisp.org>
14452         crypto/des: Fix undefined behaviour.
14453         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
14454         shift operations on 'int'.
14456 2019-03-09  Bruno Haible  <bruno@clisp.org>
14458         Fix undefined behaviour.
14459         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
14460         'unsigned int', to avoid shift operations on 'int'.
14461         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
14462         * tests/test-count-leading-zeros.c (main): Use a random number that has
14463         as many bits as TYPE, not only 2*15 or 2*31 bits.
14464         * tests/test-count-trailing-zeros.c (main): Likewise.
14465         * tests/test-count-one-bits.c (main): Likewise.
14466         * tests/test-memmem.c: Don't include "null-ptr.h".
14467         (main): Use zerosize_ptr() instead of null_ptr().
14468         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
14470 2019-03-08  Bruno Haible  <bruno@clisp.org>
14472         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
14473         Reported by Jeffrey Walton <noloader@gmail.com>.
14474         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
14475         invoke memset with a zero size.
14476         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
14477         Likewise.
14478         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
14479         Adjust accordingly.
14481 2019-03-08  Bruno Haible  <bruno@clisp.org>
14483         unistr/*, uniconv/*: Fix undefined behaviour.
14484         Reported by Jeffrey Walton <noloader@gmail.com>.
14485         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
14486         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
14487         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14488         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14490 2019-03-08  Bruno Haible  <bruno@clisp.org>
14492         unistr/u8-cmp: Fix undefined behaviour.
14493         Reported by Jeffrey Walton <noloader@gmail.com>.
14494         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
14496 2019-03-08  Bruno Haible  <bruno@clisp.org>
14498         unictype/numeric: Fix undefined behaviour.
14499         Reported by Jeffrey Walton <noloader@gmail.com>.
14500         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
14501         on shift overflow, caught by "gcc -fsanitize=undefined".
14502         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
14503         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14504         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14506 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
14508         git-version-gen: fix --version copyright year
14509         * build-aux/git-version-gen, build-aux/move-if-change (version):
14510         --version output copyright year is now taken from script year,
14511         so that it no longer needs to be updated by hand.
14513 2019-03-04  Bruno Haible  <bruno@clisp.org>
14515         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
14516         This approach supports relocatable installation of shared libraries
14517         which depend on other shared libraries from the same package.
14518         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
14519         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
14520         wrapper around the original LIBTOOL.
14521         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
14522         token '@loader_path' instead of '$ORIGIN'.
14523         * build-aux/libtool-reloc: New file.
14524         * modules/relocatable-prog (Files): Add it.
14525         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
14526         the recent changes. Document the need to set the *_LDFLAGS of libraries.
14527         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
14528         Makefile.am, not in configure.ac.
14530 2019-03-04  Bruno Haible  <bruno@clisp.org>
14532         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
14533         * build-aux/install-reloc: Revert change.
14534         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
14536 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14538         nstrftime: support the ‘+’ flag
14539         * lib/nstrftime.c (add, __strftime_internal):
14540         Add support for the ‘+’ flag introduced in POSIX.1-2017.
14541         (__strftime_internal): New arg ‘width’.  All uses changed.
14542         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
14544 2019-02-24  Bruno Haible  <bruno@clisp.org>
14546         relocatable-prog: Improve verbose output.
14547         * build-aux/install-reloc (func_verbose): Escape characters that would
14548         be interpreted by the shell.
14550 2019-02-24  Bruno Haible  <bruno@clisp.org>
14552         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
14553         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
14554         "sys/stat.h".
14555         * lib/lstat.c: Likewise.
14556         * lib/fstat.c: Likewise.
14557         * lib/fstatat.c: Likewise.
14559 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
14561         long-options: add parse_gnu_standard_options_only
14562         Discussed in https://bugs.gnu.org/33468 .
14564         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
14565         (parse_gnu_standard_options_only): Add function to process
14566         the GNU default options --help and --version and fail for
14567         any other unknown long or short option. See
14568         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
14569         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
14570         * modules/long-options (depends-on): Add stdbool, exitfail.
14571         * top/maint.mk (sc_prohibit_long_options_without_use): Update
14572         syntax-check rule, add new function name.
14574 2019-02-23  Bruno Haible  <bruno@clisp.org>
14576         relocatable-prog: Update documentation.
14577         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
14578         the recent changes.
14580 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14582         nstrftime: tweak arg order
14583         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
14584         All callers changed.  Suggested by TAMUKI Shoichi in:
14585         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
14587 2019-02-23  Bruno Haible  <bruno@clisp.org>
14589         relocatable-prog: Use wrapper-free installation also on Mac OS X.
14590         Reported by Paul Smith <psmith@gnu.org>.
14591         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
14592         (func_relativize): New function, from gnulib-tool.
14593         Handle mode 'macosx' through invocations of 'otool' and
14594         'install_name_tool'.
14595         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
14596         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
14597         'install-reloc' invocation with mode 'macosx'.
14599 2019-02-23  Bruno Haible  <bruno@clisp.org>
14601         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
14602         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
14603         Hurd with glibc >= 2.27.
14605 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14607         nstrftime: merge glibc strftime changes
14608         This incorporates:
14609         2019-02-11 Fix a few whitespace arrangement inconsistencies
14610         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
14611         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
14612         2019-01-11 strftime: use the "L_" macro with character literals
14613         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
14614         callers changed.  Default width of %Ey is now 2.  This is needed
14615         for proper handling of Japanese dates starting on 2019-05-01.
14617 2019-02-19  Bruno Haible  <bruno@clisp.org>
14619         relocatable-prog: Use $ORIGIN trick on more platforms.
14620         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
14621         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
14622         Solaris >= 10, Haiku. But don't use it on Android.
14623         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
14624         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
14626 2019-02-19  Bruno Haible  <bruno@clisp.org>
14628         progreloc: Speed up executable lookup on various platforms.
14629         * lib/progreloc.c: Include <errno.h>.
14630         (safe_read, full_read): New functions.
14631         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
14632         prefer the information from the /proc file system to a PATH search.
14634 2019-02-19  Bruno Haible  <bruno@clisp.org>
14636         progreloc: Simplify code for Android.
14637         * lib/progreloc.c (executable_fd): Don't define on Android.
14638         (maybe_executable, find_executable): Don't use executable_fd on Android.
14640 2019-02-15  Bruno Haible  <bruno@clisp.org>
14642         gnulib-tool: Support --import with just a few tests, not --with-tests.
14643         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
14644         'inctests' when generating files; use 'inctests' only for computing the
14645         transitive closure.
14647 2019-02-14  Bruno Haible  <bruno@clisp.org>
14649         gnulib-tool: Improve handling of multiple --local-dir options.
14650         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
14651         options work.
14652         * gnulib-tool (func_path_prepend): Remove function.
14653         (func_path_foreach): Make IFS handling more robust.
14654         (local_gnulib_path): Collect --local-dir values using func_path_append,
14655         not func_path_prepend.
14656         (func_determine_path_separator): Make IFS handling more robust.
14657         (func_lookup_file_cb): New function.
14658         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
14659         func_lookup_local_file. Apply the patches in the reverse order of their
14660         origin in $local_gnulib_path.
14661         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
14662         * NEWS: Mention that the first --local-dir option is the one with
14663         highest priority.
14665 2019-02-10  Bruno Haible  <bruno@clisp.org>
14667         libtextstyle: New module.
14668         * m4/libtextstyle.m4: New file.
14669         * modules/libtextstyle: New file.
14671 2019-02-05  Bruno Haible  <bruno@clisp.org>
14673         declared.sh: Fix bug with variables of pointer type.
14674         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
14675         before the symbol to be omitted if the preceding character is a '*'.
14677 2019-02-04  Bruno Haible  <bruno@clisp.org>
14679         Add script for running tests under valgrind.
14680         * build-aux/run-test: New file, from GNU libunistring.
14681         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
14682         as well.
14684 2019-02-04  Bruno Haible  <bruno@clisp.org>
14686         declared.sh: Fix --version output.
14687         * build-aux/declared.sh (func_version): Update package name.
14689 2019-02-03  Bruno Haible  <bruno@clisp.org>
14691         Add script for determining the set of symbols to export from a library.
14692         * build-aux/declared.sh: New file, from GNU libunistring.
14693         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
14694         Mention it.
14696 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
14698         vla: add commentary about VLA_ELEMS
14699         * lib/vla.h (VLA_ELEMS): Add commentary,
14700         some inspired by Bruno Haible’s proposal in:
14701         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
14703         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
14704         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
14705         assume the C99 signatures for strtod and strtold.  Programs that
14706         require stricter adherence to C99 should also use the strtod and
14707         strtold modules as needed, and we no longer need the
14708         HAVE_C99_STRTOLD macro.
14709         * NEWS: Mention this.
14710         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
14711         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
14712         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
14713         (Files): Remove m4/c-strtod.m4.
14714         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
14715         exists.
14717 2019-02-02  Bruno Haible  <bruno@clisp.org>
14719         fma: Improve code style.
14720         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
14722 2019-02-02  Colin Watson  <cjwatson@debian.org>
14724         *-map tests: Fix compilation error.
14725         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
14726         * tests/test-hash_map.c: Likewise.
14727         * tests/test-linkedhash_map.c: Likewise.
14729 2019-01-31  Bruno Haible  <bruno@clisp.org>
14731         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
14732         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
14733         GNULIB_defined_strtold_function): New macros.
14734         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
14735         (STRTOD): Ignore HAVE_C99_STRTOLD.
14736         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
14737         deemed buggy. But do use it on platforms where uselocale exists and is
14738         usable.
14739         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
14740         deemed buggy. On platforms where uselocale exists and is usable, use
14741         uselocale and strtod/strtold.
14742         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
14743         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
14744         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
14745         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
14746         (Depends-on): Add strtod.
14747         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
14748         (Depends-on): Add strtold.
14750 2019-01-31  Bruno Haible  <bruno@clisp.org>
14752         strtod, strtold: Use the locale's decimal point.
14753         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
14754         (decimal_point_char): New function, copied from lib/vasnprintf.c.
14755         (parse_number): Add a radixchar argument. Use it instead of '.'.
14756         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
14757         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
14758         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
14759         * tests/test-strtod1.c: New file.
14760         * tests/test-strtod1.sh: New file.
14761         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
14762         locale-fr.m4 and its dependencies.
14763         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
14764         (Makefile.am): Arrange to compile test-strtod1.c and run
14765         test-strtod1.sh.
14766         * tests/test-strtold1.c: New file.
14767         * tests/test-strtold1.sh: New file.
14768         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
14769         locale-fr.m4 and its dependencies.
14770         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
14771         (Makefile.am): Arrange to compile test-strtold1.c and run
14772         test-strtold1.sh.
14774 2019-01-31  Bruno Haible  <bruno@clisp.org>
14776         strtod, strtold tests: Simplify tests.
14777         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
14778         * tests/test-strtold.c (main): Likewise.
14780 2019-01-31  Bruno Haible  <bruno@clisp.org>
14782         strtod, strtold: Avoid unnecessary rounding errors.
14783         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
14784         decimal to DOUBLE conversion.
14786 2019-01-31  Bruno Haible  <bruno@clisp.org>
14788         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
14789         * lib/strtod.c (STRTOD): When there is an extra character after the
14790         exponent marker 'p', reparse the number.
14791         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
14792         * doc/posix-functions/strtold.texi: Likewise.
14794 2019-01-29  Bruno Haible  <bruno@clisp.org>
14796         strtold: Add tests.
14797         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
14798         * modules/strtold-tests: New file.
14800 2019-01-29  Bruno Haible  <bruno@clisp.org>
14802         strtold: New module.
14803         * lib/stdlib.in.h (strtold): New declaration.
14804         * lib/strtold.c: New file.
14805         * lib/strtod.c: Consider USE_LONG_DOUBLE.
14806         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
14807         USE_LDEXP): New macros.
14808         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
14809         USE_LONG_DOUBLE.
14810         (underlying_strtod): Remove function. Replace with some macros.
14811         Re-add the code for a missing underlying function that was removed on
14812         2013-02-19.
14813         * m4/strtold.m4: New file.
14814         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
14815         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
14816         REPLACE_STRTOLD.
14817         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
14818         REPLACE_STRTOLD.
14819         * modules/strtold: New file.
14820         * doc/posix-functions/strtold.texi: Document the new module.
14822 2019-01-29  Bruno Haible  <bruno@clisp.org>
14824         strtod: Fix compilation error on IRIX 6.5.
14825         * modules/strtod (Depends-on): Add 'math'.
14827 2019-01-28  Bruno Haible  <bruno@clisp.org>
14829         Fix build error when building a shared libunistring on Android.
14830         * tests/uninorm/test-nfc.c (n): Don't define on Android.
14831         (main): Add 'volatile', to defeat a GCC optimization that would
14832         eliminate the reference.
14833         * tests/uninorm/test-nfd.c (n): Don't define on Android.
14834         (main): Add 'volatile', to defeat a GCC optimization that would
14835         eliminate the reference.
14836         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
14837         (main): Add 'volatile', to defeat a GCC optimization that would
14838         eliminate the reference.
14839         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
14840         (main): Add 'volatile', to defeat a GCC optimization that would
14841         eliminate the reference.
14843 2019-01-27  Bruno Haible  <bruno@clisp.org>
14845         Avoid build errors due to wrong references between modules.
14846         * lib/uninorm/canonical-decomposition.c: Include
14847         "uninorm/decomposition-table.h", not "decomposition-table.h".
14848         * lib/uninorm/decomposition.c: Likewise.
14849         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
14850         not "decompose-internal.h".
14851         * lib/uninorm/u16-normalize.c: Likewise.
14852         * lib/uninorm/u32-normalize.c: Likewise.
14853         * lib/uninorm/uninorm-filter.c: Likewise.
14854         * lib/uninorm/nfkc.c: Likewise.
14855         * lib/uninorm/nfkd.c: Likewise.
14856         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
14857         "caseprop.h".
14858         * lib/unicase/u8-ct-totitle.c: Likewise.
14859         * lib/unicase/u8-prefix-context.c: Likewise.
14860         * lib/unicase/u8-suffix-context.c: Likewise.
14861         * lib/unicase/u16-casemap.c: Likewise.
14862         * lib/unicase/u16-ct-totitle.c: Likewise.
14863         * lib/unicase/u16-prefix-context.c: Likewise.
14864         * lib/unicase/u16-suffix-context.c: Likewise.
14865         * lib/unicase/u32-casemap.c: Likewise.
14866         * lib/unicase/u32-ct-totitle.c: Likewise.
14867         * lib/unicase/u32-prefix-context.c: Likewise.
14868         * lib/unicase/u32-suffix-context.c: Likewise.
14869         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
14870         "unicasemap.h".
14871         * lib/unicase/u8-toupper.c: Likewise.
14872         * lib/unicase/u8-ct-tolower.c: Likewise.
14873         * lib/unicase/u8-ct-toupper.c: Likewise.
14874         * lib/unicase/u16-tolower.c: Likewise.
14875         * lib/unicase/u16-toupper.c: Likewise.
14876         * lib/unicase/u16-ct-tolower.c: Likewise.
14877         * lib/unicase/u16-ct-toupper.c: Likewise.
14878         * lib/unicase/u32-tolower.c: Likewise.
14879         * lib/unicase/u32-toupper.c: Likewise.
14880         * lib/unicase/u32-ct-tolower.c: Likewise.
14881         * lib/unicase/u32-ct-toupper.c: Likewise.
14882         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
14883         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
14884         * lib/unicase/u16-ct-casefold.c: Likewise.
14885         * lib/unicase/u32-ct-casefold.c: Likewise.
14887 2019-01-27  Bruno Haible  <bruno@clisp.org>
14889         gperf: Fix error when this module is required by some test module.
14890         * modules/gperf (Applicability): Set to 'all'.
14892 2019-01-27  Bruno Haible  <bruno@clisp.org>
14894         tmpfile: Add support for Android.
14895         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
14896         works.
14897         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
14898         Android.
14899         * modules/tmpfile (Depends-on): Add 'stdbool'.
14900         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
14901         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
14903 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
14905         bitsetv: allow free on NULL.
14906         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
14908 2019-01-27  Bruno Haible  <bruno@clisp.org>
14910         test-framework-sh: Improve maintainability.
14911         * tests/init.sh: Clarify what belongs together. Reorder definitions.
14913 2019-01-27  Bruno Haible  <bruno@clisp.org>
14915         tests: Don't assume that /tmp exists.
14916         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
14917         * tests/test-copy-acl-1.sh: Likewise.
14918         * tests/test-file-has-acl-1.sh: Likewise.
14919         * tests/test-copy-file-1.sh: Likewise.
14921 2019-01-27  Bruno Haible  <bruno@clisp.org>
14923         tests: Accommodate a shell that is not in /bin/sh.
14924         * tests/init.sh (setup_): Set srcdir and builddir.
14925         (BOURNE_SHELL): New variable.
14926         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
14927         * modules/file-has-acl-tests (Depends-on): Likewise.
14928         * modules/copy-file-tests (Depends-on): Likewise.
14929         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
14930         scripts through $BOURNE_SHELL.
14931         * tests/test-set-mode-acl-2.sh: Likewise.
14932         * tests/test-copy-acl-1.sh: Likewise.
14933         * tests/test-copy-acl-2.sh: Likewise.
14934         * tests/test-file-has-acl-1.sh: Likewise.
14935         * tests/test-file-has-acl-2.sh: Likewise.
14936         * tests/test-copy-file-1.sh: Likewise.
14937         * tests/test-copy-file-2.sh: Likewise.
14938         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
14939         invoker.
14940         * tests/test-copy-acl.sh (builddir): Likewise.
14941         * tests/test-file-has-acl.sh (builddir): Likewise.
14942         * tests/test-copy-file.sh (builddir): Likewise.
14943         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
14944         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
14945         * tests/test-vc-list-files-git.sh: Likewise.
14947 2019-01-27  Bruno Haible  <bruno@clisp.org>
14949         tests: Fix some "unused variable" warnings.
14950         * tests/test-fts.c (fts_dealloc): Remove unused variable.
14951         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
14952         * tests/test-striconveh.c (main): Move some variable into the
14953         '#if HAVE_ICONV'.
14954         * tests/test-striconveha.c (main): Likewise.
14955         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
14956         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
14957         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
14958         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
14959         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14960         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14961         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
14962         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
14963         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
14964         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
14965         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
14966         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
14967         * tests/test-tsearch.c (main): Move some variable into the
14968         '#if HAVE_INITSTATE'.
14970 2019-01-27  Bruno Haible  <bruno@clisp.org>
14972         unigbrk/uc-grapheme-breaks: Fix build failure.
14973         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
14974         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
14976 2019-01-27  Bruno Haible  <bruno@clisp.org>
14978         mountlist: Merge two .m4 files.
14979         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
14980         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
14981         * m4/ls-mntd-fs.m4: Remove file.
14982         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
14984 2019-01-27  Bruno Haible  <bruno@clisp.org>
14986         tests: Enable Linux specific tests on Android.
14987         * tests/test-flock.c (main): Treat Android like Linux.
14988         * tests/test-openat-safer.c (main): Likewise.
14990 2019-01-27  Bruno Haible  <bruno@clisp.org>
14992         relocatable-prog: Use Linux code on Android.
14993         * lib/progreloc.c: Treat Android like Linux.
14995 2019-01-26  Bruno Haible  <bruno@clisp.org>
14997         getloadavg: Add support for Android.
14998         * lib/getloadavg.c: Treat Android like Linux.
15000 2019-01-26  Bruno Haible  <bruno@clisp.org>
15002         vma-iter: Add support for Android.
15003         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
15004         * lib/vma-iter.c: Treat Android like Linux.
15005         * lib/get-rusage-data.c (get_rusage_data): Likewise.
15007 2019-01-26  Bruno Haible  <bruno@clisp.org>
15009         fts: Optimize on Android.
15010         * lib/fts.c: Treat Android like Linux.
15012 2019-01-26  Bruno Haible  <bruno@clisp.org>
15014         fts: Add support for Android.
15015         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
15016         defined by this module and the ones in libc.
15017         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
15019 2019-01-26  Bruno Haible  <bruno@clisp.org>
15021         mountlist: Use Linux code on Android.
15022         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
15023         (unescape_tab, read_file_system_list): Enable Linux code on Android
15024         as well.
15025         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
15026         and endmntent.
15027         * modules/mountlist (Depends-on): Add 'getline'.
15029 2019-01-26  Bruno Haible  <bruno@clisp.org>
15031         localename tests: Fix test failure on Android.
15032         * modules/localename-tests (Depends-on): Add 'setlocale'.
15034 2019-01-26  Bruno Haible  <bruno@clisp.org>
15036         mountlist: Port better to Android.
15037         * lib/mountlist.c (MOUNTED): Redefine on Android.
15038         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
15039         Android.
15041 2019-01-26  Bruno Haible  <bruno@clisp.org>
15043         striconveh: Fix use of uninitialized iconv_t.
15044         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
15045         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
15046         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
15048 2019-01-26  Bruno Haible  <bruno@clisp.org>
15050         nonblocking-socket-tests: Fix test failure on Android 4.3.
15051         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
15052         also on Android.
15054 2019-01-26  Bruno Haible  <bruno@clisp.org>
15056         sh-filename: Add support for Android 4.3.
15057         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
15059 2019-01-26  Bruno Haible  <bruno@clisp.org>
15061         ptsname_r: Work around bug on Android 4.3.
15062         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
15063         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
15064         correct.
15065         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
15066         is defined, just fix the return value.
15067         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
15068         The behaviour of musl libc is nothing to be "fixed", since it is
15069         compliant with the next POSIX standard.
15071 2019-01-26  Bruno Haible  <bruno@clisp.org>
15073         ttyname_r: Work around bug on Android 4.3.
15074         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
15075         * lib/ttyname_r.c (ttyname_r): Implement for Android.
15076         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
15077         * doc/posix-functions/ttyname.texi: Likewise.
15079 2019-01-25  Bruno Haible  <bruno@clisp.org>
15081         getprogname: Port to Android 4.3.
15082         * lib/getprogname.c (getprogname): On Android, take only the last
15083         component of __progname.
15085 2019-01-25  Bruno Haible  <bruno@clisp.org>
15087         wcrtomb: Work around bug on Android 4.3.
15088         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
15089         the C locale.
15090         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
15091         which does not have the 'wctomb' function.
15092         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
15093         * tests/test-wcrtomb.c (main): Accept argument '5'.
15094         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
15096 2019-01-25  Bruno Haible  <bruno@clisp.org>
15098         setlocale: Work around bug on Android 4.3.
15099         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
15100         the "C" locale.
15101         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
15102         * doc/posix-functions/setlocale.texi: Mention the Android bug.
15104 2019-01-24  Bruno Haible  <bruno@clisp.org>
15106         memchr: Work around bug on Android <= 5.0.
15107         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
15108         * doc/posix-functions/memchr.texi: Mention the Android bug.
15110 2019-01-24  Bruno Haible  <bruno@clisp.org>
15112         random: Fix compilation error on Android 4.3.
15113         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
15114         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
15115         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
15116         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
15117         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
15119         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15120         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
15121         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15122         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
15123         REPLACE_INITSTATE, REPLACE_SETSTATE.
15124         * doc/posix-functions/random.texi: Correct the description of the
15125         situation on Android.
15126         * doc/posix-functions/srandom.texi: Likewise.
15127         * doc/posix-functions/rand.texi: Likewise.
15128         * doc/posix-functions/srand.texi: Likewise.
15130 2019-01-24  Bruno Haible  <bruno@clisp.org>
15132         mbtowc: Fix compilation error on Android 4.3.
15133         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
15134         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
15135         HAVE_MBTOWC.
15136         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
15137         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
15138         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
15139         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
15140         * doc/posix-functions/mbtowc.texi: Mention the change.
15142 2019-01-24  Bruno Haible  <bruno@clisp.org>
15144         fdatasync: Fix compilation error on Android 4.3.
15145         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
15146         test whether fdatasync() exists.
15148 2019-01-24  Bruno Haible  <bruno@clisp.org>
15150         unlinkat: Fix compilation error on Android 4.3.
15151         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
15152         also on Android.
15153         * doc/posix-functions/unlinkat.texi: Mention the issue.
15155 2019-01-24  Bruno Haible  <bruno@clisp.org>
15157         renameat: Fix compilation error on Android 4.3.
15158         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
15159         * doc/posix-functions/renameat.texi: Mention the issue.
15161 2019-01-24  Bruno Haible  <bruno@clisp.org>
15163         fchownat: Fix compilation error on Android 4.3.
15164         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
15165         use.
15166         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
15167         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
15168         * doc/posix-functions/fchownat.texi: Mention the issue.
15170 2019-01-23  Bruno Haible  <bruno@clisp.org>
15172         gnulib-tool: Support running testdirs on Android.
15173         * build-aux/test-driver.diff: New file.
15174         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
15175         build-aux/test-driver after running automake.
15177 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15179         relocatable-prog: avoid warnings from Automake
15180         * modules/relocatable-prog: Don't declare PHONY dependencies in
15181         Automake conditionals.
15183 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15185         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
15186         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
15188 2019-01-23  Bruno Haible  <bruno@clisp.org>
15190         threadlib: Revert commit from 2018-06-25. We now have a better fix.
15191         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
15192         preceding -Wl,--as-needed option. Don't check whether the linker
15193         supports --as-needed/--no-as-needed and --push-state/--pop-state.
15195 2019-01-23  Bruno Haible  <bruno@clisp.org>
15197         thread: Force linking with -lpthread, even when --as-needed is in use.
15198         Reported by Richard W.M. Jones <rjones@redhat.com> in
15199         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
15200         * lib/glthread/thread.h (pthread_create): Don't declare weak.
15202 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
15203             Bruno Haible  <bruno@clisp.org>
15205         relocatable: avoid compiler warnings (-Wshadow)
15206         * lib/relocatable.c (compute_curr_prefix): Rename local variables
15207         to avoid name collisions with global variables.
15209 2019-01-22  Bruno Haible  <bruno@clisp.org>
15211         vasnprintf: Don't use %n on Android.
15212         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
15213         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
15214         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
15216 2019-01-22  Bruno Haible  <bruno@clisp.org>
15218         *printf: Support cross-compilation to Android.
15219         * m4/printf.m4: Add cross-compilation guesses for Android.
15221 2019-01-21  Bruno Haible  <bruno@clisp.org>
15223         diacrit: Mark deprecated.
15224         * modules/diacrit (Status, Notice): Mark as deprecated.
15225         * NEWS: Mention it.
15227 2019-01-20  Bruno Haible  <bruno@clisp.org>
15229         rintl: Override broken implementation on NetBSD.
15230         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
15231         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
15232         REPLACE_RINTL.
15233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
15234         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
15235         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
15236         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
15238 2019-01-20  Bruno Haible  <bruno@clisp.org>
15240         log10l: Work around inaccurate implementation on NetBSD.
15241         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
15242         * lib/log10l.c: Comment out too simplistic override.
15243         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
15245 2019-01-20  Bruno Haible  <bruno@clisp.org>
15247         logl: Work around inaccurate implementation on NetBSD.
15248         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
15249         * lib/logl.c: Comment out unused code.
15250         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
15252 2019-01-20  Bruno Haible  <bruno@clisp.org>
15254         expm1l: Work around inaccurate implementation on NetBSD.
15255         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
15256         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
15257         REPLACE_EXPM1L.
15258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
15259         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
15260         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
15261         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
15263 2019-01-20  Bruno Haible  <bruno@clisp.org>
15265         expl: Work around inaccurate implementation on NetBSD.
15266         * lib/math.in.h (expl): Test also REPLACE_EXPL.
15267         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
15268         REPLACE_EXPL.
15269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
15270         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
15271         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
15272         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
15274 2019-01-20  Bruno Haible  <bruno@clisp.org>
15276         exp2l: Work around inaccurate implementation on NetBSD.
15277         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
15278         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
15280 2019-01-20  Bruno Haible  <bruno@clisp.org>
15282         floor, floorl: Avoid autoconf warnings.
15283         * modules/floor (configure.ac): Use AC_REQUIRE.
15284         * modules/floorl (configure.ac): Likewise.
15286 2019-01-20  Bruno Haible  <bruno@clisp.org>
15288         Defeat current GCC optimizations in math autoconf tests.
15289         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
15290         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15291         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15292         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15293         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15294         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15295         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15296         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15297         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15298         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15299         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15300         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15301         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15302         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15303         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
15304         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
15305         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
15306         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15307         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15308         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15309         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15310         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15311         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15312         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15313         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15314         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15315         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15316         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15317         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15318         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15319         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15320         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15321         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15323         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15324         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15325         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15326         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15328 2019-01-19  Pádraig Brady  <P@draigBrady.com>
15330         gettext: support disabling use of VLAs
15331         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
15333 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15335         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
15336         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
15338 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15340         fcntl: Fix syntax error (regression from 2018-10-05).
15341         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
15343 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15345         relocatable: improve documentation.
15346         * doc/relocatable-maint.texi (Supporting Relocation): For
15347         substitutions performed by config.status, we need more variables
15348         (for instance datarootdir defaults to '${prefix}/share' so we need
15349         prefix).
15351 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15353         backup: update dependencies
15354         * modules/backup-rename (Depends-on): It now depends on opendirat
15355         instead of opendir.  It also uses stdint, and xalloc-oversized.
15356         But no longer dirfd.
15357         * modules/backupfile (Depends-on): Add xalloc-oversized.
15359 2019-01-13  Bruno Haible  <bruno@clisp.org>
15361         getcwd: Fix test failure when building on a Linux 9p file system.
15362         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
15363         EINVAL from mkdir like ENAMETOOLONG.
15364         * tests/test-getcwd.c (test_long_name): Likewise.
15366 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
15368         Fix typos found by codespell.
15369         * lib/*.[hc]: Fix typos in comments.
15370         * pygnulib/*.py: Fix typos in error messages and comments.
15372 2019-01-12  Bruno Haible  <bruno@clisp.org>
15374         doc: Fix documentation about container data types.
15375         Reported by Werner Lemberg <wl@gnu.org>.
15376         * doc/containers.texi (Container data types): Fix typo.
15378 2019-01-10  Bruno Haible  <bruno@clisp.org>
15380         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
15381         Reported by Reuben Thomas <rrt@sc3d.org>.
15382         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
15384 2019-01-06  Bruno Haible  <bruno@clisp.org>
15386         maintainer-makefile: Make the configure.ac section optional.
15387         * top/maint.mk (GREP, SED): Define if not defined.
15389 2019-01-06  Bruno Haible  <bruno@clisp.org>
15391         localename: Assume setlocale function.
15392         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
15393         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
15395 2019-01-06  Bruno Haible  <bruno@clisp.org>
15397         doc: Add documentation about container data types.
15398         * doc/containers.texi: New file.
15399         * doc/gnulib.texi (Particular Modules): Include it.
15401 2019-01-06  Bruno Haible  <bruno@clisp.org>
15403         doc: Update documentation about 'progname' module.
15404         * doc/progname.texi: Rename from doc/error.texi. Change node name and
15405         title. Rewrite.
15406         * doc/gnulib.texi (Particular Modules): Update.
15408 2019-01-06  Bruno Haible  <bruno@clisp.org>
15410         doc: Document the xstdopen and *-safer modules.
15411         * doc/xstdopen.texi: New file.
15412         * doc/gnulib.texi (Particular Modules): Include it.
15414 2019-01-06  Bruno Haible  <bruno@clisp.org>
15416         xstdopen: Add tests.
15417         * tests/test-xstdopen.c: New file.
15418         * tests/test-xstdopen.sh: New file.
15419         * modules/xstdopen-tests: New file.
15421         xstdopen: New module.
15422         * lib/xstdopen.h: New file.
15423         * lib/xstdopen.c: New file.
15424         * modules/xstdopen: New file.
15426 2019-01-06  Bruno Haible  <bruno@clisp.org>
15428         stdopen: Fix compilation error with IRIX cc.
15429         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
15431 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
15433         xfreopen need not include stdio--.h
15434         * lib/xfreopen.c: Do not include stdio--.h.
15436         xfreopen need not depend on freopen-safer
15437         * modules/xfreopen (Depends-on):
15438         Depend on freopen, not freopen-safer.
15440         stdopen: modernize and simplify
15441         * lib/stdopen.c: Update copyright date
15442         Do not include sys/types.h; no longer needed these days.
15443         (stdopen): Use C99-style decl in loop.  Return int errno
15444         value, rather than just a bool.  Do not worry about fd mismatches,
15445         since the caller cares only if 0, 1, 2 are occupied.
15446         * lib/stdopen.h: No need to include <stdbool.h>.
15447         * m4/stdopen.m4: Remove.
15448         * modules/stdopen: New file.
15450         stdopen: copy from last use in coreutils
15451         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
15452         New files, taken from their last commit in coreutils
15453         2007-07-23T12:35:58Z!jim@meyering.net
15454         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
15456 2019-01-05  Bruno Haible  <bruno@clisp.org>
15458         argp: Don't pass an invalid argument to dgettext().
15459         Reported by He X <xw897002528@gmail.com>.
15460         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
15461         dgettext().
15463 2019-01-05  Bruno Haible  <bruno@clisp.org>
15465         argp: Don't pass an invalid argument to dgettext().
15466         Reported by He X <xw897002528@gmail.com>.
15467         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
15468         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
15469         dgettext().
15471 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15473         stdioext: port to newer 32-bit Android
15474         Problem reported by Tom Yan in:
15475         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
15476         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
15477         (fp_) [__ANDROID__]: Use it.
15479 2019-01-04  Bruno Haible  <bruno@clisp.org>
15481         lock: Fix link error with --enable-threads=pth.
15482         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
15483         Mark as weak.
15485 2019-01-04  Bruno Haible  <bruno@clisp.org>
15487         Fix link errors in unit tests.
15488         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15489         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
15490         * modules/array-map-tests (Makefile.am): Link test-array_map against
15491         libintl.
15492         * modules/array-set-tests (Makefile.am): Link test-array_set against
15493         libintl.
15494         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
15495         libintl.
15496         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
15497         libintl.
15498         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
15499         against libintl.
15500         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
15501         against libintl.
15503 2019-01-04  Bruno Haible  <bruno@clisp.org>
15505         Fix incorrect 'Link' sections.
15506         * modules/regex (Link): Mention the link requirement of module 'lock'.
15507         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
15509 2019-01-04  Bruno Haible  <bruno@clisp.org>
15511         Fix some 'Link' sections.
15512         * modules/c-stack (Link): Add link directive from the 'gettext-h'
15513         dependency.
15514         * modules/getaddrinfo (Link): Likewise.
15516 2019-01-04  Bruno Haible  <bruno@clisp.org>
15518         Remove redundant 'Link' sections.
15519         * modules/canon-host (Link): Remove section.
15520         * modules/timevar (Link): Likewise.
15522 2019-01-04  Bruno Haible  <bruno@clisp.org>
15524         Remove incorrect 'Link' sections.
15525         * modules/acl (Link): Remove section. Use combined 'Link' sections from
15526         the dependencies instead.
15527         * modules/crypto/md5 (Link): Likewise.
15528         * modules/crypto/sha1 (Link): Likewise.
15529         * modules/crypto/sha256 (Link): Likewise.
15530         * modules/crypto/sha512 (Link): Likewise.
15531         * modules/faccessat (Link): Likewise.
15532         * modules/fdutimensat (Link): Likewise.
15533         * modules/iconv_open-utf (Link): Likewise.
15534         * modules/propername (Link): Likewise.
15535         * modules/qacl (Link): Likewise.
15536         * modules/unicodeio (Link): Likewise.
15537         * modules/utimecmp (Link): Likewise.
15538         * modules/utimensat (Link): Likewise.
15539         * modules/xstriconv (Link): Likewise.
15540         * modules/xstriconveh (Link): Likewise.
15542 2019-01-04  Bruno Haible  <bruno@clisp.org>
15544         gnulib-tool: New option --extract-recursive-link-directive.
15545         * gnulib-tool (func_usage): Document the new options
15546         --extract-recursive-dependencies, --extract-recursive-link-directive.
15547         (func_verify_module): Document output variables.
15548         (func_get_dependencies_recursively): New function.
15549         (func_get_link_directive_recursively): New function.
15550         Use them to implement the new options
15551         --extract-recursive-dependencies, --extract-recursive-link-directive.
15552         * doc/gnulib-tool.texi (Link-time requirements): New section.
15554 2019-01-04  Bruno Haible  <bruno@clisp.org>
15556         Clarify meaning of 'Link' section in module description.
15557         * doc/gnulib.texi (Module description): Clarify the meaning of the
15558         'Link' section versus the one of the dependencies.
15559         * NEWS: Mention the change.
15561 2019-01-04  Bruno Haible  <bruno@clisp.org>
15563         pselect: Fix module description.
15564         * modules/pselect (Link): Put one link option per line.
15566 2019-01-04  Bruno Haible  <bruno@clisp.org>
15568         cosl: Fix module description.
15569         * modules/cosl (Link): Fix typo.
15570         * modules/mathl (configure.ac): Likewise.
15572 2019-01-04  Bruno Haible  <bruno@clisp.org>
15574         c-xvasprintf: Fix module dependencies.
15575         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
15577 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
15579         bootstrap: die when some submodules are not initialized
15580         * build-aux/bootstrap: Make sure all submodules are initialized.
15582 2019-01-04  Bruno Haible  <bruno@clisp.org>
15584         bitsetv: Fix module dependencies.
15585         * lib/bitsetv.c: Include xalloc.h.
15586         * modules/bitsetv (Depends-on): Add 'xalloc'.
15588 2019-01-04  Bruno Haible  <bruno@clisp.org>
15590         xmemdup0: Remove redundant code.
15591         * lib/xmemdup0.h (xalloc_die): Remove declaration.
15593 2019-01-04  Bruno Haible  <bruno@clisp.org>
15595         backupfile: Fix module dependencies.
15596         * modules/backupfile (Depends-on): Add 'xalloc'.
15598 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
15600         bitset, crypto/gc: fix conflicts with Solaris 11
15601         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
15602         avoid clash with Solaris 11 <sys/bitset.h>.
15603         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
15604         with Solaris 11 <xorg/gc.h>.
15606 2019-01-04  Bruno Haible  <bruno@clisp.org>
15608         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
15609         Reported by Andy Fiddaman <andy@omniosce.org>.
15610         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
15612 2019-01-03  Eric Blake  <eblake@redhat.com>
15614         maintainer-makefile: fix typo in previous patch
15615         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
15616         of Roman's work.
15618 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
15620         maintainer-makefile: prefer $(GREP) over grep
15621         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
15622         defined.
15623         * top/maint.mk: Use it everywhere.
15625         maintainer-makefile: split long argument lines
15626         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
15627         it would be too long for exec limits on BSD.
15629 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
15631         mkfifo: bring back HAVE_MKFIFO macro
15632         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
15633         Problem reported by Andrew Janke in:
15634         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
15636 2018-12-21  Bruno Haible  <bruno@clisp.org>
15638         Assume Autoconf >= 2.63.
15639         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
15640         versions < 2.60.
15642 2018-12-21  Bruno Haible  <bruno@clisp.org>
15644         memcmp: Mention the clang bug.
15645         * tests/test-memcmp.c: Add comment about a known test failure.
15646         * doc/posix-functions/memcmp.texi: Mention the clang bug.
15648 2018-12-20  Jim Meyering  <meyering@fb.com>
15650         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
15651         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
15652           echo '123-x'|LC_ALL=C grep -E '.\bx'
15653         The goal is to revert the first, but reverting it requires to restore
15654         the function deleted in the second. I ran this to restore the deleted
15655         function:
15656           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
15657             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
15658             | patch -R -p1
15659         * lib/dfa.c (charclass_context): Restore deleted function.
15660         Reverting the primary commit removes this change:
15661         dfa: Simplify a building state
15662         * lib/dfa.c (build_state): Simplify a building state.
15664 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
15666         version-etc: allow zero authors
15667         * lib/version-etc.c (version_etc_arn): If no authors are given,
15668         omit authorship info instead of dumping core.
15670 2018-12-19  Bruno Haible  <bruno@clisp.org>
15672         lchown tests: Be more permissive regarding errno values.
15673         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
15674         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
15675         alternative to ENOSYS.
15676         * modules/lchown-tests (Depends-on): Add 'errno'.
15677         * modules/fchownat-tests (Depends-on): Likewise.
15679 2018-12-18  Bruno Haible  <bruno@clisp.org>
15681         duplocale: Avoid test failure on AIX 7.
15682         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
15683         (configure.ac): Invoke gt_FUNC_USELOCALE.
15684         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
15685         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
15686         works.
15688 2018-12-18  Bruno Haible  <bruno@clisp.org>
15690         localename: Fix test failure on AIX 7.
15691         Reported by Assaf Gordon in
15692         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
15693         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
15694         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
15695         instead of ac_cv_func_uselocale.
15696         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
15697         HAVE_USELOCALE.
15698         * lib/localename-table.h: Likewise.
15699         * lib/localename-table.c: Likewise.
15700         * tests/test-localename.c: Likewise.
15701         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
15703 2018-12-18  Bruno Haible  <bruno@clisp.org>
15705         localename: Update comments regarding Cygwin.
15706         * lib/localename.c: Update comment.
15707         * doc/posix-functions/uselocale.texi: Update platforms list.
15708         * doc/posix-functions/newlocale.texi: Likewise.
15709         * doc/posix-functions/duplocale.texi: Likewise.
15710         * doc/posix-functions/freelocale.texi: Likewise.
15712 2018-12-16  Bruno Haible  <bruno@clisp.org>
15714         c-stack: Fix for Linux/sparc.
15715         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
15716         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
15718 2018-12-16  Bruno Haible  <bruno@clisp.org>
15720         localename: Avoid test failure on some glibc systems.
15721         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
15722         Unset environment variables that might disturb the first setlocale call,
15723         and verify that this setlocale call succeeds.
15725 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
15727         random: Fix build error on native Windows (regression from 2018-06-21).
15728         * lib/random.c (__srandom, __initstate, __setstate, __random,
15729         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
15730         to the symbols without '__' prefix.
15732 2018-12-16  Bruno Haible  <bruno@clisp.org>
15734         obstack, libc-config: Support HP-UX cc in C99 mode.
15735         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
15736         compiler, even when in C99 mode.
15737         * lib/cdefs.h (__flexarr): Likewise.
15738         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
15740 2018-12-16  Bruno Haible  <bruno@clisp.org>
15742         localename: Fix test failure on OpenBSD >= 6.2.
15743         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
15744         locale system. Define HAVE_FAKE_LOCALES in this case.
15745         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
15746         HAVE_USELOCALE.
15747         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
15748         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
15749         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
15750         platforms list.
15751         * doc/posix-functions/newlocale.texi: Likewise.
15752         * doc/posix-functions/duplocale.texi: Update platforms list.
15753         * doc/posix-functions/freelocale.texi: Likewise.
15755 2018-12-16  Bruno Haible  <bruno@clisp.org>
15757         duplocale tests: Re-enable the test on platforms without <monetary.h>.
15758         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
15759         of the test, on platforms without <monetary.h>.
15761 2018-12-16  Bruno Haible  <bruno@clisp.org>
15763         localename: Update comments.
15764         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
15766 2018-12-15  Jim Meyering  <meyering@fb.com>
15768         regex: fix indentation
15769         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
15771 2018-12-15  Bruno Haible  <bruno@clisp.org>
15773         openat-safer tests: Avoid test failure on NetBSD 8.
15774         * tests/test-openat-safer.c (main): Execute a Linux specific test only
15775         on Linux.
15777 2018-12-15  Jim Meyering  <meyering@fb.com>
15779         regex: work around a bug in glibc-2.27 and prior
15780         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
15781         assertion for /0|()0|\1|0/.
15782         * tests/test-regex.c (main): Add the same test here.
15784 2018-12-15  Bruno Haible  <bruno@clisp.org>
15786         localename: Fix use of uninitialized shell variable.
15787         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
15788         gt_cv_locale_solaris114 always before use. Remove assignment without
15789         effect.
15791 2018-12-15  Bruno Haible  <bruno@clisp.org>
15793         dfa tests: Avoid test failure on Alpine Linux.
15794         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
15795         command found on Alpine Linux.
15797 2018-12-15  Jim Meyering  <meyering@fb.com>
15799         dfa: avoid new warnings from gcc
15800         These would prevent building with -Werror and a Dec snapshot of gcc.
15801         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
15802         Rename each inner instance to "p".
15803         (charclass_context): Remove unused static function.
15805 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
15807         mkdir-p: improve diagnostic for FUSE mounts
15808         Problem reported by Niklas Hambüchen in:
15809         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
15810         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
15811         errno to mkdir errno if the stat errno is likely more interesting.
15813 2018-12-14  Bruno Haible  <bruno@clisp.org>
15815         hash-map: Add tests.
15816         * tests/test-hash_map.c: New file.
15817         * modules/hash-map-tests: New file.
15819         linkedhash-map: Add tests.
15820         * tests/test-linkedhash_map.c: New file.
15821         * modules/linkedhash-map-tests: New file.
15823         array-map: Add tests.
15824         * tests/test-array_map.c: New file.
15825         * modules/array-map-tests: New file.
15827         xmap: New module.
15828         * lib/gl_xmap.h: New file.
15829         * lib/gl_xmap.c: New file.
15830         * modules/xmap: New file.
15832         hash-map: New module.
15833         * lib/gl_hash_map.h: New file.
15834         * lib/gl_hash_map.c: New file.
15835         * modules/hash-map: New file.
15837         linkedhash-map: New module.
15838         * lib/gl_linkedhash_map.h: New file.
15839         * lib/gl_linkedhash_map.c: New file.
15840         * lib/gl_anyhash1.h: Update comments.
15841         * lib/gl_anyhash2.h: Likewise.
15842         * modules/linkedhash-map: New file.
15844         array-map: New module.
15845         * lib/gl_array_map.h: New file.
15846         * lib/gl_array_map.c: New file.
15847         * modules/array-map: New file.
15849         map: New module.
15850         * lib/gl_map.h: New file.
15851         * lib/gl_map.c: New file.
15852         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
15853         conflict with gl_map.h.
15854         * modules/map: New file.
15856 2018-12-13  Bruno Haible  <bruno@clisp.org>
15858         select tests: Avoid test failure on Cygwin.
15859         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
15861 2018-12-13  Bruno Haible  <bruno@clisp.org>
15863         localtime-buffer: Avoid endless recursion in localtime and gmtime.
15864         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
15866 2018-12-13  Bruno Haible  <bruno@clisp.org>
15868         localeconv tests: Avoid test failure on Cygwin.
15869         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
15870         'mon_grouping' tests.
15872 2018-12-11  Bruno Haible  <bruno@clisp.org>
15874         omap: Don't dispose the old value when the function returns it.
15875         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
15876         here.
15877         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
15878         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
15879         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
15880         here.
15882         array-omap, avltree-omap, rbtree-omap: Tweak style.
15883         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
15884         false.
15885         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
15887         rbtree-omap: Add tests.
15888         * tests/test-rbtree_omap.c: New file.
15889         * modules/rbtree-omap-tests: New file.
15891         avltree-omap: Add tests.
15892         * tests/test-avltree_omap.c: New file.
15893         * modules/avltree-omap-tests: New file.
15895         array-omap: Add tests.
15896         * tests/test-array_omap.c: New file.
15897         * modules/array-omap-tests: New file.
15899         xomap: New module.
15900         * lib/gl_xomap.h: New file.
15901         * lib/gl_xomap.c: New file.
15902         * modules/xomap: New file.
15904         rbtree-omap: New module.
15905         * lib/gl_rbtree_omap.h: New file.
15906         * lib/gl_rbtree_omap.c: New file.
15907         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
15908         Parameterize.
15909         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
15910         * modules/rbtree-omap: New file.
15911         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
15912         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
15914         avltree-omap: New module.
15915         * lib/gl_avltree_omap.h: New file.
15916         * lib/gl_avltree_omap.c: New file.
15917         * lib/gl_avltree_ordered.h: Code moved to here from
15918         lib/gl_avltree_oset.c. Parameterize.
15919         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
15920         * lib/gl_anytree_omap.h: New file.
15921         * modules/avltree-omap: New file.
15922         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
15923         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
15925         array-omap: New module.
15926         * lib/gl_array_omap.h: New file.
15927         * lib/gl_array_omap.c: New file.
15928         * modules/array-omap: New file.
15930         omap: New module.
15931         * lib/gl_omap.h: New file.
15932         * lib/gl_omap.c: New file.
15933         * modules/omap: New file.
15935 2018-12-11  Bruno Haible  <bruno@clisp.org>
15937         hash-set, linkedhash-set: Reduce code duplication.
15938         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
15939         lib/gl_anyhash_set1.h.
15940         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
15941         lib/gl_anyhash_set2.h. Parameterize.
15942         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
15943         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
15944         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
15945         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
15946         * lib/gl_rbtreehash_list.c: Likewise.
15947         * lib/gl_linkedhash_list.c: Likewise.
15948         (hash_resize_after_add): Remove function.
15949         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
15950         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
15951         * gl_hash_set.c: Likewise.
15952         * modules/avltreehash-list (Files, Makefile.am): Update file list.
15953         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
15954         * modules/linkedhash-list (Files, Makefile.am): Likewise.
15955         * modules/linkedhash-set (Files, Makefile.am): Likewise.
15956         * modules/hash-set (Files, Makefile.am): Likewise.
15958 2018-12-11  Bruno Haible  <bruno@clisp.org>
15960         array-set: Optimize.
15961         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
15962         outside the loop, not inside the loop.
15964 2018-12-11  Bruno Haible  <bruno@clisp.org>
15966         times: Fix tests.
15967         * tests/test-times.c (doublecmp): Implement a total order.
15969 2018-12-11  Bruno Haible  <bruno@clisp.org>
15971         array-set, linkedhash-set, hash-set: Fix tests.
15972         * tests/test-array_set.c (cmp_objects_in_array): New function.
15973         (check_equals): Use it.
15974         * tests/test-hash_set.c: Likewise.
15975         * tests/test-linkedhash_set.c: Likewise.
15977 2018-12-08  Bruno Haible  <bruno@clisp.org>
15979         Fix comments.
15980         * lib/gl_list.h (gl_list_free): Clarify what it does.
15981         * lib/gl_oset.h (gl_oset_free): Likewise.
15982         * lib/gl_set.h (gl_set_free): Likewise.
15983         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
15984         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
15985         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
15986         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
15988 2018-12-03  Bruno Haible  <bruno@clisp.org>
15990         hash-set: Add tests.
15991         * tests/test-hash_set.c: New file.
15992         * modules/hash-set-tests: New file.
15994         linkedhash-set: Add tests.
15995         * tests/test-linkedhash_set.c: New file.
15996         * modules/linkedhash-set-tests: New file.
15998         array-set: Add tests.
15999         * tests/test-array_set.c: New file.
16000         * modules/array-set-tests: New file.
16002         xset: New module.
16003         * lib/gl_xset.h: New file.
16004         * lib/gl_xset.c: New file.
16005         * modules/xset: New file.
16007         hash-set: New module.
16008         * lib/gl_hash_set.h: New file.
16009         * lib/gl_hash_set.c: New file.
16010         * modules/hash-set: New file.
16012         linkedhash-set: New module.
16013         * lib/gl_linkedhash_set.h: New file.
16014         * lib/gl_linkedhash_set.c: New file.
16015         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
16016         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
16017         * lib/gl_anyhash_primes.h: New file, extracted from
16018         lib/gl_anyhash_list2.h.
16019         * lib/gl_anyhash_list2.h: Include it.
16020         (primes, next_prime): Remove definitions.
16021         * modules/linkedhash-set: New file.
16022         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
16023         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16024         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
16025         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16026         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
16027         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16029         array-set: New module.
16030         * lib/gl_array_set.h: New file.
16031         * lib/gl_array_set.c: New file.
16032         * modules/array-set: New file.
16034         set: New module.
16035         * lib/gl_set.h: New file.
16036         * lib/gl_set.c: New file.
16037         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
16038         gl_set.h.
16039         * modules/set: New file.
16041 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
16043         bison: don't force the Yacc mode
16044         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
16045         errors when Bison features are used in the grammar file.  Some of
16046         these features (such as %expect) were flagged non-yacc recently.  Most
16047         of the time, -y is actually used to please Automake's ylwrap which
16048         expects the output to be y.tab.c.
16049         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
16051 2018-12-01  Bruno Haible  <bruno@clisp.org>
16053         gnupload: Document short options.
16054         * build-aux/gnupload (usage): Document the short options.
16056 2018-11-28  Ben Elliston  <bje@gnu.org>
16058         gnupload: Support option -h as alias of --help.
16059         * build-aux/gnupload: Support -h.
16061 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16063         memrchr: port better to clang
16064         * lib/memrchr.c (__memrchr): Cast to void * instead of to
16065         longword *, to pacify clang -Wcast-align (Bug#33544).
16067 2018-11-29  Eric Blake  <eblake@redhat.com>
16069         docs: mention printf %m considerations
16070         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
16071         is not portable, and is easy enough to work around.
16072         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
16073         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
16074         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
16075         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16076         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16077         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16078         * doc/posix-functions/printf.texi (printf): Likewise.
16079         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
16080         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
16081         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
16082         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16083         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16084         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16085         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16086         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16087         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
16088         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
16089         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16090         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16092 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
16094         bitset: rename ebitset/expandable.* as tbitset/table.*
16095         See
16096         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
16097         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
16098         * lib/bitset/table.h, lib/bitset/table.c: these.
16099         Rename all the ebitset* symbols as tbitset*.
16100         Adjust dependencies.
16102 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16104         bitset: check the operations
16105         * tests/test-bitset.c (bitset_random): New.
16106         Use it.
16107         * lib/bitset/expandable.c (ebitset_not): Fix typo.
16109 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16111         bitset: properly use false/true instead of 0/1 for Booleans
16112         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
16113         0/1, as Booleans.
16115 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16117         bitset: rename BITSET_VARRAY as BITSET_VECTOR
16118         For consistency with the name of the file.
16119         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
16120         * lib/bitset/stats.c, lib/bitset/vector.c
16121         (BITSET_VARRAY): Rename as...
16122         (BITSET_VECTOR): this.
16124 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16126         strerror_r-posix: memmove, not memcpy
16127         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
16128         since the source and destination might overlap in the call
16129         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
16130         Simplify.
16132 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16134         bitsetv: new module
16135         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
16137 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16139         bitset: add tests and doc
16140         First stabs at providing a documentation and test for the bitset
16141         module.
16142         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
16144 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16146         bitset: new module
16147         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
16148         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
16149         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
16150         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
16151         * lib/bitset/vector.h, modules/bitset:
16152         New.
16154 2018-11-23  Bruno Haible  <bruno@clisp.org>
16156         localename: Fix gettext test failures on mingw.
16157         * lib/localename.c (gl_locale_name_posix): Convert the result of
16158         gl_locale_name_environ to XPG syntax.
16160 2018-11-23  Karl Berry  <karl@freefriends.org>
16162         * config/srclistvars.txt,
16163         * config/srclist.txt: remove all gettext references;
16164         the gettext maintainers will sync as needed.
16166 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16168         mktime: add libc-config dependency
16169         I missed this when we synced from glibc.
16170         * modules/mktime (Depends-on): Add libc-config.
16172 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16174         longlong: fix comment typo
16175         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
16177 2018-11-11  Bruno Haible  <bruno@clisp.org>
16179         havelib: Remove the need to include asm-underscore.m4.
16180         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
16181         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
16182         gl_HOST_CPU_C_ABI.
16183         * modules/havelib (Files): Add host-cpu-c-abi.m4.
16184         (Depends-on): Remove host-cpu-c-abi.
16186 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16188         parse-datetime: simplify test for mktime failure
16189         * lib/parse-datetime.y (mktime_ok): Simplify.
16190         Remove args TZ and T; no longer needed.  Callers changed.
16192         posixtm: simplify test for mktime failure
16193         * lib/posixtm.c (posixtime): Simplify.
16195         nstrftime: simplify test for mktime failure
16196         * lib/nstrftime.c (__strftime_internal): Simplify.
16198 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16200         gnulib-common.m4: port _Noreturn to C++
16201         Problem reported by Akim Demaille in:
16202         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
16203         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
16204         Merge adjustments from _Noreturn.h and from glibc into the non-C++
16205         version.
16206         * lib/_Noreturn.h: Match gnulib-common.
16208 2018-10-30  Bruno Haible  <bruno@clisp.org>
16210         gnu-make: Fix for NetBSD 8 'make'.
16211         Reported by Reuben Thomas in
16212         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
16213         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
16214         output, ignoring exit codes.
16216 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
16218         maintainer-makefile: fix syntax-check rule for "same.h"
16219         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
16220         for 'same_nameat', too.
16222 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
16224         havelib: fix nested ‘configure’ chatter
16225         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
16226         AC_CACHE_CHECK calls, which resulted in confusing output like
16227         “checking for the common suffixes of directories in the library
16228         search path... checking for 64-bit host... no lib,lib”.
16230         backupfile: tweak for better code
16231         * lib/backupfile.c: Sort include directives, and remove
16232         unnecessary <limits.h> include.
16233         (FALLTHROUGH): New macro, copied from other modules.
16234         (backupfile_internal): Use it to avoid code duplication.
16235         This lets GCC 8.2.1 generate better code by inlining the
16236         call to check_extension.
16238 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16240         backupfile: new dir_fd args
16241         New module opendirat with code taken from fts.
16242         Use this module to let backupfile use a directory file descriptor.
16243         * NEWS: Document the incompatible change.
16244         * lib/backup-find.c (find_backup_file_name):
16245         * lib/backup-rename.c (backup_file_rename):
16246         New arg DIR_FD.
16247         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
16248         (SIZE_MAX): Remove.
16249         Include opendirat.h rather than dirent--.h.
16250         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
16251         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
16252         (backupfile_internal): New arg DIR_FD.  All callers changed.
16253         * lib/fts.c: Include opendirat.h.
16254         (opendirat): Move to opendirat.c.
16255         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
16256         * modules/backupfile (Depends-on): Remove dirfd, opendir.
16257         Add opendirat.
16258         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
16259         Add opendirat.
16261 2018-10-23  Bruno Haible  <bruno@clisp.org>
16263         localename: Simplify support for per-thread locales on Solaris 11.4.
16264         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
16265         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
16266         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
16267         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
16268         specific code.
16269         * lib/localename-table.h: Update comments.
16270         * lib/localename-table.c: Update comments.
16271         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
16272         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
16273         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
16274         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
16275         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
16276         HAVE_NAMELESS_LOCALES here.
16277         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
16278         m4/intlsolaris.m4.
16279         * modules/gettext (Files): Likewise.
16281 2018-10-22  Bruno Haible  <bruno@clisp.org>
16283         std-gnu11: Support Autoconf versions < 2.64.
16284         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
16285         when _AC_DO_LIMIT does not exist.
16287 2018-10-22  Bruno Haible  <bruno@clisp.org>
16289         Assume Autoconf >= 2.63.
16290         * DEPENDENCIES: Mention the requirement.
16292         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
16293         (func_get_filelist): Don't list m4/onceonly.m4 any more.
16294         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
16295         * m4/onceonly.m4: Remove file.
16297         * m4/openmp.m4: Remove file.
16298         * modules/openmp (Files): Remove m4/openmp.m4.
16300         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
16301         htmldir, dvidir, pdfdir, psdir, localedir.
16302         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
16304         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
16305         Autoconf < 2.60.
16306         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
16307         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
16309         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
16310         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
16311         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
16313         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
16314         exists.
16315         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
16317         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
16318         Autoconf < 2.61.
16320         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
16321         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
16322         Autoconf >= 2.52.
16324         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
16325         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
16326         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
16328 2018-10-22  Bruno Haible  <bruno@clisp.org>
16330         Assume Automake >= 1.11.
16331         * m4/configmake.m4: Update comments.
16332         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
16333         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
16334         of 'eval'.
16335         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
16336         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
16337         requires Automake >= 1.11.
16339 2018-10-22  Bruno Haible  <bruno@clisp.org>
16341         localename: Fix typo in comment.
16342         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
16344 2018-10-22  Bruno Haible  <bruno@clisp.org>
16346         Fix failure of 'gnulib-tool --create-testdir' with all modules.
16347         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
16349 2018-10-21  Bruno Haible  <bruno@clisp.org>
16351         locale: Ease integration with GNU libintl.
16352         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
16353         GNULIB_defined_freelocale): New macros.
16355 2018-10-21  Bruno Haible  <bruno@clisp.org>
16357         localename: Fine-tune support for per-thread locales on Solaris 11.4.
16358         * lib/localename-table.h: New file, extracted from lib/localename.c.
16359         * lib/localename-table.c: Likewise.
16360         * lib/localename.c: Include localename-table.h.
16361         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
16362         locale_hash_function instead of pointer_hash.
16363         * modules/localename (Files): Add lib/localename-table.h,
16364         lib/localename-table.c.
16365         (lib_SOURCES): Add localename-table.c.
16366         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
16367         for Solaris 11.4 locale system only on Solaris. Test for it
16368         independently whether getlocalename_l exists.
16369         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
16370         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
16371         HAVE_NAMELESS_LOCALES.
16372         * modules/gettext (Files): Add m4/intlsolaris.m4.
16374 2018-10-21  Bruno Haible  <bruno@clisp.org>
16376         Small update from gettext.
16377         * m4/intl.m4: Update from gettext:
16378         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
16379         mode on AIX.
16380         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
16381         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
16383 2018-10-16  Bruno Haible  <bruno@clisp.org>
16385         mountlist: Remove support for Cray with UNICOS 9.
16386         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16387         MOUNTED_LISTMNTENT.
16388         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
16390 2018-10-16  Bruno Haible  <bruno@clisp.org>
16392         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
16393         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
16394         STAT_STATFS2_FS_DATA.
16395         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
16396         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16397         MOUNTED_GETMNT.
16398         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
16399         * lib/getloadavg.c (decstation): Remove definition and case.
16400         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
16401         * lib/getgroups.c: Likewise.
16402         * doc/posix-functions/getgroups.texi: Likewise.
16403         * lib/time.in.h: Update comments.
16405 2018-10-16  Bruno Haible  <bruno@clisp.org>
16407         getloadavg: Remove support for ConvexOS.
16408         * lib/getloadavg.c: Remove convex case.
16410 2018-10-16  Bruno Haible  <bruno@clisp.org>
16412         getloadavg: Remove support for Sony NEWS.
16413         * lib/getloadavg.c: Remove sony_news case.
16415 2018-10-16  Bruno Haible  <bruno@clisp.org>
16417         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
16418         * lib/fsusage.c: Remove _SEQUENT_ case.
16419         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16420         * lib/mountlist.c: Don't test for MNTTABNAME.
16421         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
16422         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
16423         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
16424         * lib/stat-size.h: Don't mention the Sequent bug.
16425         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
16427 2018-10-16  Bruno Haible  <bruno@clisp.org>
16429         fsusage: Remove support for AIX 3.
16430         * lib/fsusage.c: Remove code for AIX 3.
16431         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
16433 2018-10-16  Bruno Haible  <bruno@clisp.org>
16435         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
16436         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
16437         * lib/fsusage.c: Remove code for AIX PS/2.
16438         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
16439         * lib/getloadavg.c: Likewise.
16441 2018-10-16  Bruno Haible  <bruno@clisp.org>
16443         getloadavg: Remove support for HP-UX on m68k.
16444         * lib/getloadavg.c: Remove hp9000s300 case.
16446 2018-10-16  Bruno Haible  <bruno@clisp.org>
16448         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
16449         * lib/fsusage.c: Remove DOLPHIN case.
16450         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16451         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
16453 2018-10-16  Bruno Haible  <bruno@clisp.org>
16455         getloadavg: Remove support for Alliant FX/2800.
16456         * lib/getloadavg.c: Remove alliant case.
16458 2018-10-16  Bruno Haible  <bruno@clisp.org>
16460         getloadavg: Remove support for tek4300.
16461         * lib/getloadavg.c: Remove tek4300 case.
16463 2018-10-16  Bruno Haible  <bruno@clisp.org>
16465         getloadavg: Remove support for Ardent.
16466         * lib/getloadavg.c: Remove ardent case.
16468 2018-10-16  Bruno Haible  <bruno@clisp.org>
16470         mountlist: Remove support for SVR2.
16471         Reported by Andrew Borodin <aborodin@vmail.ru> in
16472         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
16473         * lib/mountlist.c: Remove MOUNTED_FREAD case.
16474         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16475         MOUNTED_FREAD.
16477 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16479         libc-config: merge from glibc
16480         * lib/cdefs.h (__glibc_has_attribute): New macro.
16482         regex: depend on libc-config
16483         * modules/regex (Depends-on): Add libc-config.
16484         This is needed after the recent autoupdate from glibc.
16486 2018-10-14  Bruno Haible  <bruno@clisp.org>
16488         localename: Add support for per-thread locales on Solaris 11.4.
16489         * lib/locale.in.h (newlocale, freelocale): New declarations.
16490         (duplocale): Declare also when the 'localename' module requests it.
16491         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
16492         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
16493         (struniq): Update.
16494         (struct locale_categories_names, struct locale_hash_node): New types.
16495         (LOCALE_HASH_TABLE_SIZE): New constant.
16496         (locale_hash_table, locale_lock): New variables.
16497         (pointer_hash, get_locale_t_name): New functions.
16498         (newlocale, duplocale, freelocale): New overridden functions.
16499         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
16500         * m4/intlsolaris.m4: New file.
16501         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
16502         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
16503         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
16504         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
16505         declared.
16506         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
16507         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16508         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
16509         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
16510         * modules/localename (Files): Add intlsolaris.m4.
16511         (Depends-on): Add 'locale'.
16512         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
16513         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
16514         the signatures.
16516 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
16518         timevar: use gethrxtime to get wall clock time
16519         clock_gettime is not portable.  gethrxtime takes the best available
16520         option to get the wall clock time, including clock_gettime (monotonic
16521         clock), and gettime (non monotonic).
16522         Also, using xtime_t instead of float preserves the precision.
16523         Suggested by Bruno Haible.
16524         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
16525         * modules/timevar (Depends-on): We need gethrxtime.
16526         We no longer use times().
16527         (Link): Update.
16528         * lib/timevar.h (timevar_time_def): Use xtime_t.
16529         * lib/timevar.c (set_to_current_time): Use gethrxtime.
16530         (timevar_print): Instead of checking whether the timings themselves
16531         are large enough for the timevar to be printed, check the percentages.
16533 2018-10-14  Bruno Haible  <bruno@clisp.org>
16535         wcsnrtombs: Work around Solaris 11.4 bug.
16536         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
16537         macro.
16538         (gl_FUNC_WCSNRTOMBS): Invoke it.
16539         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
16541 2018-10-14  Bruno Haible  <bruno@clisp.org>
16543         mbsnrtowcs: Work around Solaris 11.4 bug.
16544         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
16545         macro.
16546         (gl_FUNC_MBSNRTOWCS): Invoke it.
16547         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
16549 2018-10-14  Bruno Haible  <bruno@clisp.org>
16551         doc: Update for Solaris 11.4.
16552         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
16553         mention Solaris 11.4.
16554         * m4/printf.m4: Update comments about Solaris.
16555         * m4/log.m4: Likewise.
16556         * m4/log10.m4: Likewise.
16557         * m4/logb.m4: Likewise.
16558         * m4/logbf.m4: Likewise.
16559         * m4/logbl.m4: Likewise.
16560         * m4/rename.m4: Likewise.
16561         * m4/wcrtomb.m4: Likewise.
16562         * m4/hostent.m4: Likewise.
16563         * m4/servent.m4: Likewise.
16565 2018-10-14  Bruno Haible  <bruno@clisp.org>
16567         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
16568         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
16569         pointer.
16570         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
16571         pointer.
16572         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
16573         pointer.
16574         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
16575         pointer.
16576         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
16577         pointer.
16579 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16581         bootstrap: fix wget command for po files.
16582         * build-aux/bootstrap (po_download_command_format): Fix comment,
16583         and adjust callers.
16585 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16587         timevar: improve the output format
16588         Suggested by Bruno Haible.
16589         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
16590         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
16591         wall, since its resolution is much higher.
16593 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
16595         timevar: expect that getrusage is available.
16596         Don't keep both times and getrusage as backend: both are guaranteed by
16597         gnulib, a single one suffices.  Using getrusage is open to possibly
16598         tracking other types of resources in the future.
16599         * modules/timevar (Depends-on): Add getrusage.
16600         (configure.ac): Remove gl_TIMEVAR.
16601         (Files): Remove m4/timevar.m4.
16602         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
16603         * lib/timevar.h (timevar_enabled): Clarify documentation.
16604         * lib/timevar.c: Remove all the code about times.
16605         Remove all the CPP guards about getrusage: expect it to be present
16606         (courtesy of gnulib).
16608 2018-10-12  Bruno Haible  <bruno@clisp.org>
16610         mountlist: Improve support for Solaris in 64-bit mode.
16611         Reported by David Wood <David.Wood@deshaw.com> in
16612         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
16613         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
16614         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
16615         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
16617 2018-10-12  Bruno Haible  <bruno@clisp.org>
16619         mountlist: Add support for Minix.
16620         Reported by Assaf Gordon in
16621         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
16622         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
16623         AC_CHECK_FUNCS to check for 'getmntinfo'.
16624         * lib/mountlist.c: Update comments.
16626 2018-10-12  Bruno Haible  <bruno@clisp.org>
16628         Make better use of Autoconf.
16629         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
16630         * m4/manywarnings.m4: Likewise.
16631         * m4/manywarnings-c++.m4: Likewise.
16632         * m4/socklen.m4: Likewise.
16633         * m4/sockpfaf.m4: Likewise.
16634         * m4/stdarg.m4: Likewise.
16635         * m4/visibility.m4: Likewise.
16636         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
16637         indentation.
16638         * m4/ls-mntd-fs.m4: Likewise.
16640 2018-10-11  Bruno Haible  <bruno@clisp.org>
16642         mountlist: Modernize platform lists.
16643         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
16644         platforms, deemphasizing the obsolete ones.
16645         * lib/mountlist.c: Likewise.
16647 2018-10-11  Bruno Haible  <bruno@clisp.org>
16649         getprogname: Add support for 32-bit programs on HP-UX.
16650         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
16651         try the similar functions 32-bit programs on 64-bit HP-UX.
16653 2018-10-11  Bruno Haible  <bruno@clisp.org>
16655         getprogname: Work around program name truncation when possible.
16656         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
16657         possibly use pst_cmd instead.
16659 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16661         fts: cleanup after FTS_NOATIME removal
16662         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
16663         (FTS_STOP): Shrink to minimal values.  We don’t need to
16664         worry about binary compatibility in Gnulib, and the old way
16665         of doing things had a hole in the user options that caused
16666         FTS_OPTIONMASK to not work as desired.
16668 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
16670         fts: remove FTS_NOATIME
16671         This reverts commit da4d6974013c822af1498941e32db774b2031765.
16672         We cannot guarantee that O_NOATIME works: e.g. openat fails
16673         with EPERM if the effective user ID of the caller does not match
16674         the owner of the file and the caller is not privileged.
16675         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
16676         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
16677         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
16678         (FTS_OPTIONMASK): Adjust.
16679         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
16680         (fd_ring_check): Likewise.
16682 2018-10-08  Bruno Haible  <bruno@clisp.org>
16684         csharpcomp*, csharpexec*: Remove support for pnet.
16685         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
16686         HAVE_CSCC.
16687         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
16688         Don't test HAVE_CSCC.
16689         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
16690         (compile_csharp_class): Don't invoke it.
16691         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
16692         HAVE_ILRUN.
16693         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
16694         Don't test HAVE_ILRUN.
16695         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
16696         (execute_csharp_program): Don't invoke it.
16697         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
16698         any more.
16700 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
16702         renameatu: prefer renameat2 to syscall
16703         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
16704         Use renameat2 instead of syscall (Bug#32796).
16705         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
16707 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
16709         bootstrap, gnulib-tool: use https instead of insecure rsync
16710         * build-aux/bootstrap (download_po_files, po_download_command_format):
16711         Don't try using rsync; always use wget over https to fetch PO files.
16712         * gnulib-tool (func_import): Likewise.
16713         * pygnulib/GLImport.py (GLImport.execute): Likewise.
16715 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
16717         bootstrap, gnulib-tool: correct the translations wget command
16718         * build-aux/bootstrap (po_download_command_format2): Restrict
16719         recursion to a single level.
16720         * gnulib-tool (func_import): Likewise.
16721         * pygnulib/GLImport.py (GLImport.execute): Likewise.
16723 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
16725         doc: the gnulib snapshots are not maintained
16726         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
16728 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
16730         timevar: add to lib_SOURCES
16731         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
16733 2018-10-07  Bruno Haible  <bruno@clisp.org>
16735         dirent: Update documentation.
16736         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
16738 2018-10-05  Bruno Haible  <bruno@clisp.org>
16740         strpbrk: Make it possible to namespace the defined symbol.
16741         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
16743 2018-10-05  Bruno Haible  <bruno@clisp.org>
16745         strcspn: Make it possible to namespace the defined symbol.
16746         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
16748 2018-10-05  Bruno Haible  <bruno@clisp.org>
16750         raise: Make it possible to namespace the defined symbol.
16751         * lib/raise.c (raise): Undefine only after the replacement function has
16752         been defined.
16753         (raise): Renamed from rpl_raise.
16754         (raise_nothrow): Move to the end of the compilation unit.
16756 2018-10-05  Bruno Haible  <bruno@clisp.org>
16758         memcmp: Make it possible to namespace the defined symbol.
16759         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
16761 2018-10-05  Bruno Haible  <bruno@clisp.org>
16763         explicit_bzero: Make it possible to namespace the defined symbol.
16764         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
16765         glibc.
16767 2018-10-05  Bruno Haible  <bruno@clisp.org>
16769         mkdir-p: Depend on 'mkdir'.
16770         * modules/mkdir-p (Depends-on): Add 'mkdir'.
16772 2018-10-05  Bruno Haible  <bruno@clisp.org>
16774         tempname: Depend on 'mkdir'.
16775         Reported by Maarten Bosmans <mkbosmans@gmail.com>
16776         at <https://savannah.gnu.org/bugs/?33379>.
16777         * modules/tempname (Depends-on): Add 'mkdir'.
16779 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
16781         timevar: rely on gnulib modules for time portability.
16782         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
16783         * m4/timevar.m4: Don't check for clock_t and struct tms,
16784         guaranteed by gnulib.
16785         * lib/timevar.h: Use extern "C" protection.
16786         Include <stdio.h> for FILE.
16787         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
16788         they are guaranteed by gnulib.
16789         Remove uses of clock as (now useless) fallback.
16791 2018-10-04  Bruno Haible  <bruno@clisp.org>
16793         sh-filename: New module.
16794         * m4/sh-filename.m4: New file.
16795         * modules/sh-filename: New file.
16796         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
16797         "/bin/sh".
16798         * tests/test-posix_spawn1.c (main): Likewise.
16799         * tests/test-posix_spawn2.c (main): Likewise.
16800         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
16801         is_envjavac_gcj43): Likewise.
16802         * lib/javaexec.c (execute_java_class): Likewise.
16803         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
16804         * modules/posix_spawnp-tests (Depends-on): Likewise.
16805         * modules/javacomp (Depends-on): Likewise.
16806         * modules/javaexec (Depends-on): Likewise.
16808 2018-10-04  Bruno Haible  <bruno@clisp.org>
16810         spawn-pipe tests: Avoid test failure on native Windows.
16811         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
16812         that fd 2 is closed.
16814 2018-10-04  Bruno Haible  <bruno@clisp.org>
16816         fcntl: Make it possible to namespace the defined symbol.
16817         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
16818         been defined.
16819         (fcntl): Renamed from rpl_fcntl.
16820         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
16821         from fcntl.
16822         (klibc_fcntl): Move to the end of the compilation unit.
16824 2018-10-02  Bruno Haible  <bruno@clisp.org>
16826         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
16827         * tests/test-vasnprintf.c (test_function): Change the test added on
16828         2018-09-23 to check only the 18 most significant digits.
16830         vasnprintf tests: Avoid test failure on Cygwin.
16831         * tests/test-vasnprintf.c (test_function): Change the test added on
16832         2018-09-23 to check only the 42 most significant digits.
16834 2018-10-01  Bruno Haible  <bruno@clisp.org>
16836         mkostemp, mkostemps: Update documentation.
16837         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
16838         * doc/glibc-functions/mkostemps.texi: Likewise.
16840 2018-10-01  Tom Tromey  <tom@tromey.com>
16842         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
16843         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
16844         on OS X.
16846 2018-09-30  Pádraig Brady  <P@draigBrady.com>
16848         hmac-*: refactor to remove repetitive code
16849         * lib/hmac.c: A new parameterized single implementation.
16850         * lib/hmac-md5.c: Define parameters and include implementation.
16851         * lib/hmac-sha1.c: Likewise.
16852         * lib/hmac-sha256.c: Likewise.
16853         * lib/hmac-sha512.c: Likewise.
16854         * modules/crypto/hmac-md5: Reference the new implementation file.
16855         * modules/crypto/hmac-sha1: Likewise.
16856         * modules/crypto/hmac-sha256: Likewise.
16857         * modules/crypto/hmac-sha512: Likewise.
16858         * tests/test-hmac-md5.c: Refactor common code to a single function.
16859         * tests/test-hmac-sha1.c: Likewise.
16860         * tests/test-hmac-sha256.c: Likewise.
16861         * tests/test-hmac-sha512.c: Likewise.
16863 2018-09-30  Zhang Qing  <zhangqingl@126.com>
16865         hmac-sha512: fix hash for keys > blocksize (128 bytes)
16866         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
16867         key length to that output by sha512, not the blocksize.
16868         Otherwise uninitialized data from the stack
16869         is used when computing the hash.
16870         * tests/test-hmac-sha512.c: Add a shortened key test case.
16871         Reported at https://github.com/coreutils/gnulib/pull/5
16873 2018-09-30  Bruno Haible  <bruno@clisp.org>
16875         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
16876         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
16877         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
16878         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
16879         'unsigned int' before comparison with an unsigned value.
16881 2018-09-30  Bruno Haible  <bruno@clisp.org>
16883         grantpt: Remove unnecessary dependency.
16884         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
16886 2018-09-30  Bruno Haible  <bruno@clisp.org>
16888         timevar: Small tweaks.
16889         * lib/timevar.h: Fix comments. Add parameter names to function
16890         declarations.
16891         * lib/timevar.c: Include timevar.h immediately after config.h.
16892         * lib/timevar.def: Fix comments.
16893         * modules/timevar (Maintainer): List Akim Demaille.
16895 2018-09-30  Bruno Haible  <bruno@clisp.org>
16897         timevar: Include documentation in gnulib manual.
16898         * doc/timevar.texi: Change node and section name to 'Profiling of
16899         program phases'.
16900         In the code snippets, tweak the #includes and use GNU coding style.
16901         * doc/gnulib.texi: Include timevar.texi.
16903 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
16905         timevar: import from Bison.
16906         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
16907         New files.
16908         * lib/timevar.def: New file.
16909         * doc/timevar.texi: New file.
16911 2018-09-26  Bruno Haible  <bruno@clisp.org>
16913         javacomp-script, javacomp: Add preliminary support for Java 12..17.
16914         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
16915         * lib/javacomp.c (default_target_version): Likewise.
16917 2018-09-26  Bruno Haible  <bruno@clisp.org>
16919         javacomp-script, javacomp: Add support for Java 11.
16920         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
16921         target-version 11.
16922         * lib/javaversion.h: Update comments.
16923         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
16924         source_version_index, get_goodcode_snippet, get_failcode_snippet,
16925         TARGET_VERSION_BOUND, target_version_index,
16926         corresponding_classfile_version): Accept source_version 11 and
16927         target_version 11.
16928         * lib/javacomp.h: Update comments accordingly.
16930 2018-09-23  Bruno Haible  <bruno@clisp.org>
16932         vasnprintf: Fix heap memory overrun bug.
16933         Reported by Ben Pfaff <blp@cs.stanford.edu> in
16934         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
16935         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
16936         memory.
16937         * tests/test-vasnprintf.c (test_function): Add another test.
16939 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
16941         maint: mktime.c now shared with glibc
16942         * config/srclist.txt: intprops.h, timegm.c and mktime.c
16943         are now the same in Gnulib and glibc.
16945         mktime: fix _LIBC typo
16946         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
16948 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
16950         dfa: optimization for state merge
16951         * lib/dfa.c (merge2): New function.
16952         (merge_nfa_state): Use it.
16954 2018-09-18  Jim Meyering  <meyering@fb.com>
16956         dfa: trivial comment fix: s/is/if/
16957         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
16959 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16961         dfa: use more-informative function name
16962         * lib/dfa.c (maybe_disable_superset_dfa):
16963         Rename from dfautf8noss.  Use change.
16965         dfa: tweak allocation performance
16966         * lib/dfa.c (merge_nfa_state, dfaoptimize):
16967         Prefer ptrdiff_t for indexes some more.
16968         Use char for flags, as it’s wide enough.
16969         Allocate queue and flags together, with one malloc call.
16970         No need to use xnmalloc since the multiplication and
16971         addition cannot overflow (it’s already been checked by
16972         earlier allocation).  Prefer memset to open-coding.
16974         dfa: prune states as we go
16975         * lib/dfa.c (prune): Remove.
16976         dfa: reorder enum for efficiency
16977         (merge_nfa_state): Prune as we go instead of at the end.
16978         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
16980         * lib/dfa.c (END): Now -1 again.  Reorder other elements
16981         of the enumeration to make it easier for GCC to generate
16982         efficient code by using fewer comparisons to check for
16983         ranges of values.
16984         (atom): Take advantage of the reordering.
16986 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
16988         dfa: optimize alternation in NFA
16989         Even when similar states exist in alternation, the DFA treats them
16990         as separate items, which may complicate the transition in NFA and
16991         cause slowdown.  This change assembles the states into one.  For
16992         example, ab|ac is changed into a(b|c).  This change speeds-up
16993         matching for many branched patterns.  For example, grep speeds up
16994         more than 30× in:
16996           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
16997           time -p env LC_ALL=C grep -vf in in
16999         * lib/dfa.c (prune): New function.
17000         (merge_nfa_state): New function.  It merges similar NFA states.
17001         (dfaoptimize): New function.  It seeks merged and removed nodes.
17002         (dfaanalyze): Call new function.
17003         (dfautf8noss): Change name from dfaoptimize because of addition of new
17004         function.
17005         (dfacomp): Update caller.
17007         dfa: simplify initial state
17008         Simplifying the initial state enables easier optimization of the NFA.
17009         * lib/dfa.c (enum token): Add new element BEG.
17010         (prtok): Adjust due to adding element BEG.
17011         (dfaparse): Put BEG at a head of tokens.
17012         (state_index): Adjust due to adding element BEG.
17013         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
17014         build initial state.
17015         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
17017 2018-09-18  Bruno Haible  <bruno@clisp.org>
17019         file-has-acl: Fix test failure on Cygwin 2.9.
17020         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
17021         * lib/acl-internal.h: Likewise.
17022         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
17023         * lib/acl-internal.c: Update comments regarding Cygwin.
17024         * lib/acl_entries.c: Likewise.
17025         * lib/file-has-acl.c: Likewise.
17026         (file_has_acl): For Cygwin, use a different way to determine whether
17027         the "default" ACL of a directory is nontrivial.
17028         * lib/get-permissions.c: Update comments regarding Cygwin.
17029         * lib/set-permissions.c: Likewise.
17031 2018-09-18  Bruno Haible  <bruno@clisp.org>
17033         stat-time tests: Fix test failure on Cygwin.
17034         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
17036 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17038         doc: OS X 10.11 lacked ns time functions
17039         According to <https://github.com/zeromq/libzmq/issues/2175>,
17040         nanosecond-resolution timestamp functions were introduced
17041         in macOS 10.12, so document the last version (OS X 10.11)
17042         where they were absent.
17044         gettime: nanotime never existed
17045         Problem reported by Bruno Haible in:
17046         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
17047         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
17048         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
17050 2018-09-18  Bruno Haible  <bruno@clisp.org>
17052         doc: Update statement about target platforms.
17053         Reported by Simon Sobisch.
17054         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
17055         restrictions on MSVC versions.
17057 2018-09-18  Bruno Haible  <bruno@clisp.org>
17059         posix_spawn tests: Fix link error on 64-bit Cygwin.
17060         * tests/test-posix_spawn1.c (environ): Remove declaration.
17061         * tests/test-posix_spawn2.c (environ): Likewise.
17062         * tests/test-posix_spawn3.c (environ): Likewise.
17063         * tests/test-posix_spawn4.c (environ): Likewise.
17064         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
17065         * modules/posix_spawnp-tests (Depends-on): Likewise.
17067 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17069         timespec: new function current_timespec
17070         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
17071         and don’t worry about it failing on a CLOCK_REALTIME arg.
17072         POSIX requires it to succeed and I don’t know of any
17073         counterexamples where the fallbacks would work.
17074         (current_timespec): New function, taken from Emacs.  It is more
17075         convenient than gettime, and can help register allocation.
17076         * lib/timespec.h: Include arg-nonnull.h.
17077         (current_timespec): New declaration.
17078         (gettime, settime): Declare args to be nonnull.
17079         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
17081 2018-09-16  Bruno Haible  <bruno@clisp.org>
17083         setlocale: Improve locale handling on macOS 10.12 or newer.
17084         * lib/setlocale.c: Include header files for CoreFoundation. Declare
17085         gl_locale_name_canonicalize.
17086         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
17087         and LC_MESSAGES.
17088         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
17090 2018-09-16  Bruno Haible  <bruno@clisp.org>
17092         Update list of locale names with scripts on macOS.
17093         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
17094         match Mac OS X 10.13 and recent glibc.
17096 2018-09-16  Bruno Haible  <bruno@clisp.org>
17098         gettext: Use newer macOS APIs when possible.
17099         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
17100         CFLocaleCopyPreferredLanguages.
17102 2018-09-16  Bruno Haible  <bruno@clisp.org>
17104         localename: Revisit macOS specific code.
17105         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
17106         Fix comments about Mac OS X versions.
17108 2018-09-15  Bruno Haible  <bruno@clisp.org>
17110         setlocale: Improve support for locales not supported by libc.
17111         Reported by Dapeng Gao <peter@dpgao.cc> at
17112         <https://savannah.gnu.org/bugs/?54479>.
17113         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
17114         (libintl_setlocale): Use a more error-tolerant strategy when the locale
17115         to be set is not supported by libc: Emit warnings instead of failing.
17117 2018-09-15  Bruno Haible  <bruno@clisp.org>
17119         strstr, strcasestr: Add workaround against glibc-2.28 bug.
17120         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
17121         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
17122         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
17123         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
17124         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
17125         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
17126         * doc/glibc-functions/strcasestr.texi: Likewise.
17128 2018-09-14  Bruno Haible  <bruno@clisp.org>
17130         doc: Fix bottom of top-level page.
17131         Reported by Akim Demaille <akim.demaille@gmail.com> in
17132         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
17133         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
17134         mode.
17135         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
17136         accordingly.
17138 2018-09-12  Bruno Haible  <bruno@clisp.org>
17140         Add test case from a recent glibc bug.
17141         * tests/test-strstr.c (main): Add test of long needle.
17142         * tests/test-strcasestr.c (main): Likewise.
17143         * tests/test-c-strstr.c (main): Likewise.
17144         * tests/test-c-strcasestr.c (main): Likewise.
17145         * tests/test-memmem.c (main): Likewise.
17147 2018-09-12  Bruno Haible  <bruno@clisp.org>
17149         Apply Eric Blake's improvements from 2011-02-25 to more tests.
17150         * tests/test-c-strstr.c (main): Add the same tests here as well.
17152 2018-09-12  Bruno Haible  <bruno@clisp.org>
17154         Apply Jim Meyering's fix from 2015-01-11 to more tests.
17155         * tests/test-memmem.c (main): Free haystack.
17156         * tests/test-strcasestr.c (main): Likewise.
17157         * tests/test-c-strcasestr.c (main): Likewise.
17159 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17161         xstrtol: fix missing-TYPE_SIGNED typo
17162         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
17164 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17166         timespec: fix resolution confusion
17167         In normal usage, clock resolution is given in seconds, but the
17168         code was mistakenly using inverse seconds and calling it
17169         “resolution”.  Fix this, partly by renaming two identifiers.
17170         The old names will be kept for a bit, to ease transition.
17171         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
17172         New constants, replacing TIMESPEC_RESOLUTION and
17173         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
17174         All uses changed.
17176 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17178         mktime: simplify in prep for glibc merge
17179         * lib/mktime.c, lib/timegm.c [_LIBC]:
17180         Include mktime-internal.h (a small file just for glibc)
17181         instead of using a typedef.
17183 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17185         intprops: minor clarification of code
17186         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
17187         Use _GL_INT_CONVERT rather than reinventing it.
17189 2018-09-07  Bruno Haible  <bruno@clisp.org>
17191         Fix a comment.
17192         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
17194 2018-09-07  Bruno Haible  <bruno@clisp.org>
17196         posix_spawn_file_actions_addchdir: Add tests.
17197         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
17198         * tests/test-posix_spawn4.c: New file.
17199         * modules/posix_spawn_file_actions_addchdir-tests: New file.
17201 2018-09-07  Bruno Haible  <bruno@clisp.org>
17203         posix_spawn_file_actions_addchdir: New module.
17204         Suggested by Eric Blake in
17205         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
17206         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
17207         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
17208         union member 'chdir_action'.
17209         * lib/spawn_faction_addchdir.c: New file.
17210         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
17211         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
17212         HAVE_WORKING_POSIX_SPAWN.
17213         * lib/spawn_faction_adddup2.c: Likewise.
17214         * lib/spawn_faction_addopen.c: Likewise.
17215         * m4/posix_spawn_faction_addchdir.m4: New file.
17216         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
17217         'posix_spawn_file_actions_addchdir' is present and whether
17218         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
17219         instead of HAVE_WORKING_POSIX_SPAWN.
17220         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
17221         posix_spawn_file_actions_addchdir is declared.
17222         (gl_SPAWN_H_DEFAULTS): Initialize
17223         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17224         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17225         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17226         * modules/spawn (Makefile.am): Substitute
17227         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17228         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17229         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17230         * modules/posix_spawn_file_actions_addchdir: New file.
17231         * modules/posix_spawn_file_actions_addclose (Depends-on,
17232         configure.ac): Test also REPLACE_POSIX_SPAWN.
17233         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
17234         configure.ac): Likewise.
17235         * modules/posix_spawn_file_actions_addopen (Depends-on,
17236         configure.ac): Likewise.
17237         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
17238         signature.
17239         * doc/posix-functions/posix_spawn.texi: Mention the new module.
17240         * doc/posix-functions/posix_spawnp.texi: Likewise.
17242 2018-09-06  Bruno Haible  <bruno@clisp.org>
17244         stddef: Override max_align_t on NetBSD 8.0/x86.
17245         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
17246         the value of __alignof__ (max_align_t).
17247         * doc/posix-headers/stddef.texi: Mention the issue.
17249 2018-09-06  Bruno Haible  <bruno@clisp.org>
17251         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
17252         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
17253         system fcntl.
17254         * doc/posix-functions/fcntl.texi: Document the issue.
17256 2018-09-06  Bruno Haible  <bruno@clisp.org>
17258         count-trailing-zeros tests: Rely on limits-h module.
17259         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
17260         definition.
17261         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
17263 2018-09-06  Bruno Haible  <bruno@clisp.org>
17265         count-leading-zeros tests: Rely on limits-h module.
17266         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
17267         definition.
17268         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
17270 2018-09-06  Bruno Haible  <bruno@clisp.org>
17272         count-one-bits tests: Rely on limits-h module.
17273         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
17274         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
17276 2018-09-06  Bruno Haible  <bruno@clisp.org>
17278         xstrtoll: Rely on limits-h module.
17279         * lib/xstrtol.c: Don't include intprops.h.
17280         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17281         * modules/xstrtol (Depends-on): Remove 'intprops'.
17282         * modules/xstrtoll (Depends-on): Add 'limits-h'.
17284 2018-09-06  Bruno Haible  <bruno@clisp.org>
17286         strtoll, strtoull: Rely on limits-h module.
17287         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
17288         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17289         * modules/strtoll (Depends-on): Add limits-h.
17290         * modules/strtoull (Depends-on): Likewise.
17292 2018-09-06  Bruno Haible  <bruno@clisp.org>
17294         intprops tests: Fix compilation error with pre-C99 compiler.
17295         * tests/test-intprops.c (verify_stmt): New macro.
17296         (VERIFY, main): Use it.
17298 2018-09-06  Bruno Haible  <bruno@clisp.org>
17300         limits-h: Provide numerical limits macros.
17301         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
17302         IRIX and for GCC.
17303         (WORD_BIT, LONG_BIT): Define.
17304         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
17305         <limits.h> does not define LLONG_MAX or WORD_BIT.
17306         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
17307         TYPE_MAXIMUM): New macros, from intprops.h.
17308         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
17309         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
17310         provides.
17312 2018-09-05  Bruno Haible  <bruno@clisp.org>
17314         fcntl: Don't access nonexistent optional argument.
17315         Reported by Frank Busse <f.busse@imperial.ac.uk> in
17316         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
17317         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
17318         don't consume an argument. For actions that take an 'int' argument,
17319         consume an 'int' argument.
17321 2018-09-05  Eric Blake  <eblake@redhat.com>
17323         doc: mention environ pitfall
17324         * doc/posix-functions/environ.texi (environ): Assigning NULL to
17325         environ is a glibc extension.
17327 2018-09-03  Bruno Haible  <bruno@clisp.org>
17329         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
17330         Reported by Antoine Luong <antoine.luong@c-s.fr> in
17331         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
17332         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
17333         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
17334         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
17336 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17338         mktime: fix unlikely race+overflow bug
17339         Problem reported by Alexandre Oliva in:
17340         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
17341         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
17342         to avoid an unlikely race if the compiler delays a load and
17343         if this cascades into a signed integer overflow.
17345 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17347         mktime, timegm: simplify glibc time64_t
17348         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
17349         Now long int, not time_t, since long int is the longstanding type
17350         for this in glibc and there is no need to change it even if time_t
17351         becomes 64 bits - even int would do, though this would be a change
17352         to the glibc generated code.  When this change is merged into
17353         glibc, it should simplify the time_t vs time64_t situation.
17355         mktime, timegm: simplify merge to glibc
17356         Move code around to make a merge to glibc easier to audit.
17357         This should not change behavior.
17358         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
17359         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
17360         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
17361         simplify later conditionals; default the others to zero.  In uses
17362         of these conditionals, explicitly spell out how _LIBC affects
17363         things, so it’s easier to review from a glibc viewpoint.
17364         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
17365         compartmentalize tzset issues.  Move system-dependent tzsettish
17366         code here from mktime.
17367         (mktime): Move tzsettish code to my_tzset, and move
17368         localtime_offset to within mktime so that it doesn’t
17369         need a separate ifdef.
17371 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17373         intprops: avoid evaluation of some expressions
17374         This makes EXPR_SIGNED (e) easier to use, as it no longer
17375         evaluates the expression E.  Formerly, E was required to be free
17376         of side effects.
17377         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
17378         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
17379         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
17381 2018-08-23  Bruno Haible  <bruno@clisp.org>
17383         getcwd: Add cross-compilation guesses.
17384         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
17385         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
17386         Based on a patch by Paul Eggert.
17387         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
17388         guesses for all GNU systems.
17390 2018-08-19  Bruno Haible  <bruno@clisp.org>
17392         glob-h: Formalize side effects from other modules.
17393         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
17394         * m4/glob.m4 (gl_GLOB): Invoke it.
17396         fnmatch-h: Formalize side effects from other modules.
17397         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
17398         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
17400         limits-h: Formalize side effects from other modules.
17401         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
17402         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
17404 2018-08-19  Bruno Haible  <bruno@clisp.org>
17406         getpass: Move declaration to <unistd.h>.
17407         * lib/unistd.in.h (getpass): New declaration.
17408         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
17409         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
17410         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
17411         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
17412         On glibc systems, don't set REPLACE_GETPASS to 1.
17413         * modules/getpass (Depends-on): Add 'unistd'.
17414         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
17415         (Include): Specify <unistd.h> instead of "getpass.h".
17416         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
17417         (configure.ac): Sync with the configure.ac section of modules/getpass.
17418         (Include): Specify <unistd.h> instead of "getpass.h".
17419         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
17420         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
17421         REPLACE_GETPASS.
17422         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
17423         REPLACE_GETPASS.
17424         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
17425         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
17426         and musl.
17427         * NEWS: Mention the change.
17429 2018-08-19  Bruno Haible  <bruno@clisp.org>
17431         glob: Fix over-optimization due to attribute __nonnull__.
17432         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
17434 2018-08-19  Bruno Haible  <bruno@clisp.org>
17436         glob: Fix another compilation error when glob.h is not replaced.
17437         Reported by Reuben Thomas <rrt@sc3d.org> in
17438         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
17439         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
17440         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
17442 2018-08-18  Bruno Haible  <bruno@clisp.org>
17444         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
17445         Reported by Reuben Thomas <rrt@sc3d.org> in
17446         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
17447         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
17448         in config.h.
17450 2018-08-18  Bruno Haible  <bruno@clisp.org>
17452         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
17453         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
17454         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
17455         Solution proposed by Eli Zaretskii.
17456         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
17457         * lib/gettimeofday.c (GetProcAddress): Likewise.
17458         * lib/link.c (GetProcAddress): Likewise.
17459         * lib/physmem.c (GetProcAddress): Likewise.
17460         * lib/poll.c (GetProcAddress): Likewise.
17461         * lib/select.c (GetProcAddress): Likewise.
17462         * lib/stat-w32.c (GetProcAddress): Likewise.
17464 2018-08-18  Bruno Haible  <bruno@clisp.org>
17466         glob: Fix another compilation error when glob.h is not replaced.
17467         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
17468         * lib/globfree.c: Include <libc-config.h>.
17470 2018-08-18  Bruno Haible  <bruno@clisp.org>
17472         glob: Fix compilation error when glob.h is not replaced.
17473         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
17474         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
17475         * lib/glob_pattern_p.c: Include <libc-config.h>.
17476         * modules/glob (Depends-on): Add libc-config.
17478 2018-08-18  Bruno Haible  <bruno@clisp.org>
17480         scratch_buffer: Add tests.
17481         * tests/test-scratch-buffer.c: New file.
17482         * modules/scratch_buffer-tests: New file.
17484 2018-08-18  Bruno Haible  <bruno@clisp.org>
17486         scratch_buffer: Fix include file.
17487         Reported by Reuben Thomas <rrt@sc3d.org> in
17488         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
17489         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
17490         double-inclusion guard.
17492 2018-08-18  Bruno Haible  <bruno@clisp.org>
17494         glob-h: Revert Paul Eggert's revert.
17495         * m4/glob_h.m4: Revert to previous state.
17496         * modules/glob-h: Likewise.
17498 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17500         glob-h: always build glob.h
17501         This works around a problem reported by Reuben Thomas in:
17502         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
17503         This workaround always builds glob.h, even on platforms that
17504         do not need it; perhaps this could be improved someday.
17505         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
17506         is always created now.
17507         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
17509 2018-08-13  Bruno Haible  <bruno@clisp.org>
17511         monetary: Simplify m4 code.
17512         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
17513         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
17515 2018-08-13  Bruno Haible  <bruno@clisp.org>
17517         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
17518         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
17519         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
17520         and by Paul J. Lucas <paul@lucasmail.org> in
17521         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
17522         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
17524 2018-08-11  Bruno Haible  <bruno@clisp.org>
17526         setlocale: Trivial simplification.
17527         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
17529 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17531         verify: port 'assume' to traditional tools
17532         * lib/verify.h (assume): Port better to Oracle Studio 12.6
17533         and other tools that use /*NOTREACHED*/ comments.
17535 2018-08-10  Bruno Haible  <bruno@clisp.org>
17537         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
17538         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
17539         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
17540         'fnmatch-gnu' is in use.
17542 2018-08-07  Bruno Haible  <bruno@clisp.org>
17544         glob-h: Add tests.
17545         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
17546         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
17547         tests/test-glob-h.c.
17548         * modules/glob-h-tests: New file.
17549         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
17550         conditions.
17551         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
17552         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
17554 2018-08-07  Bruno Haible  <bruno@clisp.org>
17556         glob-h: New module.
17557         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
17558         replacements.
17559         * lib/glob.c: Include <config.h>.
17560         * m4/glob_h.m4: New file.
17561         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
17562         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
17563         REPLACE_GLOB_PATTERN_P as appropriate.
17564         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
17565         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
17566         * modules/glob-h: New file.
17567         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
17568         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
17569         lstat, sys_stat. Change conditions.
17570         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
17571         REPLACE_GLOB_PATTERN_P. Set module indicator.
17572         (Makefile.am): Remove code that is moved to glob-h.
17573         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
17574         * modules/posixcheck (Depends-on): Add glob-h.
17576 2018-08-06  Bruno Haible  <bruno@clisp.org>
17578         Force generation of substitute .h file when C++ support is enabled.
17579         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
17580         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
17581         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
17582         FNMATCH_H to non-empty.
17583         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
17584         ICONV_H to non-empty.
17585         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
17586         MONETARY_H to non-empty.
17587         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
17588         non-empty.
17590 2018-08-06  Bruno Haible  <bruno@clisp.org>
17592         fnmatch-h: Fix test compilation error on mingw (regression from today).
17593         * lib/fnmatch.in.h: Fix conditions.
17595 2018-08-06  Bruno Haible  <bruno@clisp.org>
17597         sys_resource: Relicense under LGPLv2+.
17598         John Malmberg's approval is in
17599         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
17600         * modules/sys_resource (License): Change to LGPLv2+.
17602 2018-08-06  Bruno Haible  <bruno@clisp.org>
17604         fnmatch-h: Add tests.
17605         * tests/test-fnmatch-h.c: New file.
17606         * modules/fnmatch-h-tests: New file.
17607         * tests/test-fnmatch-h-c++.cc: New file.
17608         * modules/fnmatch-h-c++-tests: New file.
17610 2018-08-06  Bruno Haible  <bruno@clisp.org>
17612         fnmatch-h: New module.
17613         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
17614         replacements.
17615         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
17616         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
17617         'posixcheck' warning.
17618         * m4/fnmatch_h.m4: New file.
17619         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
17620         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
17621         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
17622         as appropriate.
17623         * modules/fnmatch-h: New file.
17624         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
17625         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
17626         conditions.
17627         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
17628         indicator.
17629         (Makefile.am): Remove code that is moved to fnmatch-h.
17630         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
17631         REPLACE_FNMATCH.
17632         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
17633         * modules/posixcheck (Depends-on): Add fnmatch-h.
17635 2018-08-06  Bruno Haible  <bruno@clisp.org>
17637         Enable more C++ tests.
17638         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
17639         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
17640         * modules/strings-tests (Depends-on): Add strings-c++-tests.
17641         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
17642         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
17644 2018-08-06  Bruno Haible  <bruno@clisp.org>
17646         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
17647         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
17648         getopt.h.
17649         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
17651 2018-08-05  Bruno Haible  <bruno@clisp.org>
17653         utime-h: Generate header file when module 'posixcheck' is in use.
17654         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
17655         UTIME_H to non-empty.
17657 2018-08-05  Bruno Haible  <bruno@clisp.org>
17659         monetary: Generate header file when module 'posixcheck' is in use.
17660         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
17661         use, set MONETARY_H to non-empty.
17663 2018-08-05  Bruno Haible  <bruno@clisp.org>
17665         iconv-h: Generate header file when module 'posixcheck' is in use.
17666         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
17667         set ICONV_H to non-empty.
17669 2018-08-05  Bruno Haible  <bruno@clisp.org>
17671         Optimize the "checking whether ... is declared without a macro" checks.
17672         Suggested by Paul Eggert in
17673         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
17674         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
17675         Gnulib module 'posixcheck' is not in use.
17677 2018-08-05  Bruno Haible  <bruno@clisp.org>
17679         iconv-h: Enable 'posixcheck' warnings.
17680         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
17681         iconv_open.
17682         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
17684 2018-08-05  Bruno Haible  <bruno@clisp.org>
17686         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
17687         * m4/extern-inline.m4: Add more comments.
17688         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
17689         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
17690         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
17692 2018-08-04  Bruno Haible  <bruno@clisp.org>
17694         New module 'posixcheck'.
17695         * modules/posixcheck: New file.
17696         * m4/posixcheck.m4: New file.
17697         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
17698         (Which modules?): Reference it.
17700 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
17702         dfa: fix memory leak
17703         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
17705 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
17707         ieee754-h: new module
17708         It looks like Emacs can use this for some NaN processing.
17709         Emacs uses it only on double NaNs so it should be safe.
17710         * MODULES.html.sh (func_all_modules): Add ieee754-h.
17711         * config/srclist.txt: Mention ieee754.h in a comment.
17712         * doc/glibc-headers/ieee754.texi (ieee754.h):
17713         Gnulib now has a substitute that should work
17714         except for long double and for non-IEEE platforms.
17715         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
17716         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
17718 2018-07-27  Bruno Haible  <bruno@clisp.org>
17720         iswcntrl: Mention minor problem on macOS.
17721         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
17723 2018-07-26  Colin Watson  <cjwatson@debian.org>
17725         bootstrap, gnulib-tool: fix translations rsync
17726         Previously, we created files such as $pobase/Makefile.in.in and then the
17727         subsequent rsync would immediately delete them.
17728         * build-aux/bootstrap (po_download_command_format): Avoid deleting
17729         non-.po files in target directory when rsyncing translations.
17730         * gnulib-tool (func_import): Likewise.
17731         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17733 2018-07-25  Jim Meyering  <meyering@fb.com>
17735         bootstrap: reinstate definition fo gnulib_mk.
17736         That variable is used at least by cppi.
17737         * build-aux/bootstrap (gnulib_mk): Restore definition.
17738         This reverts the deletion from v0.1-1844-gc66dba9ba.
17740 2018-07-23  Bruno Haible  <bruno@clisp.org>
17742         doc: For module names, use texinfo markup @code{} or @samp{}.
17743         * doc/alloca.texi: Mark gnulib module names with @code.
17744         * doc/alloca-opt.texi: Likewise.
17745         * doc/quote.texi: Likewise.
17746         * doc/posix-functions/freopen.texi: Likewise.
17747         * doc/posix-functions/open.texi: Likewise.
17748         * doc/posix-functions/readlink.texi: Likewise.
17749         * doc/posix-functions/readlinkat.texi: Likewise.
17750         * doc/posix-functions/stdout.texi: Likewise.
17751         * doc/posix-functions/stderr.texi: Likewise.
17752         * doc/posix-functions/unlink.texi: Likewise.
17753         * doc/posix-functions/unlinkat.texi: Likewise.
17754         * doc/posix-functions/utime.texi: Likewise.
17755         * doc/posix-functions/utimensat.texi: Likewise.
17756         * doc/posix-functions/utimes.texi: Likewise.
17757         * doc/posix-headers/stdint.texi: Likewise.
17758         * doc/glibc-functions/futimesat.texi: Likewise.
17759         * doc/glibc-functions/lutimes.texi: Likewise.
17760         * doc/glibc-functions/memmem.texi: Likewise.
17762 2018-07-23  Werner LEMBERG  <wl@gnu.org>
17764         doc: Avoid some overfull lines in the TeX output.
17765         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
17766         @example.
17767         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
17768         newline before the long URL.
17769         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
17770         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
17771         Add line breaks in code snippets.
17773 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17775         hard-locale: simplify by removing hard-locale.m4
17776         * m4/hard-locale.m4: Remove.
17777         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
17778         (configure.ac): Do not call gl_HARD_LOCALE.
17780         gnulib-tool: limit line length for git send-email
17781         * gnulib-tool (func_import): Break actioncmd log line
17782         into multiple lines.
17784 2018-07-16  Bruno Haible  <bruno@clisp.org>
17786         ffs: Ensure declaration on mingw.
17787         Reported by Daniel P. Berrangé <berrange@redhat.com>
17788         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
17789         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
17790         also declared.
17792 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
17794         regex-tests: add dependency
17795         * modules/regex-tests (Depends-on): Add gettext-h.
17796         This is needed given the recent changes to regex,
17797         which no longer depends on gettext-h.
17799 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17801         regex: now in sync with glibc
17802         * config/srclist.txt: Gnulib and glibc regex code
17803         are synchronized again.
17805 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
17807         renameatu: rename from renameat2
17808         It's looking like Glibc will add a renameat2 function
17809         that is incompatible with Gnulib renameat2; see:
17810         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
17811         To help avoid future confusion, rename renameat2 to something else.
17812         Use the name 'renameatu', as the Gnulib function is close to the
17813         Glibc function.  Perhaps someday there will also be a renameat2
17814         Gnulib module, which mimicks the future glibc renameat2, but that
17815         can wait as nobody seems to need such a module now.
17816         * NEWS: Mention this.
17817         * lib/renameatu.c: Rename from lib/renameat2.c.
17818         * lib/renameatu.h: Rename from lib/renameat2.h.
17819         * modules/renameatu: Rename from modules/renameat2.
17820         * modules/renameatu-tests: Rename from modules/renameat2-tests.
17821         All uses of "renameat2" in identifiers or file name
17822         changed to "renameatu", except for two instances in
17823         lib/renameatu.c that deal with the Linux kernel's
17824         renameat2 syscall.
17826 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
17828         gnulib-tool: minor tweaks for --gnu-make
17829         * gnulib-tool: Do not allow --gnu-make in test modes,
17830         since they all require automake.
17831         (func_emit_lib_Makefile_am): Don’t emit automake comment
17832         if --gnu-make.
17834         regex: work around conditional-dependencies glitch
17835         * modules/regex (Depends-on): Add langinfo.
17836         Without this change, I had problems building an experimental
17837         version of GNU Emacs.  The symptom of the bug was a message
17838         ‘./configure: line 12726: test: =: unary operator expected’.
17839         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
17840         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
17841         was unset.  Although gl_FUNC_NL_LANGINFO has
17842         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
17843         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
17844         --conditional-dependencies sometimes arranges for the
17845         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
17846         code.  Since the regex code includes <langinfo.h> it should be
17847         depending on the langinfo module anyway, and this happens to work
17848         around the bug, so install that as a workaround for now.  To
17849         reproduce the original problem, run the following shell script on
17850         the version of Gnulib just before this patch was installed.
17851                 rm -fr foo
17852                 mkdir foo
17853                 cat >foo/configure.ac <<'EOF'
17854                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
17855                 gl_EARLY
17856                 gl_INIT
17857                 AC_OUTPUT
17858                 EOF
17859                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
17860                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
17861                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
17862                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
17863                 cd foo
17864                 aclocal -I m4
17865                 autoconf
17866                 ./configure --with-included-regex
17868 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
17870         wchar: fix bug when checking for ‘inline’
17871         I discovered this when looking into using the regex module
17872         with Emacs.
17873         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
17874         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
17875         conftest1.c and conftest2.c but these files were not created.
17876         As far as I can see, this check never worked and nobody reported
17877         it until now, which is a bit worrisome.
17879 2018-06-30  Jim Meyering  <meyering@fb.com>
17881         bootstrap: s/--option val/--option=val/
17882         * build-aux/bootstrap (gnulib_tool_options): Change the
17883         spelling of "--option val" pairs to "--option=val", for
17884         aesthetics, and also so that this file no longer triggers
17885         a common help2man syntax-check warning when copied into
17886         projects like grep, gzip, etc.
17888 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
17890         manywarnings: omit -Wswitch-default
17891         This should make things more consistent, as we already ignore
17892         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
17893         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
17894         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
17895         Add -Wswitch-default.
17896         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
17897         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17898         Remove -Wswitch-default.
17900         regex: revert most trimming
17901         Problems reported by Bruno Haible in:
17902         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
17903         * modules/regex (Depends-on): Add lock, memcmp, memmove,
17904         and wctype back in.  lock because regex users shouldn’t
17905         need to know that regex needs locking, and the rest because
17906         gnulib-tool should ordinarily ignore them anyway.
17908 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
17910         regex: trim module dependencies
17911         * modules/regex (Depends-on): Remove gettext-h and lock,
17912         since the regex code should work OK without these modules,
17913         and Emacs uses it that way.  Also remove memcmp, memmove,
17914         and wctype, as these modules are obsolete and should not be
17915         needed any more.
17917 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
17919         regex: glibc does not use intprops.h
17920         Maybe we can talk glibc into using intprops.h someday, but
17921         now doesn’t seem to be a good time.
17922         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
17923         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
17924         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
17926 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
17928         regex: port to recently proposed glibc regex merge
17929         This patch is inspired by Adhemerval Zanella's recent proposal
17930         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
17931         to merge glibc and Gnulib regex.  It aims to simplify the merge on
17932         the glibc side, without keeping Gnulib portable.
17933         * lib/regex.h: Fix a problem with glibc installed-header checking,
17934         as follows:
17935         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
17936         (_Restrict_arr_): Prefer __restrict_arr if defined,
17937         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
17938         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
17939         (build_wcs_upper_buffer, build_upper_buffer)
17940         (re_string_translate_buffer, re_string_context_at):
17941         Move decls here from lib/regex_internal.h, for glibc internal tests.
17942         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
17943         glibc BZ #18496.
17944         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
17945         -Wunused-value.
17946         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
17947         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
17948         (bitset_mask): Now static inline, and without any __attribute__
17949         ((unused)) decoration, for glibc internal tests.
17951 2018-06-25  Bruno Haible  <bruno@clisp.org>
17953         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
17954         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
17955         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
17956         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
17957         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
17958         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
17959         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
17960         / -lthread / -lpth does not get optimized away by a preceding
17961         --as-needed option.
17963 2018-06-25  Bruno Haible  <bruno@clisp.org>
17965         Continue to use spaces for indentation, not tabs.
17966         * MODULES.html.sh: Untabify.
17967         * doc/regex.texi: Likewise.
17968         * lib/acl-internal.c: Likewise.
17969         * lib/dfa.c: Likewise.
17970         * lib/exclude.c: Likewise.
17971         * lib/exclude.h: Likewise.
17972         * lib/get-permissions.c: Likewise.
17973         * lib/gettimeofday.c: Likewise.
17974         * lib/parse-datetime.y: Likewise.
17975         * lib/pselect.c: Likewise.
17976         * lib/set-permissions.c: Likewise.
17977         * lib/time.in.h: Likewise.
17978         * m4/canonicalize.m4: Likewise.
17979         * m4/gc.m4: Likewise.
17980         * m4/gnulib-common.m4: Likewise.
17981         * m4/pthread_sigmask.m4: Likewise.
17982         * m4/vararrays.m4: Likewise.
17983         * tests/test-digest.h: Likewise.
17984         * tests/test-fcntl-h.c: Likewise.
17985         * tests/test-timespec.c: Likewise.
17986         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
17988 2018-06-25  Bruno Haible  <bruno@clisp.org>
17990         manywarnings: Don't enable -Wjump-misses-init warnings by default.
17991         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
17992         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
17993         -Wjump-misses-init.
17995 2018-06-25  Jim Meyering  <meyering@fb.com>
17997         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
17998         * lib/acl-internal.h (free_permission_context): Remove that
17999         attribute directive.  Otherwise, it would provoke this from GCC 9:
18000         lib/acl-internal.h:300:3: error: 'const' attribute on function \
18001           returning 'void' [-Werror=attributes]
18003 2018-06-24  Jim Meyering  <meyering@fb.com>
18005         parse-datetime: accommodate gcc-4.8.5
18006         Bruno Haible reported the build failure in
18007         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
18008         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
18009         on declaration of new local.
18011 2018-06-24  Bruno Haible  <bruno@clisp.org>
18013         af_alg: Fail in continuable manner on Linux/powerpc64le.
18014         Reported by Assaf Gordon <assafgordon@gmail.com>
18015         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
18016         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
18017         byte send() as the first round.
18019 2018-06-24  Bruno Haible  <bruno@clisp.org>
18021         af_alg: Fix state of stream after sendfile() succeeds.
18022         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
18023         the stream is correctly positioned afterwards.
18024         * modules/crypto/af_alg (Depends-on): Add fflush.
18025         * tests/test-digest.h (test_digest_on_files): Verify that after the
18026         operation the stream is positioned at end of file.
18028 2018-06-24  Jim Meyering  <meyering@fb.com>
18030         canon-host: take GCC9's advice rather than ignoring warning
18031         Pádraig Brady suggested not to ignore this GCC9 advice.
18032         * lib/canon-host.c: Undo preceding change.
18033         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
18035         parse-datetime.y: avoid spurious GCC 9 warning
18036         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
18037         a function local prior to the first "goto fail".  The prior use would
18038         evoke this:
18039         parse-datetime.y: In function 'parse_datetime2':
18040         parse-datetime.y:1791:19: error: jump skips variable initialization \
18041           [-Werror=jump-misses-init]
18042         parse-datetime.y:2385:2: note: label 'fail' defined here
18043         parse-datetime.y:188:43: note: '({anonymous})' declared here
18044         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
18046         canon-host.c: avoid spurious GCC 9 warning
18047         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
18049         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
18050         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
18051         * m4/manywarnings.m4: Remove them.
18052         Otherwise, building coreutils, I would see this:
18053         cc1: error: deprecated command line option '-Wchkp' [-Werror]
18054         cc1: error: -Wabi won't warn about anything [-Werror=abi]
18055         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
18056           which is also used by default
18057         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
18059 2018-06-24  Bruno Haible  <bruno@clisp.org>
18061         af_alg tests: Add another test.
18062         * tests/test-digest.h (test_digest_on_files): Also check a large file
18063         with a skipped header.
18064         * tests/test-md5.c: Include macros.h.
18065         * tests/test-sha1.c: Likewise.
18066         * tests/test-sha256.c: Likewise.
18067         * tests/test-sha512.c: Likewise.
18068         * modules/crypto/md5-tests (Files): Add tests/macros.h.
18069         * modules/crypto/sha1-tests (Files): Likewise.
18070         * modules/crypto/sha256-tests (Files): Likewise.
18071         * modules/crypto/sha512-tests (Files): Likewise.
18073 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18075         maint: clarify comments about sticky EOF
18076         * lib/af_alg.c: Be more direct that we can't
18077         assume stickiness of EOF for portability reasons.
18078         * lib/md5.c: Clarify that this isn't just a glibc issue.
18079         * lib/sha1.c: Likewise.
18080         * lib/sha256.c: Likewise.
18081         * lib/sha512.c: Likewise.
18083 2018-06-24  Bruno Haible  <bruno@clisp.org>
18085         af_alg: Comment and style improvements.
18086         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
18087         (afalg_buffer, afalg_stream): Improve comments.
18089 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18091         af_alg: disable kernel hash functions by default
18092         All the kernel routines were seen to be significantly slower
18093         with these relatively recent components on an i3-2310M system:
18094           kernel-4.10.6-200.fc25.x86_64
18095           openssl-1.0.2m-1.fc25.x86_64
18096         sha1 was nearly twice as slow in the kernel for example.
18097         Further considerations why this should not be the default, at:
18098         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
18100         * m4/af_alg.m4: Require --with-linux-crypto to enable.
18101         * m4/gl-openssl.m4: Tweak accordingly.
18103 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18105         af_alg: avoid hangs when reading from streams
18106         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
18107         and thus avoid doing a fread() when feof() is set.
18108         * lib/md5.c: Ensure feof() is called before fread().
18109         * lib/sha1.c: Likewise.
18110         * lib/sha256.c: Likewise.
18111         * lib/sha512.c: Likewise.
18113 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18115         af_alg: fix error handling when hash not returned
18116         * lib/af_alg.c (afalg_stream): Handle the case where we've
18117         successfully written data to the kernel in the read/write loop,
18118         but the kernel doesn't respond with the hash.
18120 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18122         libc-config: merge from glibc
18123         * lib/cdefs.h (__inline, __restrict):
18124         Copy from current glibc.  This fixes glibc bug 17721,
18125         which Gnulib had already fixed in a different way.
18126         (__nonnull): Lessen the distance from glibc by using the
18127         glibc definition inside an ‘#ifndef __nonnull’.
18128         (__attribute_nonstring__): New macro, copied from
18129         current glibc.
18130         * lib/libc-config.h (__attribute_nonstring__): New undef.
18131         (__restrict): Remove; workaround no longer needed.
18132         Keep the __inline workaround, though, as it uses HAVE___INLINE to
18133         support more compilers than the glibc __inline can.
18135 2018-06-24  Bruno Haible  <bruno@clisp.org>
18137         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
18138         * lib/mbrtowc.c (enc_t): New enum type.
18139         (locale_enc, locale_enc_cached): New functions.
18140         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
18141         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
18142         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
18143         instead.
18144         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
18145         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
18146         * modules/wcwidth (configure.ac): Invoke it.
18148 2018-06-24  Bruno Haible  <bruno@clisp.org>
18150         wchar-single: Fix test failure in wcwidth tests.
18151         * tests/test-wcwidth.c (main): If the wchar-single module is present,
18152         skip the tests in the C locale.
18154 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18156         crypto: mention --without-linux-crypto in --with-openssl --help
18157         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
18158         routines take precedence in --with-openssl help output.
18160 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18162         wchar-single: a new module to enable optimizations in wchar replacements
18163         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
18164         GNULIB_WCHAR_SINGLE is enabled.
18165         * lib/wcwidth.c (wcwidth): Likewise.
18167 2018-06-23  Bruno Haible  <bruno@clisp.org>
18169         libc-config: Fix conflict with FreeBSD include files.
18170         * lib/cdefs.h (__nonnull): Remove definition.
18171         * lib/libc-config.h (__nonnull): Remove undefinition.
18173 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18175         random_r: do not crash if state is unaligned
18176         Problem reported by Bruce Korb in:
18177         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
18178         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
18179         with 'cc -O2 -xmemalign=8s'.
18180         * lib/random_r.c: Include string.h, for memcpy.
18181         (get_int32, set_int32): New functions.
18182         (__srandom_r, __initstate_r, __setstate_r, __random_r):
18183         Use them to avoid assumption that state pointer is aligned.
18184         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
18185         * tests/test-random_r.c (test_failed): New function.
18186         (main): Use it, to test for alignment bugs.
18188         random_r: omit unnecessary include
18189         * lib/random_r.c: Do not include limits.h.
18191         random, random_r: merge from glibc
18192         * lib/random.c, lib/random_r.c:
18193         Include libc-config.h if !_LIBC, not config.h unilaterally.
18194         * lib/random.c:
18195         Do not include stdint.h or time.h; not needed.
18196         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
18197         (unsafe_state): Rename from generator.  All uses changed.
18198         Use C99-style initializers.
18199         (__random, __srandom, __initstate, __setstate): Rename from
18200         non-underscored version, but define it to non-underscored version
18201         on Gnulib.  Add a lock.
18202         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
18203         Likewise.
18204         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
18205         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
18206         (__srandom_r): Use int32_t instead of long int where int32_t will do.
18207         (__random_r): Use uint32 to fix glibc bug 17343.
18208         * modules/random, modules/random_r (Depends-on): Add libc-config.
18209         Depend on stdint only if $HAVE_RANDOM = 0.
18211 2018-06-19  Jim Meyering  <meyering@fb.com>
18213         README-release: also run any check-very-expensive tests
18214         * top/README-release: Adjust instructions so they run the
18215         check-very-expensive tests when there is such a target.
18217 2018-06-18  Bruno Haible  <bruno@clisp.org>
18219         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
18220         * m4/pthread_rwlock_rdlock.m4: Add comment.
18221         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
18222         are reader-preferring in glibc.
18223         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
18224         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
18226 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
18228         crypto: use byteswap
18229         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
18230         * lib/sm3.c: Include <byteswap.h>.
18231         (SWAP): Use its macros rather than reinventing the wheel.
18232         * modules/crypto/md4, modules/crypto/md5-buffer:
18233         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
18234         * modules/crypto/sha512-buffer, modules/crypto/sm3:
18235         (Depends-on): Add byteswap.
18237 2018-06-17  Pádraig Brady  <P@draigBrady.com>
18239         gendocs.sh: fix support for legacy --texi2html
18240         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
18241         to the default makeinfo invocation.
18242         Reported by Bruce Korb
18244 2018-06-17  Bruno Haible  <bruno@clisp.org>
18246         gettext po infrastructure: Update from current gettext git.
18247         Reported by Akim Demaille <akim@lrde.epita.fr>.
18248         * build-aux/po/Makefile.in.in: Update from current gettext git.
18249         * build-aux/po/remove-potcdate.sin: Likewise.
18250         * config/srclist.txt: Temporarily disable sync for these files.
18252 2018-06-17  Bruno Haible  <bruno@clisp.org>
18254         getloadavg: Return 0 on Windows without Cygwin.
18255         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
18257 2018-06-17  Paul Smith  <psmith@gnu.org>
18259         getloadavg: Allow building on Windows without Cygwin
18260         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
18261         * m4/getloadavg.m4: Check for unistd.h.
18263 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
18265         Port crypto/af_alg to GCC 4.8.4
18266         Problem reported by Peter Simons in:
18267         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
18268         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
18270 2018-05-27  Colin Watson  <cjwatson@debian.org>
18272         bootstrap: document source fetching in --help
18273         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
18275 2018-04-09  Colin Watson  <cjwatson@debian.org>
18277         bootstrap: allow non-submodule control of gnulib
18278         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
18279         bootstrap.conf when fetching gnulib using "git clone" or via
18280         GNULIB_SRCDIR.
18282 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18284         crypto: omit stream ops Emacs doesn’t need
18285         * lib/md5.c (md5_stream):
18286         * lib/sha1.c (sha1_stream):
18287         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
18288         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18289         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
18290         defined.  Emacs needs this, as it does not use the stream
18291         operations and doesn’t need all the af_alg stuff we’ve recently
18292         added.  Perhaps a similar change is needed to the other crypto
18293         modules, but this patch changes only those needed for Emacs.
18294         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
18295         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
18296         New modules, used by Emacs.
18297         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18298         * modules/crypto/sha512: Rewrite to depend on the new modules.
18300 2018-05-20  Pádraig Brady  <P@draigBrady.com>
18302         fts: avoid a memory leak edge case
18303         * lib/fts.c (fts_open): Set an appropriate fts_level
18304         so that an immediate fts_close() will free the allocation.
18305         * tests/test-fts.c (fts_dealloc): Add a test case which
18306         will trigger under valgrind or address sanitizer.
18307         Fixes https://bugs.gnu.org/31439
18309 2018-05-20  Bruno Haible  <bruno@clisp.org>
18311         wcwidth tests: Fix link error.
18312         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
18313         $(LIBUNISTRING).
18315 2018-05-20  Bruno Haible  <bruno@clisp.org>
18317         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
18318         * modules/regex (Files): Add m4/glibc21.m4.
18320 2018-05-20  Bruno Haible  <bruno@clisp.org>
18322         localcharset: Optimize.
18323         * lib/localcharset.c (alias_table): Comment out no-op mappings for
18324         platforms where these don't matter. This reduces the table size,
18325         which in turn reduces the lookup time.
18327 2018-05-19  Bruno Haible  <bruno@clisp.org>
18329         localcharset: Map the locale encodings found in newer OSes.
18330         * lib/localcharset.c (alias_table): Add mapping for locale encodings
18331         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
18332         IRIX 6.5, Minix 3.3.
18333         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
18335 2018-05-19  Bruno Haible  <bruno@clisp.org>
18337         localcharset: Move mapping tables into the code. Use a binary search.
18338         * lib/localcharset.h: Document the GNU canonical names for character
18339         encodings here.
18340         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
18341         relocatable.h, configmake.h.
18342         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
18343         macros.
18344         (charset_aliases): Remove variable.
18345         (get_charset_aliases): Remove function.
18346         (struct table_entry): New type.
18347         (alias_table, locale_table): New constants.
18348         (locale_charset): Use the alias_table or locale_table to get the
18349         canonicalized encoding name.
18350         * lib/config.charset: Remove file.
18351         * lib/ref-add.sin: Remove file.
18352         * lib/ref-del.sin: Remove file.
18353         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
18354         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
18355         * modules/localcharset (Notice): Remove.
18356         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
18357         glibc21.m4.
18358         (Depends-on): Remove configmake.
18359         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
18360         (Makefile.am): Simplify.
18361         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
18363 2018-05-19  Bruno Haible  <bruno@clisp.org>
18365         localcharset: Add a manual test.
18366         * tests/test-localcharset.c: New file.
18367         * modules/localcharset-tests: New file.
18369 2018-05-19  Bruno Haible  <bruno@clisp.org>
18371         localcharset: Remove support for obsolete platforms.
18372         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
18373         Mac OS X 10.2. Comment out dubious entry for Solaris.
18375 2018-05-19  Jim Meyering  <meyering@fb.com>
18377         gnupload: adjust comment
18378         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
18379         more likely we'll remove the just-added code in a year or two.
18381 2018-05-19  Bruno Haible  <bruno@clisp.org>
18383         gnupload: Fix "gpg-agent is not available in this session" error.
18384         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
18386 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18388         crypto/af_alg: fix --help
18389         * m4/af_alg.m4: Avoid spurious newline in --help output.
18391 2018-05-13  Bruno Haible  <bruno@clisp.org>
18393         nl_langinfo: Fix compilation error on Android.
18394         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
18395         INT_CURR_SYMBOL, etc. only if these items are defined.
18397 2018-05-13  Bruno Haible  <bruno@clisp.org>
18399         truncate: Fix compilation error on Android.
18400         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
18401         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
18402         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
18403         HAVE_TRUNCATE.
18404         * modules/truncate: Likewise.
18405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
18406         not HAVE_TRUNCATE.
18407         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
18408         HAVE_TRUNCATE.
18409         * doc/posix-functions/truncate.texi: Mention the issue.
18411 2018-05-13  Bruno Haible  <bruno@clisp.org>
18413         pthread: Fix compilation error on Android.
18414         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
18415         recursive inclusion of this file.
18417 2018-05-13  Bruno Haible  <bruno@clisp.org>
18419         posix_spawn: Fix compilation error on Android.
18420         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
18421         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
18422         (posix_spawn_file_actions_t): Consider also the case
18423         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
18425 2018-05-13  Bruno Haible  <bruno@clisp.org>
18427         tsearch: Move from K&R C to ANSI C.
18428         * lib/tsearch.c (tfind): Convert definition to ANSI C.
18430 2018-05-13  Bruno Haible  <bruno@clisp.org>
18432         tsearch: Fix compilation error on Android.
18433         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
18434         is 0.
18435         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
18436         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
18437         GNULIB_defined_tsearch is true.
18438         (twalk): Define only if GNULIB_defined_twalk is true.
18439         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
18440         is 0.
18441         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
18442         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
18443         * modules/search (Makefile.am): Substitute HAVE_TWALK.
18445 2018-05-13  Bruno Haible  <bruno@clisp.org>
18447         imaxdiv: Fix compilation error on Android.
18448         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
18449         is not defined.
18450         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
18451         HAVE_DECL_IMAXDIV, is 0.
18452         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
18453         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
18455 2018-05-13  Bruno Haible  <bruno@clisp.org>
18457         Support selective inclusion mechanism of recent mingw.org header files.
18458         Reported by Eli Zaretskii <eliz@gnu.org>.
18459         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
18460         __need_ssize_t, or __need_time_t is defined, just include the system's
18461         <sys/types.h>.
18462         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
18463         include the system's <locale.h>.
18465 2018-05-13  Bruno Haible  <bruno@clisp.org>
18467         Avoid compilation error due to 'mmap' on Android.
18468         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
18469         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
18470         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
18471         Undefine on Android.
18473 2018-05-13  Bruno Haible  <bruno@clisp.org>
18475         Add cross-compilation guesses for Linux systems without glibc.
18476         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
18477         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
18478         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18479         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18480         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
18481         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
18482         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18483         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18484         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
18485         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
18486         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18487         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18488         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
18489         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18490         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18491         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
18492         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18493         * m4/utimens.m4 (gl_UTIMENS): Likewise.
18495 2018-05-13  Bruno Haible  <bruno@clisp.org>
18497         getpagesize: Fix compilation error on Android.
18498         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
18499         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
18500         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
18501         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
18502         HAVE_GETPAGESIZE accordingly.
18503         * modules/getcwd (Files): Add m4/getpagesize.m4.
18505 2018-05-13  Bruno Haible  <bruno@clisp.org>
18507         tcgetsid: Fix compilation error on Android.
18508         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
18509         AC_CHECK_FUNC.
18511 2018-05-13  Bruno Haible  <bruno@clisp.org>
18513         getpass: Fix configure test for Android.
18514         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
18515         AC_CHECK_FUNC.
18517 2018-05-13  Bruno Haible  <bruno@clisp.org>
18519         ffs: Fix compilation error on Android.
18520         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
18522 2018-05-13  Bruno Haible  <bruno@clisp.org>
18524         mkfifo: Fix compilation error on Android.
18525         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
18526         AC_CHECK_FUNC.
18528 2018-05-13  Bruno Haible  <bruno@clisp.org>
18530         c-strtod: Fix configure test for Android.
18531         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
18532         AC_CHECK_FUNC.
18534 2018-05-13  Bruno Haible  <bruno@clisp.org>
18536         random: Fix compilation error on Android.
18537         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
18538         AC_CHECK_FUNC.
18540 2018-05-13  Bruno Haible  <bruno@clisp.org>
18542         grantpt: Fix compilation error on Android.
18543         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
18544         AC_CHECK_FUNC.
18546 2018-05-13  Bruno Haible  <bruno@clisp.org>
18548         stdioext: Fix compilation errors with newer Android headers.
18549         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
18550         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
18551         fallbacks for Android.
18552         * lib/fpending.c: Update comments.
18553         * lib/fpurge.c: Likewise.
18554         * lib/freadable.h: Likewise.
18555         * lib/freadable.c: Likewise.
18556         * lib/freadahead.c: Likewise.
18557         * lib/freading.h: Likewise.
18558         * lib/freadptr.c: Likewise.
18559         * lib/fseterr.c: Likewise.
18560         * lib/fwritable.h: Likewise.
18561         * lib/fwritable.c: Likewise.
18562         * lib/fwriting.h: Likewise.
18563         * lib/fwriting.c: Likewise.
18565 2018-05-13  Bruno Haible  <bruno@clisp.org>
18567         doc: Add info about Android versions 2.0 to 8.1.
18568         * doc/**/*.texi: Add info about functions in all released versions of
18569         Bionic.
18571 2018-05-12  Bruno Haible  <bruno@clisp.org>
18573         fseeko: On mingw, don't use the hidden function _fseeki64.
18574         Reported by Eli Zaretskii <eliz@gnu.org>.
18575         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
18576         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
18578 2018-05-12  Bruno Haible  <bruno@clisp.org>
18580         glob: Choose 'dirent_type' in a way that works better on mingw.
18581         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
18582         * lib/glob.c (dirent_type): Define as uint_fast32_t.
18584 2018-05-12  Bruno Haible  <bruno@clisp.org>
18586         execute, spawn-pipe: Avoid warning about redefining 'close'.
18587         Reported by Eli Zaretskii <eliz@gnu.org>.
18588         * lib/execute.c: Undefine 'close' before redefining it.
18589         * lib/spawn-pipe.c: Likewise.
18591 2018-05-12  Bruno Haible  <bruno@clisp.org>
18593         nanosleep: Avoid test failure on mingw when it has nanosleep.
18594         Reported by Eli Zaretskii <eliz@gnu.org>.
18595         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
18596         If it does not exist, use a simpler test program that does not call
18597         alarm().
18599 2018-05-10  Bruno Haible  <bruno@clisp.org>
18601         lock, cond, thread, tls: Use a different symbol as libpthread witness.
18602         Reported by Devin Hussey <husseydevin@gmail.com>.
18603         Based on a patch by Paul Eggert.
18604         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
18605         as witness of libpthread.
18606         * lib/glthread/cond.h (pthread_in_use): Likewise.
18607         * lib/glthread/thread.h (pthread_in_use): Likewise.
18608         * lib/glthread/tls.h (pthread_in_use): Likewise.
18610 2018-05-10  Bruno Haible  <bruno@clisp.org>
18612         cond tests: Fix compilation error on Solaris.
18613         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
18614         macro.
18616 2018-05-10  Bruno Haible  <bruno@clisp.org>
18618         doc: Add partial info about Android 4.3.
18619         * doc/*-functions/*.texi: Add info about functions that were added
18620         to Bionic between Android 4.3 and Android 9.0.
18622 2018-05-10  Bruno Haible  <bruno@clisp.org>
18624         doc: Add info about Android 9.0.
18625         * doc/**/*.texi: Add info about functions and headers in Bionic from
18626         Android 9.0.
18628 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
18630         af_alg: fix my typo in afalg_buffer
18631         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
18632         (afalg_stream): Simplify and avoid the need for a runtime test
18633         at the end.
18635         af_alg: recover better from crypto failures
18636         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
18637         input stream is seekable, by repositioning the stream back to
18638         where it was, possibly by just calling sendfile with an offset
18639         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
18640         cases, which lets our callers try again with user-mode code.
18641         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
18642         instead of on fflush and lseek.
18644         af_alg: distiguish I/O errors better
18645         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
18646         not -EIO, if it’s OK for the caller to try again with user-mode code.
18647         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
18648         some other error number) if fflush fails, as the caller should not
18649         try again that case.
18651         af_alg: avoid gotos
18652         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
18653         gotos, as they were a source of unreliability and made the code a
18654         bit harder to follow.
18656         af_alg: don’t leak file descriptors into children
18657         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
18658         This code should be compiled only on recent GNU/Linux platforms
18659         so we shouldn’t have to also depend on the accept4 module.
18661         af_alg: coalesce socket creation
18662         * lib/af_alg.c (alg_socket): New function.
18663         (afalg_buffer, afalg_stream): Use it.  This avoids some
18664         code duplication and gotos.
18666         af_alg: fix file descriptor leak
18667         * lib/af_alg.c (afalg_stream): Close leak.
18669         af_alg: Pacify --enable-gcc-warnings on GCC 8
18670         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
18671         and checking to pacify gcc -Wjump-misses-init on GCC 8.
18673 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18675         af_alg: Pacify --enable-gcc-warnings
18676         Problem reported by Assaf Gordon in:
18677         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
18678         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
18679         gcc -Wjump-misses-init.
18680         * lib/sha512.c (shaxxx_stream): Now static.
18682 2018-05-06  Bruno Haible  <bruno@clisp.org>
18684         af_alg: Add ability to use Linux kernel crypto API on data in memory.
18685         * lib/af_alg.h (afalg_buffer): New declaration.
18686         * lib/af_alg.c (afalg_buffer): New function.
18688 2018-05-06  Bruno Haible  <bruno@clisp.org>
18690         af_alg: Avoid warnings.
18691         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
18692         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
18694 2018-05-06  Bruno Haible  <bruno@clisp.org>
18696         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
18697         * tests/bench-digest.h: New file.
18698         * tests/bench-md5.c: New file.
18699         * tests/bench-sha1.c: New file.
18700         * tests/bench-sha224.c: New file.
18701         * tests/bench-sha256.c: New file.
18702         * tests/bench-sha384.c: New file.
18703         * tests/bench-sha512.c: New file.
18704         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
18705         tests/bench-digest.h.
18706         (Depends-on): Add getrusage, gettimeofday.
18707         (Makefile.am): Add variables to build bench-md5.
18708         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
18709         tests/bench-digest.h.
18710         (Depends-on): Add getrusage, gettimeofday.
18711         (Makefile.am): Add variables to build bench-sha1.
18712         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
18713         tests/bench-sha256.c, tests/bench-digest.h.
18714         (Depends-on): Add getrusage, gettimeofday.
18715         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
18716         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
18717         tests/bench-sha512.c, tests/bench-digest.h.
18718         (Depends-on): Add getrusage, gettimeofday.
18719         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
18721 2018-05-06  Bruno Haible  <bruno@clisp.org>
18723         af_alg: Fix a resource leak.
18724         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
18725         New local variable 'result'.
18727 2018-05-06  Bruno Haible  <bruno@clisp.org>
18729         af_alg: Fix bug with streams that are not at position 0.
18730         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
18731         assume that the stream is positioned at position 0.
18732         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
18733         of the stream.
18734         * lib/md5.h (md5_stream): Likewise.
18735         * lib/sha1.h (sha1_stream): Likewise.
18736         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
18737         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
18738         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
18740         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
18741         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
18742         stream that is not positioned at the beginning.
18744 2018-05-06  Bruno Haible  <bruno@clisp.org>
18746         af_alg: Add configure option to enable/disable use of Linux crypto API.
18747         Suggested by Assaf Gordon <assafgordon@gmail.com>.
18748         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
18749         USE_LINUX_CRYPTO_API.
18750         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
18751         * lib/af_alg.c: Likewise.
18753 2018-05-06  Bruno Haible  <bruno@clisp.org>
18755         Followup to 'af_alg: New module.'.
18756         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
18757         * modules/crypto/sha1 (Depends-on): Likewise.
18758         * modules/crypto/sha256 (Depends-on): Likewise.
18759         * modules/crypto/sha512 (Depends-on): Likewise.
18761 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18763         crypto/{md5,sha1,sha256,sha512}: simplify
18764         * lib/md5.c (md5_stream):
18765         * lib/sha1.c (sha1_stream):
18766         * lib/sha256.c (shaxxx_stream):
18767         Simplify, partly by assuming C99.
18768         * lib/sha256.c (shaxxx_stream):
18769         New function, which implements both sha256 and sha224.
18770         Simplify, partly by assuming C99.
18771         (sha256_stream, sha224_stream):
18772         Use it to avoid code duplication, removing a FIXME.
18773         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18774         Likewise.
18776         af_alg: Improve comments.
18777         * lib/af_alg.h: Use imperatives and tighten up wording.
18779 2018-05-05  Bruno Haible  <bruno@clisp.org>
18781         af_alg: Improve comments.
18782         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
18784 2018-05-05  Bruno Haible  <bruno@clisp.org>
18786         af_alg: New module.
18787         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
18788         * lib/af_alg.c: Include "af_alg.h" before the other header files.
18789         * lib/md5.c: Include "af_alg.h" unconditionally.
18790         (md5_stream): Invoke afalg_stream unconditionally.
18791         * lib/sha1.c: Include "af_alg.h" unconditionally.
18792         (sha1_stream): Invoke afalg_stream unconditionally.
18793         * lib/sha256.c: Include "af_alg.h" unconditionally.
18794         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
18795         * lib/sha512.c: Include "af_alg.h" unconditionally.
18796         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
18797         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
18798         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
18799         * modules/crypto/af_alg: New file.
18800         * modules/crypto/md5 (Files): Remove files that are now in the
18801         'crypto/af_alg' module.
18802         (Depends-on): Add crypto/af_alg.
18803         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18804         (Makefile.am): Don't mention af_alg.c here.
18805         * modules/crypto/sha1 (Files): Remove files that are now in the
18806         'crypto/af_alg' module.
18807         (Depends-on): Add crypto/af_alg.
18808         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18809         (Makefile.am): Don't mention af_alg.c here.
18810         * modules/crypto/sha256 (Files): Remove files that are now in the
18811         'crypto/af_alg' module.
18812         (Depends-on): Add crypto/af_alg.
18813         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18814         (Makefile.am): Don't mention af_alg.c here.
18815         * modules/crypto/sha512 (Files): Remove files that are now in the
18816         'crypto/af_alg' module.
18817         (Depends-on): Add crypto/af_alg.
18818         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
18819         (Makefile.am): Don't mention af_alg.c here.
18821 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18823         crypto tests: pacify GCC
18824         * tests/test-digest.h (test_digest_on_files):
18825         Don’t assume digest size fits in int (!).
18827         af_alg: minor style improvements
18828         * lib/af_alg.c (afalg_stream): Prefer C99 style
18829         decl-after-statement, since we’re already assuming C99.  Clarify
18830         by strengthening the bind test and omit unnecessary assignment.
18832 2018-05-05  Bruno Haible  <bruno@clisp.org>
18834         af_alg: Fix bug on empty files.
18835         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
18836         stream is empty.
18838 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18840         sys-limits.h: new file for crypto and safe I/O
18841         * lib/af_alg.c: Include sys-limits.h.
18842         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
18843         (afalg_stream): Also reject negative sizes for sendfile; they
18844         should not happen and the code is a bit cleaner and faster this way.
18845         * lib/safe-read.c: Include sys-limits.h.
18846         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
18847         * lib/sys-limits.h: New file, with values and commentary derived
18848         from the old safe-read.c and from GNU Emacs sysdep.c.
18849         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18850         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
18851         Add lib/sys-limits.h to Files section.
18853 2018-05-05  Bruno Haible  <bruno@clisp.org>
18855         af_alg: Improve function signature.
18856         * lib/af_alg.h (afalg_stream): Swap second and third argument.
18857         * lib/af_alg.c (afalg_stream): Likewise.
18858         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
18860 2018-05-05  Bruno Haible  <bruno@clisp.org>
18862         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
18863         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
18864         * modules/crypto/sha1 (Depends-on): Likewise.
18865         * modules/crypto/sha256 (Depends-on): Likewise.
18866         * modules/crypto/sha512 (Depends-on): Likewise.
18868 2018-05-05  Bruno Haible  <bruno@clisp.org>
18870         crypto/{md5,sha1,sha256,sha512}: Fix module description.
18871         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
18872         * modules/crypto/sha1 (Depends-on): Likewise.
18873         * modules/crypto/sha256 (Depends-on): Likewise.
18874         * modules/crypto/sha512 (Depends-on): Likewise.
18876 2018-05-05  Bruno Haible  <bruno@clisp.org>
18878         af_alg: Add documentation.
18879         * lib/af_alg.h: Add comments.
18881 2018-05-05  Bruno Haible  <bruno@clisp.org>
18883         sha512: Add tests.
18884         * tests/test-sha512.c: New file.
18885         * modules/crypto/sha512-tests: New file.
18887 2018-05-05  Bruno Haible  <bruno@clisp.org>
18889         sha256: Add tests.
18890         * tests/test-sha256.c: New file.
18891         * modules/crypto/sha256-tests: New file.
18893 2018-05-05  Bruno Haible  <bruno@clisp.org>
18895         sha1 tests: Add test for sha1_stream.
18896         * tests/test-sha1.c: Include test-digest.h.
18897         (main): Invoke test_digest_on_files on 'sha1_stream'.
18898         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
18900 2018-05-05  Bruno Haible  <bruno@clisp.org>
18902         md5 tests: Add test for md5_stream.
18903         * tests/test-digest.h: New file.
18904         * tests/test-md5.c: Include test-digest.h.
18905         (main): Invoke test_digest_on_files on 'md5_stream'.
18906         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
18908 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18910         md5sum: Use AF_ALG when available.
18911         * lib/md5.c: Include af_alg.h.
18912         (md5_stream): Use afalg_stream when available.
18913         * modules/crypto/md5 (Files): Add the af_alg files.
18914         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18915         (Makefile.am): Add af_alg.c.
18917 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18919         sha512sum: Use AF_ALG when available.
18920         * lib/sha512.c: Include af_alg.h.
18921         (sha512_stream, sha384_stream): Use afalg_stream when available.
18922         * modules/crypto/sha512 (Files): Add the af_alg files.
18923         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18924         (Makefile.am): Add af_alg.c.
18926 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18928         sha256sum: Use AF_ALG when available.
18929         * lib/sha256.c: Include af_alg.h.
18930         (sha256_stream, sha224_stream): Use afalg_stream when available.
18931         * modules/crypto/sha256 (Files): Add the af_alg files.
18932         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18933         (Makefile.am): Add af_alg.c.
18935 2018-04-28  Matteo Croce  <mcroce@redhat.com>
18937         sha1sum: Use AF_ALG when available.
18938         * lib/af_alg.h: New file.
18939         * lib/af_alg.c: New file.
18940         * lib/sha1.c: Include af_alg.h.
18941         (sha1_stream): Use afalg_stream when available.
18942         * m4/linux-if-alg.m4: New file.
18943         * modules/crypto/sha1 (Files): Add the new files.
18944         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
18945         (Makefile.am): Add af_alg.c.
18947 2018-05-05  Bruno Haible  <bruno@clisp.org>
18949         all: Replace more http URLs by https URLs.
18950         * lib/localename.c: Use https: URL.
18951         * lib/timespec.h: Likewise.
18953 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
18955         maint: port more modules to GCC 8
18956         * lib/dirname.h (base_name):
18957         * lib/exclude.h (new_exclude):
18958         * lib/xstrndup.h (xstrndup):
18959         Add malloc attribute.
18960         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
18961         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
18962         This pacifies GCC 8.
18963         * m4/gnulib-common.m4 (gl_COMMON_BODY):
18964         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
18966 2018-05-03  Bruno Haible  <bruno@clisp.org>
18968         Simplify code. Drop support for Borland C++ on Windows.
18969         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
18970         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
18971         'defined _WIN32'.
18972         * lib/canonicalize-lgpl.c: Likewise.
18973         * lib/classpath.c: Likewise.
18974         * lib/clean-temp.c: Likewise.
18975         * lib/csharpexec.c: Likewise.
18976         * lib/ctime.c: Likewise.
18977         * lib/dosname.h: Likewise.
18978         * lib/dup2.c: Likewise.
18979         * lib/errno.in.h: Likewise.
18980         * lib/error.c: Likewise.
18981         * lib/euidaccess.c: Likewise.
18982         * lib/execute.c: Likewise.
18983         * lib/fcntl.in.h: Likewise.
18984         * lib/fcntl.c: Likewise.
18985         * lib/filename.h: Likewise.
18986         * lib/findprog.c: Likewise.
18987         * lib/flock.c: Likewise.
18988         * lib/fopen.c: Likewise.
18989         * lib/freopen.c: Likewise.
18990         * lib/fstat.c: Likewise.
18991         * lib/fsync.c: Likewise.
18992         * lib/gc-gnulib.c: Likewise.
18993         * lib/get-rusage-data.c: Likewise.
18994         * lib/getaddrinfo.c: Likewise.
18995         * lib/getdelim.c: Likewise.
18996         * lib/getdtablesize.c: Likewise.
18997         * lib/gethostname.c: Likewise.
18998         * lib/getlogin.c: Likewise.
18999         * lib/getlogin_r.c: Likewise.
19000         * lib/getopt.c: Likewise.
19001         * lib/getpagesize.c: Likewise.
19002         * lib/getpass.c: Likewise.
19003         * lib/getrusage.c: Likewise.
19004         * lib/gettimeofday.c: Likewise.
19005         * lib/glob.c: Likewise.
19006         * lib/inttypes.in.h: Likewise.
19007         * lib/isapipe.c: Likewise.
19008         * lib/javaexec.c: Likewise.
19009         * lib/link.c: Likewise.
19010         * lib/localcharset.c: Likewise.
19011         * lib/localename.h: Likewise.
19012         * lib/localename.c: Likewise.
19013         * lib/localtime.c: Likewise.
19014         * lib/lseek.c: Likewise.
19015         * lib/mbsinit.c: Likewise.
19016         * lib/mkdir.c: Likewise.
19017         * lib/msvc-nothrow.h: Likewise.
19018         * lib/nanosleep.c: Likewise.
19019         * lib/nl_langinfo.c: Likewise.
19020         * lib/nonblocking.c: Likewise.
19021         * lib/nproc.c: Likewise.
19022         * lib/open.c: Likewise.
19023         * lib/openpty.c: Likewise.
19024         * lib/pathmax.h: Likewise.
19025         * lib/pipe-filter-aux.c: Likewise.
19026         * lib/pipe-filter-gi.c: Likewise.
19027         * lib/pipe-filter-ii.c: Likewise.
19028         * lib/pipe.c: Likewise.
19029         * lib/pipe2.c: Likewise.
19030         * lib/poll.c: Likewise.
19031         * lib/popen.c: Likewise.
19032         * lib/posix_openpt.c: Likewise.
19033         * lib/printf-parse.c: Likewise.
19034         * lib/progreloc.c: Likewise.
19035         * lib/putenv.c: Likewise.
19036         * lib/read.c: Likewise.
19037         * lib/relocatable.c: Likewise.
19038         * lib/rename.c: Likewise.
19039         * lib/same-inode.h: Likewise.
19040         * lib/secure_getenv.c: Likewise.
19041         * lib/select.c: Likewise.
19042         * lib/sethostname.c: Likewise.
19043         * lib/setlocale.c: Likewise.
19044         * lib/sigaction.c: Likewise.
19045         * lib/sigprocmask.c: Likewise.
19046         * lib/sleep.c: Likewise.
19047         * lib/spawn-pipe.h: Likewise.
19048         * lib/spawn-pipe.c: Likewise.
19049         * lib/spawni.c: Likewise.
19050         * lib/stat-time.h: Likewise.
19051         * lib/stat-w32.c: Likewise.
19052         * lib/stat.c: Likewise.
19053         * lib/stdio.in.h: Likewise.
19054         * lib/stdio-impl.h: Likewise.
19055         * lib/stdio-read.c: Likewise.
19056         * lib/stdio-write.c: Likewise.
19057         * lib/stdlib.in.h: Likewise.
19058         * lib/strerror_r.c: Likewise.
19059         * lib/strftime-fixes.c: Likewise.
19060         * lib/sys_stat.in.h: Likewise.
19061         * lib/sys_types.in.h: Likewise.
19062         * lib/sys_wait.in.h : Likewise.
19063         * lib/system-quote.h: Likewise.
19064         * lib/system-quote.c: Likewise.
19065         * lib/tmpdir.c: Likewise.
19066         * lib/tzset.c: Likewise.
19067         * lib/uname.c: Likewise.
19068         * lib/unistd.in.h: Likewise.
19069         * lib/utime.in.h: Likewise.
19070         * lib/utime.c: Likewise.
19071         * lib/utimecmp.c: Likewise.
19072         * lib/utimens.c: Likewise.
19073         * lib/vasnprintf.c: Likewise.
19074         * lib/vma-iter.h: Likewise.
19075         * lib/vma-iter.c: Likewise.
19076         * lib/wait-process.c: Likewise.
19077         * lib/wcsftime.c: Likewise.
19078         * lib/wctype.in.h: Likewise.
19079         * lib/write.c: Likewise.
19080         * tests/nap.h: Likewise.
19081         * tests/test-cloexec.c: Likewise.
19082         * tests/test-dup-safer.c: Likewise.
19083         * tests/test-dup2.c: Likewise.
19084         * tests/test-dup3.c: Likewise.
19085         * tests/test-fcntl.c: Likewise.
19086         * tests/test-get-rusage-data.c: Likewise.
19087         * tests/test-getaddrinfo.c: Likewise.
19088         * tests/test-getlogin.h: Likewise.
19089         * tests/test-isatty.c: Likewise.
19090         * tests/test-localename.c: Likewise.
19091         * tests/test-mbrtowc-w32.c: Likewise.
19092         * tests/test-nonblocking.c: Likewise.
19093         * tests/test-nonblocking-pipe-main.c: Likewise.
19094         * tests/test-nonblocking-socket-main.c: Likewise.
19095         * tests/test-nonblocking-socket.h: Likewise.
19096         * tests/test-pipe.c: Likewise.
19097         * tests/test-pipe2.c: Likewise.
19098         * tests/test-poll.c: Likewise.
19099         * tests/test-pthread_sigmask1.c: Likewise.
19100         * tests/test-select.h: Likewise.
19101         * tests/test-sethostname2.c: Likewise.
19102         * tests/test-sigprocmask.c: Likewise.
19103         * tests/test-spawn-pipe-child.c: Likewise.
19104         * tests/test-stat-time.c: Likewise.
19105         * tests/test-system-quote-main.c: Likewise.
19106         * tests/test-utimens-common.h: Likewise.
19107         * tests/test-wcrtomb-w32.c: Likewise.
19108         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
19109         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19110         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
19111         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
19112         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
19113         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19114         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19115         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19116         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19117         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19118         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
19119         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
19120         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
19121         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19122         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
19123         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19125 2018-05-02  Bruno Haible  <bruno@clisp.org>
19127         localename: Fix test failures on mingw.
19128         * lib/localename.c (gl_locale_name_thread): Remove code specific to
19129         native Windows.
19130         (gl_locale_name_posix): Move code specific to native Windows here.
19131         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
19132         Accept result without charset suffix, as it appears on mingw.
19134 2018-04-28  Paul Smith  <psmith@gnu.org>
19136         bootstrap: Avoid gnulib operations if not needed
19137         * build-aux/bootstrap: Remove unused variable gnulib_mk.
19138         Set $gnulib_extra_files early so it can be overridden in .conf.
19139         Remove redundant --import flag from $gnulib_tool_options.
19140         Set $use_gnulib to false if no gnulib modules or files are needed.
19141         If $use_gnulib is false, don't do anything related to gnulib.
19142         A lot of this is just whitespace (indentation) changes.
19144 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19146         manywarnings: port to GCC 8.0
19147         * build-aux/gcc-warning.spec: Add -Wcatch-value,
19148         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
19149         fact that the GCC help message now mentions operands for
19150         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
19151         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
19152         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
19153         and -Wunused-const-variable.
19154         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
19155         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
19156         -Wmissing-attributes, -Wmultistatement-macros,
19157         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
19158         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
19160 2018-04-24  Bruno Haible  <bruno@clisp.org>
19162         sys_socket: Make SO_REUSEPORT available across platforms.
19163         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19164         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
19165         * doc/posix-headers/sys_socket.texi: Mention the issue.
19166         * tests/test-poll.c (SO_REUSEPORT): Remove.
19167         * tests/test-select.h: Include <sys/socket.h>.
19168         (SO_REUSEPORT): Remove.
19169         * modules/select-tests (Depends-on): Add 'sys_socket'.
19171 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
19173         localcharset: short-circuit the search for an alias on a Mac
19174         * lib/localcharset.c (get_charset_aliases): Add a tautological
19175         UTF-8 entry to speed up the search for this case.
19176         Most machines default to a UTF-8 locale nowadays, so begin the
19177         list of aliases with a dummy UTF-8 entry so it will be found
19178         immediately and a time-consuming search through the rest of
19179         the list is avoided.
19181 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19183         fts: add comment
19184         * lib/fts.c (fts_build): Explain why ==, not >.
19185         See remark by Bernhard Voelker in:
19186         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
19188         fts: fix bug in find across filesystems
19189         This fixes a bug I introduced last summer.
19190         Problem reported by Kamil Dudka in:
19191         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
19192         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
19193         (leaf_optimization):
19194         New arg for file descriptor.  All callers changed.
19195         (fts_build): Check for whether inodes should be sorted
19196         before closing the directory.
19198 2018-04-07  Bruno Haible  <bruno@clisp.org>
19200         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
19201         Reported by Genki Sky <sky@genki.is>.
19202         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
19203         version 0.9.10 or newer.
19204         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
19205         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
19206         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
19207         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
19208         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
19210 2018-04-07  Bruno Haible  <bruno@clisp.org>
19212         execute: Update comment.
19213         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
19215 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19217         fts: treat CIFS like NFS
19218         Problem reported by Kamil Dudka in:
19219         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
19220         * lib/fts.c (S_MAGIC_CIFS): New macro.
19221         (dirent_inode_sort_may_be_useful, leaf_optimization):
19222         Treat CIFS like NFS.
19224 2018-03-28  Bruno Haible  <bruno@clisp.org>
19226         c-stack: Fix possible build failure on some platforms.
19227         * lib/c-stack.c (die): Define whenever this function is referenced.
19229 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
19231         time_rz: fix workaround for Mac OS X 10.6 infloop
19232         Problems reported by Charles A. Roelli (Bug#27736#117).
19233         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
19234         Also, discard output, which clutters the 'configure' log.
19236 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
19238         havelib: port to Solaris 10 /bin/sh
19239         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
19240         instead of '! test EXPR'.
19242 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19244         time_rz: work around Mac OS X 10.6 infloop
19245         * doc/posix-functions/localtime.texi:
19246         * doc/posix-functions/localtime_r.texi: Mention the bug.
19247         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
19248         better to fix localtime and localtime_r instead, but that would be
19249         more work and is not needed to fix the Emacs problem.
19250         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
19252 2018-03-24  Jim Meyering  <meyering@fb.com>
19254         test-version-etc.sh: don't use diff directly: use init.sh's compare
19255         We'd rather not sacrifice readable "diff -u" output even for
19256         "diff -c" output (not supported by busybox) or for even less
19257         readable ed-style "diff" output.  So use init.sh's compare function
19258         * tests/test-version-etc.sh: Source init.sh and add "." to path.
19259         Remove "./" from invocation of test-version-etc, so we use path.
19260         And s/diff/compare/.
19261         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
19262         to get init.sh.
19263         Prompted by Eric Blake's comments in
19264         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
19266 2018-03-24  Bruno Haible  <bruno@clisp.org>
19268         javacomp-script, javacomp: Add support for Java 10.
19269         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
19270         target-version 10.
19271         * lib/javaversion.h: Update comments.
19272         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19273         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19274         TARGET_VERSION_BOUND, target_version_index,
19275         corresponding_classfile_version): Accept source_version 10 and
19276         target_version 10.
19277         * lib/javacomp.h: Update comments accordingly.
19279 2018-03-24  Bruno Haible  <bruno@clisp.org>
19281         javacomp-script, javacomp: Update comments.
19282         * m4/javacomp.m4: Update comments regarding gcj.
19283         * lib/javacomp.h: Likewise.
19285 2018-03-24  Bruno Haible  <bruno@clisp.org>
19287         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
19288         * lib/javaversion.h: Update comments.
19289         * lib/javacomp.h: Likewise.
19290         * lib/javacomp.c (default_target_version, source_version_index,
19291         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
19292         "1.9".
19293         (TARGET_VERSION_BOUND): Bump to 9.
19294         (target_version_index, corresponding_classfile_version): Recognize "9"
19295         instead of "1.9".
19296         (get_source_version_for_javac): New function.
19297         (is_envjavac_nongcj_usable, is_javac_usable): Add
19298         source_version_for_javac argument.
19299         (compile_java_class): Determine and pass source_version_for_javac.
19300         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
19301         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
19302         appropriate.
19304 2018-03-23  Jim Meyering  <meyering@fb.com>
19306         test-version-etc.sh: port to diff without -c
19307         * tests/test-version-etc.sh: Don't use diff's -c option.
19308         This caused spurious test failure on Alpine Linux, which
19309         uses busybox's diff. Reported by Assaf Gordon in
19310         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
19312 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19314         c-stack: port to recent GCC build
19315         Problem reported by The Fireplace (Bug#30913).
19316         * lib/c-stack.c (die): Define only if used.
19318 2018-03-20  Bruno Haible  <bruno@clisp.org>
19320         euidaccess: Port to native Windows.
19321         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
19322         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
19324 2018-03-19  Bruno Haible  <bruno@clisp.org>
19326         javacomp: Add support for Java 7, 8, 9.
19327         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19328         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19329         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
19330         and target_version 1,7, 1.8, 1.9.
19331         * lib/javacomp.h: Update comments accordingly.
19333 2018-03-19  Bruno Haible  <bruno@clisp.org>
19335         javacomp-script: Add support for Java 9.
19336         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
19337         target-version 1.9.
19339 2018-03-16  Bruno Haible  <bruno@clisp.org>
19341         glob: Don't compile replacements on recent glibc systems.
19342         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
19343         REPLACE_GLOB is 0, include the system's <glob.h> and use
19344         _GL_CXXALIAS_SYS.
19345         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
19346         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
19347         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
19348         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
19349         Remove snippet/warn-on-use.
19350         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
19351         (Makefile.am): Create glob.h always. Update list of substitutions in
19352         glob.h. Don't depend on $(WARN_ON_USE_H).
19354 2018-03-16  Bruno Haible  <bruno@clisp.org>
19356         glob: Fix link error on native Windows.
19357         * modules/glob (Depends-on): Add 'lstat'.
19359 2018-03-15  Bruno Haible  <bruno@clisp.org>
19361         glob: Fix compilation error in C++ mode.
19362         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
19364 2018-03-15  Bruno Haible  <bruno@clisp.org>
19366         host-cpu-c-abi: Support for RISC-V CPU.
19367         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
19368         riscv32 and riscv64 ABIs.
19369         References:
19370         https://github.com/riscv/riscv-toolchain-conventions
19371         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
19372         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
19374 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19376         fflush: be more paranoid about libio.h change
19377         Suggested by Eli Zaretskii in:
19378         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
19379         * lib/fbufmode.c (fbufmode):
19380         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19381         (disable_seek_optimization, rpl_fflush):
19382         * lib/fpending.c (__fpending):
19383         * lib/fpurge.c (fpurge):
19384         * lib/freadable.c (freadable):
19385         * lib/freadahead.c (freadahead):
19386         * lib/freading.c (freading):
19387         * lib/freadptr.c (freadptr):
19388         * lib/freadseek.c (freadptrinc):
19389         * lib/fseeko.c (fseeko):
19390         * lib/fseterr.c (fseterr):
19391         * lib/fwritable.c (fwritable):
19392         * lib/fwriting.c (fwriting):
19393         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
19395 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19397         maint: write-file-hooks -> before-save-hook
19398         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
19399         it's time to use the recommended replacement.
19400         Problem reported by Glenn Morris in:
19401         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
19402         * build-aux/announce-gen, build-aux/bootstrap:
19403         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
19404         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
19405         * build-aux/gnu-web-doc-update, build-aux/gnupload:
19406         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
19407         * build-aux/update-copyright, build-aux/useless-if-before-free:
19408         * build-aux/vc-list-files:
19409         Update hook usage for files where Gnulib is the canonical source.
19411 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19413         binary-io: pacify gcc -Wunused-parameter
19414         Problem reported by Reuben Thomas in:
19415         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
19416         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
19417         Use _GL_UNUSED where appropriate.
19419         fflush: adjust to glibc 2.28 libio.h removal
19420         Problem reported by Daniel P. Berrangé in:
19421         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
19422         * lib/fbufmode.c (fbufmode):
19423         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19424         (disable_seek_optimization, rpl_fflush):
19425         * lib/fpending.c (__fpending):
19426         * lib/fpurge.c (fpurge):
19427         * lib/freadable.c (freadable):
19428         * lib/freadahead.c (freadahead):
19429         * lib/freading.c (freading):
19430         * lib/freadptr.c (freadptr):
19431         * lib/freadseek.c (freadptrinc):
19432         * lib/fseeko.c (fseeko):
19433         * lib/fseterr.c (fseterr):
19434         * lib/fwritable.c (fwritable):
19435         * lib/fwriting.c (fwriting):
19436         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
19437         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
19438         Define if not already defined.
19440 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
19442         environ: fix link error on 32-bit Cygwin
19443         Problem reported for GNU Emacs by Ken Brown in:
19444         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
19445         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
19447 2018-02-24  Bruno Haible  <bruno@clisp.org>
19449         mbrtowc tests: Fix regression on glibc.
19450         Reported by Bernhard Voelker.
19451         * tests/test-mbrtowc.c (main): Fix expected value of wc.
19453 2018-02-24  Bruno Haible  <bruno@clisp.org>
19455         striconveha, uniconv/*: Avoid test failures on musl libc.
19456         * tests/iconvsupport.c: New file.
19457         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
19458         does not support the ISO-2022-JP-2 encoding.
19459         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
19460         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
19461         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
19462         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
19463         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
19464         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
19465         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
19466         (Makefile.am): Link test-striconveha with iconvsupport.o.
19467         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
19468         tests/iconvsupport.c.
19469         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
19470         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
19471         tests/iconvsupport.c.
19472         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
19473         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
19474         tests/iconvsupport.c.
19475         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
19476         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
19477         tests/iconvsupport.c.
19478         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
19479         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
19480         tests/iconvsupport.c.
19481         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
19482         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
19483         tests/iconvsupport.c.
19484         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
19486 2018-02-24  Bruno Haible  <bruno@clisp.org>
19488         localename: Add support for musl libc.
19489         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
19490         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
19491         on Linux platforms which define NL_LOCALE_NAME.
19493 2018-02-24  Bruno Haible  <bruno@clisp.org>
19495         mbrtowc tests: Don't make assumptions about the charset the C locale.
19496         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
19497         particular mapping in the C locale.
19499 2018-02-24  Bruno Haible  <bruno@clisp.org>
19501         ptsname_r: Don't expect that this function sets errno.
19502         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
19503         from ptsname_r().
19504         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
19506 2018-02-23  Bruno Haible  <bruno@clisp.org>
19508         xmalloca: pacify gcc -Wbad-function-cast
19509         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
19511 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
19513         nl_langinfo: pacify gcc -Wunused-function
19514         * lib/nl_langinfo.c (ctype_codeset): Do not define if
19515         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
19516         this case.  Without this change, I got a diagnostic when building
19517         coreutils on Fedora 27 with gcc 7.3.1 20180130.
19519         same: pacify gcc -Wunused-variable
19520         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
19521         Omit unused variable.
19523         malloca: pacify gcc -Wbad-function-cast
19524         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
19525         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
19526         To pacify GCC, I had to cast alloca’s result to some type other
19527         than void * before casting that to uintptr_t.
19529 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19531         utimecmp: new function utimecmpat
19532         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
19533         Do not include utimens.h.
19534         (utimecmpat): New function, generalizing utimecmp.
19535         (utimecmp): Now a thin layer around utimecmpat.
19536         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
19537         utimensat instead of on lstat and utimens.
19539         same: new function same_nameat
19540         * lib/same.c: Include fcntl.h.
19541         * lib/same.c (same_nameat): New function, generalizing same_name.
19542         (same_name): Now a thin layer around same_nameat.
19543         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
19544         * modules/same (Depends-on): Depend on fstatat, openat.
19546 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
19548         warnings: Add support for Objective C.
19549         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
19550         macro.
19552 2018-02-17  Bruno Haible  <bruno@clisp.org>
19554         lock: Fix test-once1 crash on FreeBSD11.
19555         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
19556         'pthread_create', not 'pthread_cancel'.
19558 2018-02-17  Bruno Haible  <bruno@clisp.org>
19560         lock: Add test of gl_once.
19561         * tests/test-once.c: New file.
19562         * modules/lock-tests (Files): Add it.
19563         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
19565 2018-02-17  Bruno Haible  <bruno@clisp.org>
19567         thread: Fix compilation error on IRIX.
19568         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
19569         needed; include it outside the C++ extern "C" {} block.
19570         * doc/posix-headers/pthread.texi: Mention the problem with
19571         pthread_atfork on IRIX.
19573 2018-02-04  Bruno Haible  <bruno@clisp.org>
19575         nl_langinfo: Override the system's nl_langinfo() when needed.
19576         Reported by Jim Meyering.
19577         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
19578         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
19580 2018-02-04  Bruno Haible  <bruno@clisp.org>
19582         signal-h, monetary, strings: Fix build failure in some cases.
19583         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19584         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
19585         as delimiter in sed command, not '|'.
19586         * modules/monetary (Makefile.am): Likewise.
19587         * modules/strings (Makefile.am): Likewise.
19589 2018-02-03  Jim Meyering  <meyering@fb.com>
19591         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
19592         * top/maint.mk (sc_file_system): Don't complain about
19593         "/proc/filesystems".
19595 2018-02-03  Bruno Haible  <bruno@clisp.org>
19597         stdlib: Fix compilation error on OpenIndiana.
19598         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
19599         <sys/time.h>.
19600         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
19601         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
19603 2018-02-03  Bruno Haible  <bruno@clisp.org>
19605         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
19606         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
19607         and use $EGREP instead of 'grep -E'.
19608         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
19609         'grep -E'.
19611 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
19613         malloca: Add a compile-time verification.
19614         * lib/malloca.c (small_t): Verify that it is wide enough.
19615         * modules/malloca (Depends-on): Add verify.
19617 2018-02-02  Bruno Haible  <bruno@clisp.org>
19619         malloca: Add an argument check.
19620         Suggested by Paul Eggert.
19621         * lib/malloca.c (freea): Check against an invalid argument.
19623 2018-02-02  Bruno Haible  <bruno@clisp.org>
19625         localename: Add support for OpenIndiana.
19626         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
19627         Solaris 11 variants with uselocale() but without getlocalename_l().
19629 2018-02-02  Bruno Haible  <bruno@clisp.org>
19631         malloca, xmalloca: Make multithread-safe.
19632         Reported by Florian Weimer <fweimer@redhat.com>.
19633         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
19634         * lib/malloca.h (malloca): In the stack allocation case, return a
19635         pointer that is a multiple of 2 * sa_alignment_max.
19636         (sa_increment): Remove enum item.
19637         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
19638         a pointer that is a multiple of 2 * sa_alignment_max.
19639         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
19640         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
19641         HASH_TABLE_SIZE, mmalloca_results): Remove.
19642         (small_t): New type.
19643         (mmalloca, free): Rewritten.
19644         * lib/malloca.valgrind: Remove file.
19645         * modules/malloca (Files): Remove it.
19646         (Depends-on): Remove verify.
19648 2018-01-31  Bruno Haible  <bruno@clisp.org>
19650         environ: Fix link error on 64-bit Cygwin.
19651         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
19652         __declspec(dllimport) attribute.
19653         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
19655 2018-01-30  Bruno Haible  <bruno@clisp.org>
19657         get-rusage-data: Add support for Minix 3.
19658         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
19660 2018-01-30  Bruno Haible  <bruno@clisp.org>
19662         vma-iter: Add support for Minix 3.
19663         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
19664         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
19666 2018-01-27  Bruno Haible  <bruno@clisp.org>
19668         Fix malfunction of socket functions on HP-UX in 64-bit mode.
19669         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
19670         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
19671         _HPUX_ALT_XOPEN_SOCKET_API.
19672         * modules/accept (Depends-on): Add 'extensions'.
19673         * modules/getpeername (Depends-on): Likewise.
19674         * modules/getsockname (Depends-on): Likewise.
19675         * modules/getsockopt (Depends-on): Likewise.
19676         * modules/recvfrom (Depends-on): Likewise.
19677         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
19678         * doc/posix-functions/getpeername.texi: Likewise.
19679         * doc/posix-functions/getsockname.texi: Likewise.
19680         * doc/posix-functions/getsockopt.texi: Likewise.
19681         * doc/posix-functions/recvfrom.texi: Likewise.
19683 2018-01-27  Bruno Haible  <bruno@clisp.org>
19685         getsockname tests: More tests.
19686         * tests/test-getsockname.c (open_server_socket): New function, mostly
19687         copied from test-poll.c.
19688         (main): Check that getsockname fills in addr.
19689         * modules/getsockname-tests (Depends-on): Add the necessary
19690         dependencies.
19691         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
19693 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
19695         manywarnings: fix maintainer comment
19696         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
19697         it does not mistakenly think that ‘-1)’ is an option.
19699 2018-01-26  Bruno Haible  <bruno@clisp.org>
19701         langinfo: Fix last commit.
19702         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19703         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
19705 2018-01-24  Bruno Haible  <bruno@clisp.org>
19707         langinfo, nl_langinfo: Add support for alternative month names.
19708         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
19709         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
19710         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
19711         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
19712         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
19713         * doc/posix-functions/nl_langinfo.texi: Likewise.
19715 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19717         Merge strftime.c changes from glibc
19718         This incorporates:
19719         2017-11-14 [BZ #10871] Implement alternative month names
19720         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
19721         2017-06-20 Use locale_t, not __locale_t, throughout glibc
19722         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
19723         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
19724         Use locale_t, not __locale_t.
19725         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
19726         (__strftime_internal): Add support for alternate months.
19728 2018-01-23  Bruno Haible  <bruno@clisp.org>
19730         doc: Mention another prerequisite for using Gnulib.
19731         Reported at <https://stackoverflow.com/questions/48378214/>.
19732         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
19733         AC_CONFIG_HEADERS.
19735 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
19737         build: GuixSD doesn't have /bin/bash
19738         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
19740 2018-01-21  Bruno Haible  <bruno@clisp.org>
19742         Avoid test failures on Microsoft Windows Subsystem for Linux.
19743         * tests/test-fcntl.c (main): Allow a different errno.
19744         * tests/test-rename.h (test_rename): Likewise.
19745         * tests/test-renameat.c (main): Likewise.
19746         * tests/test-renameat2.c (main): Likewise.
19748 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
19750         filenamecat: make base a suffix of result
19751         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
19752         (mfile_name_concat): Always make BASE a suffix of the result, as
19753         cp expects this.  To implement this, separate with '.' instead of
19754         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
19755         * tests/test-filenamecat.c (main): Adjust tests to match
19756         current behavior.  Check that BASE_IN_RESULT points to
19757         a copy of BASE and is a suffix of the resultk, and that DIR
19758         is a prefix of the result that is no longer than the prefix
19759         indicated by BASE_IN_RESULT.
19761 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
19763         update-copyright: Handle use of ©
19764         * build-aux/update-copyright ($circle_c_re): Update regex to
19765         handle use of © in headers.
19767 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
19769         Fix -Wundef warning in user-included header lib/cdefs.h.
19770         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
19772 2018-01-04  Bruno Haible  <bruno@clisp.org>
19774         pthread_sigmask: Avoid compilation error on mingw.
19775         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19776         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
19777         macro.
19779 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19781         test-framework-sh: ‘ps -ef’, not ‘ps ef’
19782         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
19783         Suggested by Bob Proulx (Bug#29968).
19784         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
19786 2018-01-02  Eric Blake  <eblake@redhat.com>
19788         stat-time: silence -Wunused-parameter regression
19789         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
19790         Prefer attribute over cast-to-void.
19791         (stat_time_normalize): Mark st as potentially unused.
19793 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
19795         test-framework-sh: avoid netstat
19796         Problem reported by Kristýna Streitová (Bug#29947).
19797         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
19798         deprecated on SuSE and it's not that important anyway.
19800 2018-01-01  Jim Meyering  <meyering@fb.com>
19802         update-copyright: add code to handle more special cases
19803         After running "make update-copyright" this year, five files
19804         required additional manual changes.  Automate those adjustments
19805         for next year.
19806         * Makefile (_year_and_prev): Define.
19807         (update-copyright): Add perl commands to induce this year's post-
19808         update-copyright adjustments.
19810 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19812         version-etc: new year
19813         * build-aux/gendocs.sh (version):
19814         * doc/gendocs_template:
19815         * doc/gendocs_template_min:
19816         * doc/gnulib.texi:
19817         * lib/version-etc.c (COPYRIGHT_YEAR):
19818         Update copyright dates by hand in templates and the like.
19820         maint: fix 'make update-copyright'
19821         * Makefile (update-copyright): Adjust to 2016-11-23 change
19822         to config/srclist-update, which changed the format of srclist.txt.
19824 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19826         chdir-safer: remove this module
19827         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
19828         * NEWS: Document removal.
19829         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
19830         * modules/chdir-safer: Remove these files.
19832 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
19834         Add cross-compilation results for GNU/Hurd.
19835         * m4/calloc.m4: Add GNU/Hurd guess.
19836         * m4/cbrtl.m4: Likewise.
19837         * m4/ceil.m4: Likewise.
19838         * m4/ceilf.m4: Likewise.
19839         * m4/ceill.m4: Likewise.
19840         * m4/chown.m4: Likewise.
19841         * m4/duplocale.m4: Likewise.
19842         * m4/exp2l.m4: Likewise.
19843         * m4/expm1.m4: Likewise.
19844         * m4/fchdir.m4: Likewise.
19845         * m4/floor.m4: Likewise.
19846         * m4/floorf.m4: Likewise.
19847         * m4/fmod.m4: Likewise.
19848         * m4/fmodf.m4: Likewise.
19849         * m4/fmodl.m4: Likewise.
19850         * m4/getcwd.m4: Likewise.
19851         * m4/getgroups.m4: Likewise.
19852         * m4/gettimeofday.m4: Likewise.
19853         * m4/hypot.m4: Likewise.
19854         * m4/hypotf.m4: Likewise.
19855         * m4/hypotl.m4: Likewise.
19856         * m4/link-follow.m4: Likewise.
19857         * m4/link.m4: Likewise.
19858         * m4/linkat.m4: Likewise.
19859         * m4/log.m4: Likewise.
19860         * m4/log10.m4: Likewise.
19861         * m4/log10f.m4: Likewise.
19862         * m4/log1p.m4: Likewise.
19863         * m4/log1pf.m4: Likewise.
19864         * m4/log1pl.m4: Likewise.
19865         * m4/log2.m4: Likewise.
19866         * m4/log2f.m4: Likewise.
19867         * m4/logf.m4: Likewise.
19868         * m4/lstat.m4: Likewise.
19869         * m4/malloc.m4: Likewise.
19870         * m4/mbrlen.m4: Likewise.
19871         * m4/mbrtowc.m4: Likewise.
19872         * m4/mkdir.m4: Likewise.
19873         * m4/mkfifo.m4: Likewise.
19874         * m4/mknod.m4: Likewise.
19875         * m4/mkstemp.m4: Likewise.
19876         * m4/modf.m4: Likewise.
19877         * m4/modff.m4: Likewise.
19878         * m4/modfl.m4: Likewise.
19879         * m4/printf.m4: Likewise.
19880         * m4/pselect.m4: Likewise.
19881         * m4/ptsname.m4: Likewise.
19882         * m4/putenv.m4: Likewise.
19883         * m4/readlink.m4: Likewise.
19884         * m4/realloc.m4: Likewise.
19885         * m4/remainder.m4: Likewise.
19886         * m4/remainderf.m4: Likewise.
19887         * m4/remainderl.m4: Likewise.
19888         * m4/rmdir.m4: Likewise.
19889         * m4/round.m4: Likewise.
19890         * m4/roundf.m4: Likewise.
19891         * m4/roundl.m4: Likewise.
19892         * m4/select.m4: Likewise.
19893         * m4/setenv.m4: Likewise.
19894         * m4/signbit.m4: Likewise.
19895         * m4/sleep.m4: Likewise.
19896         * m4/stat.m4: Likewise.
19897         * m4/strerror.m4: Likewise.
19898         * m4/strtok_r.m4: Likewise.
19899         * m4/symlink.m4: Likewise.
19900         * m4/symlinkat.m4: Likewise.
19901         * m4/trunc.m4: Likewise.
19902         * m4/truncf.m4: Likewise.
19903         * m4/truncl.m4: Likewise.
19904         * m4/tzset.m4: Likewise.
19905         * m4/ungetc.m4: Likewise.
19906         * m4/usleep.m4: Likewise.
19907         * m4/wcwidth.m4: Likewise.
19909 2017-12-28  Bruno Haible  <bruno@clisp.org>
19911         gnulib-tool: Make --conditional-dependencies work better.
19912         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
19913         * gnulib-tool (Options): Don't reject the combination of
19914         --conditional-dependencies with --with-tests.
19915         (func_emit_autoconf_snippets): Add argument referenceable_modules.
19916         Don't reference $modules.
19917         (func_import, func_create_testdir): Pass it.
19919 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19921         regex: use re_malloc etc. consistently
19922         Problem and original patch reported by Arnold Robbins in:
19923         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
19924         * lib/regcomp.c (re_comp):
19925         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
19926         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
19928 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
19929             Paul Eggert  <eggert@cs.ucla.edu>
19931         glob: Silence warning about void pointer arithmetic.
19932         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
19933         arithmetic.
19935 2017-12-15  Bruno Haible  <bruno@clisp.org>
19937         spawn-pipe: Silence a clang warning.
19938         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
19939         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
19940         in this file.
19942 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
19944         explicit_bzero: port to macOS + Clang 9.0.0
19945         Problem reported by Marcus Johnson (Bug#29658).
19946         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
19947         Don’t use asm.
19949 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
19951         doc: Improve explanation of supporting relocatable libraries.
19952         * doc/relocatable-maint.texi (Supporting Relocation): Explain
19953         properly how to build the relocatable module for
19954         libraries. (Method and example code from Bruno Haible.)
19956 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
19958         doc: Use better texinfo tags in a few cases.
19959         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
19960         instead of @samp in a few places.
19962 2017-12-11  Bruno Haible  <bruno@clisp.org>
19964         unistr/base: Update comment.
19965         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
19967 2017-12-10  Pádraig Brady  <P@draigBrady.com>
19969         test-faccessat.c: unlink temp file to avoid subsequent test failure
19970         * tests/test-faccessat.c: Remove the file to avoid failure
19971         to open the file on subsequent runs due to being created
19972         with no permissions.
19974 2017-12-10  Bruno Haible  <bruno@clisp.org>
19976         doc: New sect. "Modifying the build rules of a Gnulib import directory".
19977         * doc/gnulib-tool.texi (Modified build rules): New node.
19979 2017-12-10  Bruno Haible  <bruno@clisp.org>
19981         doc: Tweak wording.
19982         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
19983         "binaries".
19985 2017-12-05  Sam Steingold  <sds@gnu.org>
19986             Bruno Haible  <bruno@clisp.org>
19988         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
19989         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
19990         AC_EGREP_CPP pattern.
19992 2017-12-03  Bruno Haible  <bruno@clisp.org>
19994         all: Replace more http URLs by https URLs.
19995         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
19996         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
19997         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
19998         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
20000 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20002         Port better to CentOS 5
20003         Problems reported by Tom G. Christensen in:
20004         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
20005         * doc/glibc-functions/strverscmp.texi (strverscmp):
20006         Document strverscmp bug with glibc 2.9 and earlier.
20007         * doc/posix-functions/tzset.texi (tzset):
20008         Document that TZ with angle brackets is POSIX-2001 and later.
20009         * tests/test-nstrftime.c: Include unistd.h.
20010         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
20011         (TZ): Use it to skip tests with angle brackets in TZ,
20012         for older systems.
20014         stat: add missing module dependencies
20015         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
20016         Add stat-time.
20018 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
20020         stat: fix compilation failure on macOS Sierra
20021         Reported by Marius Schamschula <mschamschula@gmail.com> in:
20022         https://savannah.gnu.org/bugs/?52546
20023         * lib/stat.c: Add missing include of stat-time.h.
20025 2017-11-28  Jim Meyering  <meyering@fb.com>
20027         test-faccessat.c: correct BASE definition to avoid parallel test failure
20028         * tests/test-faccessat.c (BASE): Define using this file's name, not
20029         that of test-lstat.c.  Using the latter caused this test to fail
20030         sometimes when run concurrently with test-lstat.
20032 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20034         unicase: fix VPATH build
20035         * modules/unicase/special-casing (Makefile.am): Ensure that the
20036         base directory is created when generating
20037         unicase/special-casing.h.
20039 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20041         libunistring: update to Unicode 9.0.0
20042         * lib/gen-uni-tables.c (fill_properties): Recognize
20043         Sentence_Terminal and Prepended_Concatenation_Mark.
20044         (is_property_default_ignorable_code_point): Exclude U+08E2.
20045         (fill_arabicshaping): Allow missing whitespace when parsing;
20046         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
20047         (output_blocks): Increase the element size of the level1 table to
20048         accommodate more blocks.
20049         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
20050         Update each class according to the standard.
20051         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
20052         E_Base_GAZ characters.
20053         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
20054         Glue_After_Zwj, and E_Base_GAZ characters.
20055         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
20056         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
20057         enum value.
20058         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
20059         value.
20060         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
20061         LBP_ZWJ, LBP_EB, and LBP_EM.
20062         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
20063         enum value.
20064         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
20065         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
20066         declaration.
20067         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
20068         (uniwbrk_table): Implement WB14.
20069         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
20070         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
20071         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
20072         uc-is-grapheme-break.
20073         * modules/unigbrk/uc-grapheme-breaks: New module.
20074         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
20075         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
20076         enum value.
20077         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
20078         * lib/unigbrk/u-grapheme-breaks.h: New file.
20079         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
20080         u-grapheme-breaks.h instead of uc_is_grapheme_break.
20081         * lib/unigbrk/uc-grapheme-breaks.c: New file.
20082         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
20083         29.
20084         * tests/unigbrk/test-uc-gbrk-prop.c
20085         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20086         GBP_GAZ, and GBP_EBG.
20087         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
20088         * tests/unigbrk/test-uc-is-grapheme-break.c
20089         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20090         GBP_GAZ, and GBP_EBG.
20091         (main): Skip unsupported rules involving 3 or more characters,
20092         namely GB10, GB12, and GB13.
20093         * lib/uniwidth/width.c (nonspacing_table_data): Update.
20094         * all generated files under lib/uni* and tests/uni*: Regenerate.
20095         * all the affected modules: Bump version.
20097 2017-11-26  Bruno Haible  <bruno@clisp.org>
20099         strfmon_l: Fix compilation error with glibc 2.5.
20100         Reported by Tom G. Christensen <tgc@jupiterrise.com>
20101         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
20102         * lib/monetary.in.h: Include also <locale.h>.
20104 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20106         posixtm: remove PDS_LEADING_YEAR
20107         This changes the API slightly, in a hopefully-innocuous way.
20108         Without this change the code had undefined behavior when a
20109         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
20110         Problem reported by Pádraig Brady in:
20111         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
20112         * NEWS: Mention this.
20113         * lib/posixtm.c (posix_time_parse): Treat the absence of
20114         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
20115         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
20116         present, but define it as zero, for compatibility with existing
20117         source code).  All other PDS_* values moved up.
20118         * tests/test-posixtm.c (LY): New macro.
20119         (T): Use it.  Do not expect a particular numeric encoding
20120         for PDS_CENTURY etc.
20122 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20124         stat: work around Solaris bug with tv_nsec < 0
20125         * doc/posix-functions/fstat.texi (fstat):
20126         * doc/posix-functions/fstatat.texi (fstatat):
20127         * doc/posix-functions/lstat.texi (lstat):
20128         * doc/posix-functions/stat.texi (stat):
20129         Mention Solaris 11 bug.
20130         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
20131         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
20132         * lib/lstat.c (rpl_lstat):
20133         * lib/stat.c (rpl_stat):
20134         Normalize resulting timestamps.
20135         * lib/fstatat.c (normal_fstatat): New function.
20136         (rpl_fstatat): Use it.
20137         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
20138         (stat_time_normalize): New function.
20139         * m4/fstat.m4 (gl_FUNC_FSTAT):
20140         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
20141         * m4/lstat.m4 (gl_FUNC_LSTAT):
20142         * m4/stat.m4 (gl_FUNC_STAT):
20143         Replace on Solaris.
20144         * modules/fstat (Depends-on):
20145         * modules/fstatat (Depends-on):
20146         Add stat-time.
20147         * modules/stat-time (Depends-on): Add errno, intprops.
20149 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20151         regex: merge from glibc
20152         * lib/regcomp.c (init_word_char): Add comments.
20154 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20156         regex: merge from glibc
20157         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
20158         * lib/regex_internal.h (internal_function): Remove.
20159         All uses removed.
20161 2017-11-20  Bruno Haible  <bruno@clisp.org>
20163         crypto/gc-sm3: Fix buffer overrun.
20164         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
20165         Reported by Coverity.
20167 2017-11-12  Jim Meyering  <meyering@fb.com>
20169         maint: shorten https://lists.gnu.org/archive/html/... links
20170         Each /archive/html/ part can be replace with /r/.
20171         Run this to induce the change:
20172         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
20173         * ChangeLog: Perform that substitution.
20174         * Makefile: Likewise.
20175         * STATUS-libposix: Likewise.
20176         * build-aux/bootstrap: Likewise.
20177         * doc/maintain.texi: Likewise.
20178         * gnulib-tool: Likewise.
20179         * lib/allocator.h: Likewise.
20180         * lib/argp-ba.c: Likewise.
20181         * lib/argp-pv.c: Likewise.
20182         * lib/canon-host.c: Likewise.
20183         * lib/canonicalize-lgpl.c: Likewise.
20184         * lib/float.in.h: Likewise.
20185         * lib/fstat.c: Likewise.
20186         * lib/getdelim.c: Likewise.
20187         * lib/getprogname.c: Likewise.
20188         * lib/glthread/thread.h: Likewise.
20189         * lib/intprops.h: Likewise.
20190         * lib/mbsrtowcs-state.c: Likewise.
20191         * lib/safe-read.c: Likewise.
20192         * lib/signal.in.h: Likewise.
20193         * lib/stat.c: Likewise.
20194         * lib/stdbool.in.h: Likewise.
20195         * lib/stdio-impl.h: Likewise.
20196         * lib/stdio.in.h: Likewise.
20197         * lib/sysexits.in.h: Likewise.
20198         * lib/timespec.h: Likewise.
20199         * lib/wcsrtombs-state.c: Likewise.
20200         * m4/alloca.m4: Likewise.
20201         * m4/extern-inline.m4: Likewise.
20202         * m4/fstatat.m4: Likewise.
20203         * m4/gnulib-common.m4: Likewise.
20204         * m4/lib-ignore.m4: Likewise.
20205         * m4/printf.m4: Likewise.
20206         * m4/regex.m4: Likewise.
20207         * m4/stat-size.m4: Likewise.
20208         * m4/std-gnu11.m4: Likewise.
20209         * m4/stdbool.m4: Likewise.
20210         * m4/sys_types_h.m4: Likewise.
20211         * m4/threadlib.m4: Likewise.
20212         * m4/vararrays.m4: Likewise.
20213         * pygnulib/GLImport.py: Likewise.
20214         * tests/test-exp.h: Likewise.
20215         * tests/test-exp2.h: Likewise.
20216         * tests/test-expm1.h: Likewise.
20217         * tests/test-fflush2.c: Likewise.
20218         * tests/test-getopt_long.h: Likewise.
20219         * tests/test-intprops.c: Likewise.
20220         * tests/test-log.h: Likewise.
20221         * tests/test-log10.h: Likewise.
20222         * tests/test-log1p.h: Likewise.
20223         * tests/test-log2.h: Likewise.
20224         * tests/test-printf-posix.h: Likewise.
20225         * tests/test-regex.c: Likewise.
20226         * tests/test-snprintf-posix.h: Likewise.
20227         * tests/test-sprintf-posix.h: Likewise.
20228         * tests/test-stdalign.c: Likewise.
20229         * tests/test-stdbool.c: Likewise.
20230         * tests/test-vasnprintf-posix.c: Likewise.
20231         * tests/test-vasprintf-posix.c: Likewise.
20232         * top/maint.mk: Likewise.
20234 2017-11-12  Bruno Haible  <bruno@clisp.org>
20236         faccessat: Make the last change more robust.
20237         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
20238         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
20240 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20242         faccessat: port to macOS (Bug#29231)
20243         macOS faccessat has the same bug that lstat does: if the file
20244         name ends in '/' it ignores the trailing slash.
20245         Problem reported for Emacs by Vincent Zhang.
20246         * doc/posix-functions/faccessat.texi (faccessat): Document this.
20247         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
20248         around the initial includes.  Include errno.h, string.h, sys/stat.h.
20249         (orig_faccessat) [HAVE_FACCESSAT]: New function.
20250         Include "unistd.h" after defining it.
20251         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
20252         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
20253         Handle in the usual way.
20254         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
20255         lstat dereferences symlinks, since faccessat is likely to
20256         have the same problem.
20257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
20258         * modules/faccessat (Depends-on): Add fstatat.
20259         Depend if REPLACE_FACCESSAT is 1, too.
20260         (configure.ac): Link if REPLACE_FACCESSAT is 1.
20261         * modules/faccessat-tests (Depends-on): Add symlink.
20262         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
20263         * tests/test-faccessat.c (main): Test for the bug.
20265 2017-11-11  Bruno Haible  <bruno@clisp.org>
20267         getprogname: Fix compilation error on IRIX.
20268         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
20269         'namesize'.
20271 2017-11-11  Bruno Haible  <bruno@clisp.org>
20273         year2038: Tweak last patch.
20274         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
20276 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
20278         year2038: be more insistent about 64-bit time_t
20279         Applications requiring access to arbitrary files should not be
20280         built with 32-bit time_t on hosts that have 64-bit timestamps,
20281         as this can lead to real trouble at runtime.
20282         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
20283         Check on all systems, not just MinGW.  Use a heuristic involving
20284         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
20285         output a failure or just a warning, to make it more likely that
20286         builders will select 64-bit time_t.
20288 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20290         havelib: fix typo in previous change
20291         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
20293         Don’t use AC_EGREP_CPP if affected by CFLAGS
20294         * m4/float_h.m4 (gl_FLOAT_H):
20295         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
20296         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
20297         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
20298         * m4/year2038.m4 (gl_YEAR2038):
20299         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
20300         likely to be affected by the choice of CFLAGS, since CFLAGS are
20301         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
20302         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
20304         fstatat: pacify GCC on unusual platform
20305         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
20306         Omit, as it’s unused in this case.
20308 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20310         timespec: prefer ‘assume’ to ‘assure’
20311         This avoids some runtime tests.  The rest of the module makes
20312         similar assumptions and there is little point to testing here.
20313         * lib/timespec.h: Include verify.h instead of assure.h.
20314         (timespec_cmp): Use ‘assume’, not ‘assure’.
20315         Also, remove an unnecessary cast to ‘int’, as lots of other
20316         code in this module now causes -Wconversion to complain, and
20317         this is a problem with -Wconversion not with the code.
20319         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
20321         Port recent gnulib-tool change to Dash
20322         * gnulib-tool (func_create_testdir): Don't assume that the shell
20323         retokenizes after expanding "$@" inside the call to
20324         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
20326 2017-10-27  Jim Meyering  <meyering@fb.com>
20328         timespec.h: use "assure" to avoid a spurious warning
20329         * lib/timespec.h: Include "assure.h" and use it to help
20330         gcc7's -Wstrict-overflow avoid a false positive warning
20331         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
20332         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
20333         * modules/timespec (Depends-on): Add assure.
20335 2017-10-29  Bruno Haible  <bruno@clisp.org>
20337         Avoid several test failures with traditional locales on Haiku.
20338         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
20339         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
20340         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
20341         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
20342         LOCALE_ZH_CN=none.
20344 2017-10-29  Bruno Haible  <bruno@clisp.org>
20346         strerror_r-posix: Fix behaviour and test failure on Haiku.
20347         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
20348         are positive. Work around return value 0 instead of ERANGE on Haiku.
20349         For unknown error numbers, use a format string consistent with perror().
20350         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
20351         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
20352         are positive.
20354 2017-10-29  Bruno Haible  <bruno@clisp.org>
20356         get-rusage-data: Avoid crash on Haiku.
20357         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
20359 2017-10-29  Bruno Haible  <bruno@clisp.org>
20361         get-rusage-as: Avoid crash on Haiku.
20362         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
20364 2017-10-29  Bruno Haible  <bruno@clisp.org>
20366         ilogbl: Ensure replacement on Haiku.
20367         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
20368         REPLACE_ILOGBL if ilogbl does not work.
20369         (gl_FUNC_ILOGBL_WORKS): New macro.
20370         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
20371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
20372         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
20373         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
20374         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
20376 2017-10-29  Bruno Haible  <bruno@clisp.org>
20378         expl: Ensure replacement on Haiku.
20379         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
20380         zero.
20381         * doc/posix-functions/expl.texi: Mention the Haiku problem.
20383 2017-10-29  Bruno Haible  <bruno@clisp.org>
20385         math: Fix test failure on Haiku.
20386         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
20387         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
20388         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
20389         * doc/posix-headers/math.texi: Mention the Haiku problem.
20391 2017-10-29  Bruno Haible  <bruno@clisp.org>
20393         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
20394         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
20395         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
20397 2017-10-29  Bruno Haible  <bruno@clisp.org>
20399         crypto/*: Verify that the header file is self-contained.
20400         * tests/test-gc-*.c: Include the module's header file immediately after
20401         <config.h>.
20402         * tests/test-hmac-*.c: Likewise.
20403         * tests/test-arcfour.c: Likewise.
20404         * tests/test-arctwo.c: Likewise.
20405         * tests/test-des.c: Likewise.
20406         * tests/test-md2.c: Likewise.
20407         * tests/test-md4.c: Likewise.
20408         * tests/test-md5.c: Likewise.
20409         * tests/test-rijndael.c: Likewise.
20410         * tests/test-sha1.c: Likewise.
20411         * tests/test-sm3.c: Likewise.
20413 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20414             Bruno Haible  <bruno@clisp.org>
20416         crypto/gc: fix build failure with -Werror=suggest-attribute=const
20417         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
20419 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20421         New module: crypto/gc-sm3
20422         * lib/gc.h: Declare SM3-related stuffs.
20423         * lib/gc-gnulib.c: Support sm3 in internal functions.
20424         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
20425         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
20426         * modules/crypto/gc-sm3: Define gc-sm3 module.
20427         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
20428         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
20429         * MODULES.html.sh: List gc-sm3 module.
20431 2017-10-29  Bruno Haible  <bruno@clisp.org>
20433         random, random_r: Mention different prototypes on Haiku.
20434         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
20435         * doc/glibc-functions/random_r.texi: Likewise.
20436         * doc/glibc-functions/initstate_r.texi: Likewise.
20437         * doc/glibc-functions/setstate_r.texi: Likewise.
20439 2017-10-28  Bruno Haible  <bruno@clisp.org>
20441         posix_spawn: Avoid spurious message in configure output.
20442         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
20443         'cmp' command.
20445 2017-10-28  Bruno Haible  <bruno@clisp.org>
20447         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
20448         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
20449         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
20451 2017-10-28  Bruno Haible  <bruno@clisp.org>
20453         ioctl: Override non-POSIX declaration on Haiku.
20454         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
20455         * lib/sys_ioctl.in.h: Add comment about Haiku.
20456         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
20457         * doc/glibc-headers/sys_ioctl.texi: Likewise.
20459 2017-10-28  Bruno Haible  <bruno@clisp.org>
20461         crypto/sm3: Add overview documentation to the .h file.
20462         * lib/sm3.h: Add comments.
20464 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20466         New module: crypto/sm3
20467         This new module can be used to compute SM3 message digest of files or
20468         memory blocks according to the specification GM/T 004-2012
20469         Cryptographic Hash Algorithm SM3, published by State Cryptography
20470         Administration, China.
20471         The official SM3 cryptographic hash algorithm specification is
20472         available at
20473         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
20474         * lib/sm3.h: Declare the APIs of sm3 module.
20475         * lib/sm3.c: Implement SM3 hash algorithm.
20476         * m4/sm3.m4: m4 file for sm3 module.
20477         * modules/crypto/sm3: Define sm3 module.
20478         * tests/test-sm3.c: Implement SM3 test case.
20479         * modules/crypto/sm3-tests: Define sm3 test module.
20480         * MODULES.html.sh: List sm3 module.
20482 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20484         gc-libgcrypt: fix undefined enum type in switch statement
20485         Resolve the following build failure:
20486         lib/gc-libgcrypt.c: In function 'gc_hash_open':
20487         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
20488         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
20489              case 0:
20490              ^~~~
20491         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
20492         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
20494 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20496         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
20497         Resolve the following build failure:
20498         lib/gc-libgcrypt.c: In function 'gc_hash_read':
20499         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
20500         in signedness [-Werror=pointer-sign]
20501             digest = gcry_md_read (ctx->gch, 0);
20502                    ^
20503         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
20505 2017-10-26  Bruno Haible  <bruno@clisp.org>
20507         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
20508         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
20509         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
20511 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
20513         glob: fix another heap buffer overflow
20514         Problem reported by Tim Rühsen in:
20515         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
20516         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
20518 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
20520         quotearg: pacify compiler re unsigned
20521         * lib/quotearg.c (quotearg_n_options):
20522         Rewrite to avoid diagnostic from overly-picky compiler.
20523         Problem reported by Sami Kerola in:
20524         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
20526         glob: fix heap buffer overflow
20527         * lib/glob.c (glob): Fix off-by-one error introduced into
20528         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
20529         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
20530         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
20531         Fix suggested by Bruno Haible.
20533 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
20535         glob: pacify fuzzer for mempcpy
20536         Problem reported by Tim Rühsen in:
20537         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
20538         * lib/glob.c (glob): Do not pass NULL to mempcpy.
20540 2017-10-12  Bruno Haible  <bruno@clisp.org>
20542         doc: Fix syntax error (regression from 2017-10-03).
20543         * doc/posix-functions/strncpy.texi: Fix syntax error.
20545 2017-10-12  Bruno Haible  <bruno@clisp.org>
20547         doc: Update for Solaris 11.3.
20548         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
20549         mention Solaris 11.3.
20550         * m4/log2.m4: Fix comments.
20551         * m4/log2f.m4: Likewise.
20552         * m4/printf.m4: Update comments.
20553         * m4/rename.m4: Likewise.
20554         * m4/strncat.m4: Likewise.
20556         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
20558 2017-10-10  Bruno Haible  <bruno@clisp.org>
20560         doc: Improve doc about ioctl.
20561         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
20562         prototype.
20564 2017-10-09  Bruno Haible  <bruno@clisp.org>
20566         wcwidth: Don't use obsolete syntax of 'test'.
20567         Reported by Eric Blake.
20568         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
20569         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
20571 2017-10-09  Bruno Haible  <bruno@clisp.org>
20573         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
20574         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
20575         and Daniel P. Berrange <berrange@redhat.com>.
20576         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
20577         on glibc systems. The getopt-pfx-core.h file declares exactly what
20578         unistd.h needs, nothing more.
20580 2017-10-08  Bruno Haible  <bruno@clisp.org>
20582         vma-iter: Improve support for FreeBSD.
20583         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
20584         vma_iterate.
20585         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
20587 2017-10-08  Bruno Haible  <bruno@clisp.org>
20589         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
20590         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
20592 2017-10-07  KO Myung-Hun  <komh@chollian.net>
20594         test-framework-sh: Fix 'invalid path dir' error.
20595         On OS/2, a path separator is ';' not ':'. And ':' is used as a
20596         separator between a drive letter and directory parts.
20597         As a result, an absolute path such as x:/path/to/dir on OS/2 is
20598         treated as an invalid path dir.
20599         * tests/init.sh (PATH_SEPARATOR): Set at startup.
20600         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
20601         instead of hard coded ':'.
20603 2017-10-07  Bruno Haible  <bruno@clisp.org>
20605         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
20606         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
20607         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
20608         (rof_open): On Linux, do multiple read() calls and make sure
20609         MIN_LEFTOVER bytes are left when read() returns.
20611 2017-10-07  Bruno Haible  <bruno@clisp.org>
20613         vma-iter: Improve support for GNU/Hurd.
20614         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
20615         API, not the /proc file system.
20617 2017-10-07  Bruno Haible  <bruno@clisp.org>
20619         test-framework-sh: Don't require bash on Windows and OS/2.
20620         Reported by KO Myung-Hun.
20621         * tests/test-init.sh: Use 'shopt' only when running in bash.
20623 2017-10-06  KO Myung-Hun  <komh@chollian.net>
20625         wcwidth: check a macro version of wcwidth () as well
20626         * lib/wchar.in.h: Revert commit from 2016-01-14.
20627         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
20629 2017-10-06  Bruno Haible  <bruno@clisp.org>
20631         getopt-posix: Clarify copyright header.
20632         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
20633         * lib/getopt-pfx-core.h: Likewise.
20634         * lib/getopt-pfx-ext.h: Likewise.
20635         * lib/getopt-cdefs.in.h: Likewise.
20637 2017-10-03  Bruno Haible  <bruno@clisp.org>
20639         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
20640         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
20641         gl_HOST_CPU_C_ABI.
20643 2017-10-03  Bruno Haible  <bruno@clisp.org>
20645         doc: warn about misuse of strncpy and wcsncpy.
20646         * doc/posix-functions/strcpy.texi: Describe requirements on prior
20647         memory allocation.
20648         * doc/posix-functions/wcscpy.texi: Likewise.
20649         * doc/posix-functions/strncpy.texi: Describe what this function is not
20650         useful for.
20651         * doc/posix-functions/wcsncpy.texi: Likewise.
20653 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
20655         fsuage: fix typo in previous change
20656         * lib/fsusage.c: Remove stray include of full-read.h.
20657         Problem reported by Sam Steingold for macOS (Bug#28669).
20659 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
20661         fsusage: remove SVR2 support
20662         SVR2 was obsolete by 1986 and is no longer supported by anybody,
20663         and its code was getting in the way of use of this module by
20664         Emacs, which has its own ‘read’ function anyway.
20665         * lib/fsusage.c: Do not include sys/filsys.h.
20666         (get_fs_usage): Remove SVR2-specific code.
20667         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
20668         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
20669         * modules/fsusage (Depends-on): Do not depend on full-read.
20671         Simplify autoupdate of licenses
20672         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
20673         place.
20675 2017-10-01  Bruno Haible  <bruno@clisp.org>
20677         vma-iter: Add support for GNU/Hurd.
20678         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
20679         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
20681 2017-09-30  Bruno Haible  <bruno@clisp.org>
20683         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
20684         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
20685         fail when module 'largefile' is in use.
20686         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
20687         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
20688         Don't test HAVE_SYS_PROCFS_H.
20690 2017-09-30  Bruno Haible  <bruno@clisp.org>
20692         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
20693         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
20694         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
20695         * modules/havelib (Depends-on): Add host-cpu-c-abi.
20697 2017-09-30  Bruno Haible  <bruno@clisp.org>
20699         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
20700         * lib/uniname/uniname.c (unicode_name_character): Add braces around
20701         scope of local variables.
20703 2017-09-28  Bruno Haible  <bruno@clisp.org>
20705         string: code style
20706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
20707         substitutable variables.
20708         * modules/string (Makefile.am): Likewise.
20710 2017-09-26  Bruno Haible  <bruno@clisp.org>
20712         uniname/uniname-tests: Tighten code.
20713         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
20714         local variables into one.
20716 2017-09-26  Bruno Haible  <bruno@clisp.org>
20718         vma-iter: Improvements for Linux and BSD platforms.
20719         - Add support for DragonFly BSD.
20720         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
20721         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
20722         Read the entire file into memory in a single system call.
20723         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
20724         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
20726 2017-09-26  Bruno Haible  <bruno@clisp.org>
20728         vma-iter: Provide the protection flags on FreeBSD.
20729         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
20730         skip three fields between the addresses and the protection flags.
20732 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20734         glob: remove bogus extern decl
20735         * lib/glob.c (__glob_pattern_type): Remove now-spurious
20736         extern declaration.  Problem reported by Adhemerval Zanella in:
20737         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
20739 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
20741         uniname/uniname-tests: integer overflow fix
20742         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
20743         Check for integer overflow.
20745         duplocale-tests: fix unlikely crash
20746         * tests/test-duplocale.c (get_locale_dependent_values):
20747         Don’t crash with absurdly long month names.
20749         maint: fix overflow checking in nap.h
20750         * modules/chown-tests:
20751         * modules/fchownat-tests, modules/fdutimensat-tests:
20752         * modules/futimens-tests, modules/lchown-tests:
20753         * modules/stat-time-tests, modules/utime-tests:
20754         * modules/utimens-tests, modules/utimensat-tests:
20755         Depend on intprops.
20756         * tests/nap.h: Include intprops.h.
20757         (diff_timespec): Handle overflow properly.
20759         sys_types: update URL
20760         * m4/sys_types_h.m4: Use https: URL.
20762         parse-datetime: fix dependency
20763         * modules/parse-datetime (Depends-on): Depend
20764         on nstrftime, not strftime.
20766         parse-datetime, posixtm: avoid uninit access
20767         * lib/parse-datetime.y (parse_datetime2):
20768         * lib/posixtm.c (posixtime):
20769         Do not access uninitialized storage, even though the resulting
20770         value is never used.
20772 2017-09-25  Bruno Haible  <bruno@clisp.org>
20774         vma-iter: Improvements for BSD platforms.
20775         - Add support for GNU/kFreeBSD.
20776         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
20777         - Speed up on OpenBSD.
20778         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
20779         (vma_iterate_bsd): New function.
20780         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
20781         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
20782         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
20783         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
20785 2017-09-23  Bruno Haible  <bruno@clisp.org>
20787         strfmon_l: New module.
20788         * modules/strfmon_l: New file.
20789         * lib/strfmon_l.c: New file.
20790         * m4/strfmon_l.m4: New file.
20791         * doc/posix-functions/strfmon_l.texi: Mention the new module.
20792         * modules/strfmon_l-tests: New file.
20793         * tests/test-strfmon_l.c: New file.
20795         monetary: New module.
20796         * modules/monetary: New file.
20797         * lib/monetary.in.h: New file.
20798         * m4/monetary_h.m4: New file.
20799         * doc/posix-headers/monetary.texi: Mention the new module.
20800         * modules/monetary-tests: New file.
20801         * tests/test-monetary.c: New file.
20802         * modules/monetary-c++-tests: New file.
20803         * tests/test-monetary-c++.cc: New file.
20804         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
20806 2017-09-23  Bruno Haible  <bruno@clisp.org>
20808         duplocale tests: Fix test crash on Linux/x86.
20809         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
20810         locale from the current thread before freeing it.
20812 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
20814         mktime: port to OpenVMS
20815         Problem reported by John E. Malmberg in:
20816         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
20817         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
20819 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20821         manywarnings: port to GCC on 64-bit MS-Windows
20822         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
20823         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
20824         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
20826 2017-09-13  Bruno Haible  <bruno@clisp.org>
20828         all: Replace many more http URLs by https URLs. Update stale URLs.
20829         * users.txt: Remove mention of 'newts'.
20830         * lib/localename.c: Update comment about LANG_SOTHO.
20832 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
20834         all: Replace many http URLs by https URLs.
20836 2017-09-12  Bruno Haible  <bruno@clisp.org>
20838         doc: Prefer https URLs where possible.
20839         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
20840         * doc/ld-output-def.texi: Remove unavailable URL.
20842 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
20844         maintainer-makefile: FTP -> HTTPS
20845         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
20846         of FTP, which is planned to be decommissioned on 2017-11-01.
20848 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
20850         libc-config: Fix __GNUC_PREREQ macro.
20851         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
20852         __GNUC_MINOR.
20854 2017-09-09  Bruno Haible  <bruno@clisp.org>
20856         gnulib-tool: Simplify commit from 2015-08-20.
20857         * gnulib-tool (func_add_or_update): Remove local variable
20858         is_binary_file.
20860 2017-09-08  Bruno Haible  <bruno@clisp.org>
20862         stddef: Avoid conflict with system-defined max_align_t.
20863         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
20864         Reported by Werner Lemberg <wl@gnu.org> in
20865         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
20866         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
20867         (max_align_t): Define as a macro.
20868         (GNULIB_defined_max_align_t): New macro. Guards against multiple
20869         definitions of rpl_max_align_t in different copies of gnulib-generated
20870         <stddef.h>.
20872 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
20874         libc-config: port to MSVC
20875         Problems reported by Gisle Vanem in:
20876         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
20877         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
20878         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
20879         * m4/__inline.m4: New file.
20880         * modules/libc-config (Files): Add it.
20881         (Depends-on): Use it.
20883         glob: Use enum for __glob_pattern_type result
20884         From a patch proposed by Adhemerval Zanella in:
20885         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
20886         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
20887         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
20888         * lib/glob_internal.h (__glob_pattern_type):
20889         * lib/glob.c (glob):
20890         * lib/glob_pattern_p.c (__glob_pattern_p):
20891         Use them.
20893         glob: fix for use in glibc
20894         Problem reported by Adhemerval Zanella in:
20895         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
20896         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
20897         Do not redefine if _LIBC.
20899 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20901         glob: fix bugs with long login names
20902         Problem reported by Adhemerval Zanella in:
20903         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
20904         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
20905         (glob): Use the same scratch buffer for both getlogin_r and
20906         getpwnam_r.  Don’t require preallocation of the login name.  This
20907         simplifies storage allocation, and corrects the handling of
20908         long login names.
20910 2017-09-02  Bruno Haible  <bruno@clisp.org>
20912         dirent: Update doc.
20913         * doc/posix-headers/dirent.texi: More concrete list of platforms.
20915 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20917         glob: fix getpwnam_r errno typo
20918         * lib/glob.c (glob): Fix longstanding misuse of errno after
20919         getpwnam_r, which returns an error number rather than setting
20920         errno.
20922         glob: fix typo in recent change
20923         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
20924         Fix recently-introduced typo.
20926 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
20928         glob: don't save and restore errno unnecessarily
20929         * lib/glob.c (glob): Don't save and restore errno
20930         merely because we have getpwnam_r.
20932         glob: don't assume getpwnam_r
20933         * lib/glob.c (glob): Port recent patches to platforms
20934         lacking getpwnam_r.
20936         scratch_buffer: don’t use private glibc API
20937         Suggested by Florian Weimer in:
20938         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
20939         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
20940         * lib/scratch_buffer_grow.c: Rename to
20941         lib/malloc/scratch_buffer_grow.c.
20942         * lib/scratch_buffer_grow_preserve.c: Rename to
20943         lib/malloc/scratch_buffer_grow_preserve.c.
20944         * lib/scratch_buffer_set_array_size.c: Rename to
20945         lib/malloc/scratch_buffer_set_array_size.c.
20946         * lib/scratch_buffer.h: New file.
20947         * modules/scratch_buffer (Files, Makefile.am):
20948         Adjust to source-file renaming.
20950 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
20952         glob: use scratch_buffer instead of extend_alloca
20953         Much of the lib/glob.c part of this patch comes from a glibc patch
20954         proposed by Adhemerval Zanella in:
20955         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
20956         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
20957         included via glob.h, does this for us now.
20958         (__set_errno): Remove, as libc-config does this for us now.
20959         Include <scratch_buffer.h>.
20960         (GETPW_R_SIZE_MAX): Remove.
20961         (glob): Use struct scratch_buffer instead of extend_alloca.
20962         * lib/glob.in.h: Include libc-config.h rather than
20963         including <sys/cdefs.h> conditionally.
20964         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
20965         (__glibc_unlikely, __restrict, weak_alias):
20966         Remove, as libc-config does this for us now.
20967         * m4/glob.m4 (gl_PREREQ_GLOB):
20968         Remove sys/cdefs.h tests; no longer needed.
20969         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
20970         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
20972         scratch_buffer: new module
20973         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
20974         * lib/scratch_buffer_grow_preserve.c:
20975         * lib/scratch_buffer_set_array_size.c:
20976         New files, copied from glibc with very minor changes that can be
20977         copied back.
20978         * modules/scratch_buffer: New file.
20980         libc-config: new module
20981         * MODULES.html.sh: Add libc-config.
20982         * lib/cdefs.h: New file, copied from the GNU C Library with very
20983         minor changes that can be copied back.
20984         * lib/libc-config.h, modules/libc-config: New files.
20986 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
20988         glob: match dangling symlinks
20989         This fixes a bug I inadvertently introduced to Gnulib when I
20990         merged glibc glob back into gnulib on 2007-10-16.  This fix is
20991         inspired by a patch proposed for glibc by Adhemerval Zanella in:
20992         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
20993         * doc/posix-functions/glob.texi: Update list of affected platforms.
20994         * lib/glob.c (__lstat64): New macro.
20995         (is_dir): New function.
20996         (glob, glob_in_dir): Match symlinks even if they are dangling.
20997         (link_stat, link_exists_p): Remove.  All uses removed.
20998         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
20999         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
21000         * modules/glob-tests (Depends-on): Add symlink.
21001         * tests/test-glob.c: Include errno.h, unistd.h.
21002         (BASE): New macro.
21003         (main): Test dangling symlinks, if symlinks are supported.
21005         glob, backupfile: inode 0 is a valid inode number
21006         * doc/posix-functions/readdir.texi (readdir):
21007         * doc/posix-headers/dirent.texi (dirent.h):
21008         Document more readdir portability issues.
21009         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
21010         (numbered_backup): Don’t treat inode 0 any differently from
21011         other inode values.
21012         * lib/glob.c (struct readdir_result): Remove skip_entry member.
21013         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
21014         All uses removed.
21015         * modules/glob (Depends-on): Remove d-ino.
21017         glob: simplify symlink detection
21018         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
21019         uint8_t, as C99 does not require uint8_t.
21020         (struct readdir_result): Use it.  Do not define skip_entry unless
21021         it is needed; this saves a byte on platforms lacking d_ino.
21022         (readdir_result_type, readdir_result_skip_entry):
21023         New functions, replacing ...
21024         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
21025         ... these functions, which were removed.  This makes the callers
21026         easier to read.  All callers changed.
21027         (D_INO_TO_RESULT): Now empty if there is no d_ino.
21029 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21031         fts-tests: tag as a longrunning-test so not included by default
21032         * modules/fts-tests: This test takes about 20s on current systems,
21033         and uses about 285M of space on ext4.
21035 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21037         renameat2: fix compilation on alpine linux
21038         * m4/renameat.m4: Check for <linux/fs.h> presence.
21039         * lib/renameat2.h: Only include <linux/fs.h> if present.
21040         Reported by Assaf Gordon on Alpine Linux.
21042 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21044         glob: try to port recent changes to MS-Windows
21045         Problem reported by Bruno Haible in:
21046         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
21047         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
21048         * lib/glob.in.h (__glob_pattern_p): ... to here.
21050 2017-08-24  Eric Blake  <eblake@redhat.com>
21052         warnings: fix compilation with old autoconf
21053         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
21054         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
21055         AC_DEFUN.
21056         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
21057         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
21059 2017-08-24  Bruno Haible  <bruno@clisp.org>
21061         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
21062         * modules/glob (Depends-on): Add c99.
21064 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21066         glob: fix typo that broke platforms lacking d_ino
21067         This typo also hurt performance on GNU/Linux and similar hosts.
21068         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
21069         in previous change.
21071 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21073         glob: merge from glibc with Zanella glob changes
21074         Merge glob from glibc, with changes for glob proposed
21075         by Adhemerval Zanella in the thread starting here:
21076         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
21077         plus some fixes for this merge.
21078         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
21079         New files, ported from glibc.
21080         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
21081         with __restrict.
21082         (__size_t): Remove.  All uses replaced by size_t.
21083         (size_t): Define by defining __need_size_t and including <stddef.h>.
21084         This should work even in non-glibc platforms, where any name
21085         pollution is OK.
21086         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
21087         (struct stat64): Don’t worry about __GLOB_GNULIB.
21088         (glob, globfree, glob_pattern_p): Remove macros for
21089         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
21090         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
21091         but set errno.
21092         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
21093         removed since the glibc behavior works on null pointers.
21094         Do not include stdio.h; old SunOS is irrelevant now.
21095         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
21096         Include glob_internal.h.
21097         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
21098         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
21099         worked only coincidentally.
21100         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
21101         Remove macros; now done in glob.in.h.
21102         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
21103         (glob): Properly initialize glob structure with
21104         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
21105         Remove old code using SHELL since Bash no longer
21106         uses this.
21107         (glob, prefix_array): Separate MS code better.
21108         (glob, glob_in_dir): Use C99 decls before statements when glibc
21109         does.
21110         (glob_in_dir): Remove old Amiga and VMS code.
21111         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
21112         separate files.
21113         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
21114         (__glibc_unlikely):
21115         Move here from glob.c.
21116         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
21117         (weak_alias): New macro.
21118         (__size_t): Remove.  All uses replaced by size_t.
21119         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
21120         * modules/glob (Files): Add +lib/glob_internal.h,
21121         lib/glob_pattern_p.c, lib/globfree.c.
21122         (Depends-on): Remove snippet/arg-nonnull.
21124 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21126         glob: port to clang's Undefined Sanitizer
21127         Problem reported by Tim Rühsen in:
21128         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
21129         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
21130         (glob_in_dir): Do not rely on undefined behavior in accessing
21131         struct members beyond their bounds.  Use a flexible array member
21132         instead.
21134 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
21136         vc-list-files: port to Solaris 10
21137         * build-aux/vc-list-files: Don't assume test -e works.
21139 2017-08-21  Karl Berry  <karl@freefriends.org>
21141         * doc/posix-functions/srandom.texi (srandom): typo }.
21143 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21145         git-version-gen: port to Solaris 10
21146         Problem reported by Dagobert Michelsen in:
21147         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
21148         * build-aux/git-version-gen (v_from_git):
21149         Use expr instead of shell substitution.
21151 2017-08-19  Bruno Haible  <bruno@clisp.org>
21153         host-cpu-c-abi: Improve detection of MIPS ABI.
21154         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
21155         _MIPS_SIM.
21157 2017-08-17  Bruno Haible  <bruno@clisp.org>
21159         hypot tests: Fix test failure on FreeBSD 11.0/x86.
21160         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
21162 2017-08-17  Bruno Haible  <bruno@clisp.org>
21164         float: Fix LDBL_MIN value on FreeBSD/x86.
21165         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
21167 2017-08-17  Bruno Haible  <bruno@clisp.org>
21169         random: Fix test compilation failure on Cygwin 1.5.25.
21170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
21171         HAVE_DECL_SETSTATE.
21172         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
21173         declared.
21174         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
21175         HAVE_DECL_SETSTATE.
21176         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
21177         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
21178         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
21179         * doc/posix-functions/random.texi: Likewise.
21180         * doc/posix-functions/setstate.texi: Likewise.
21181         * doc/posix-functions/srandom.texi: Likewise.
21183 2017-08-16  Bruno Haible  <bruno@clisp.org>
21185         stdnoreturn: Fix test compilation failure on Cygwin.
21186         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
21187         <stdnoreturn.h> replacement.
21188         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
21189         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
21191 2017-08-16  Bruno Haible  <bruno@clisp.org>
21193         thread: Fix conflict with pthread_sigmask module.
21194         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
21195         it's defined as a macro.
21196         * modules/thread (Depends-on): Add pthread_sigmask.
21198 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21200         rename: port better to NetBSD
21201         * doc/posix-functions/rename.texi (rename): NetBSD 7
21202         does not have the link-count bug.
21203         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
21204         broken merely because rename ("a", "b") removes "a" when the two
21205         names are hard links to the same file.
21207 2017-08-16  Bruno Haible  <bruno@clisp.org>
21209         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
21210         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
21211         the target file names with '$(srcdir)/'.
21212         * modules/unicase/locale-language (Makefile.am): Likewise.
21213         * modules/unicase/special-casing (Makefile.am): Likewise.
21214         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
21215         * modules/unictype/category-byname (Makefile.am): Likewise.
21216         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
21217         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
21218         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
21219         * modules/unictype/property-byname (Makefile.am): Likewise.
21220         * modules/unictype/scripts (Makefile.am): Likewise.
21221         * modules/uninorm/composition (Makefile.am): Likewise.
21223 2017-08-16  Bruno Haible  <bruno@clisp.org>
21225         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
21226         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
21227         value for OpenBSD.
21229 2017-08-16  Bruno Haible  <bruno@clisp.org>
21231         rename, renameat: Update doc regarding NetBSD.
21232         * doc/posix-functions/rename.texi: Clarify that when using
21233         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
21234         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
21235         version.
21237 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21239         renameat2: port better to macOS
21240         * lib/renameat2.c (renameat2): Use renameatx_np if available.
21242         futimens: don’t assume struct timespec layout
21243         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
21244         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
21245         * tests/test-fdutimensat.c (main):
21246         * tests/test-futimens.h (test_futimens):
21247         * tests/test-lutimens.h (test_lutimens):
21248         * tests/test-utimens.h (test_utimens):
21249         * tests/test-utimensat.c (main):
21250         Don’t assume that struct timespec is a two-member structure in
21251         tv_sec, tv_nsec order.  Although this is true on all platforms we
21252         know about, POSIX does not guarantee it.
21254         rename: document+test NetBSD rename
21255         Test failure reported by Bruno Haible in:
21256         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
21257         This is an area where NetBSD is better-behaved than POSIX,
21258         so allow the NetBSD behavior in tests.
21259         * doc/posix-functions/rename.texi:
21260         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
21261         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
21263 2017-08-15  Bruno Haible  <bruno@clisp.org>
21265         renameat: Ensure declaration in <stdio.h> on NetBSD.
21266         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
21267         * doc/posix-functions/renameat.texi: Mention this problem.
21269 2017-08-15  Bruno Haible  <bruno@clisp.org>
21271         duplocale: Work around NetBSD 7.0 bug.
21272         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
21273         * lib/duplocale.c: Add comment about NetBSD problem.
21274         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
21276 2017-08-15  Bruno Haible  <bruno@clisp.org>
21278         duplocale tests: Verify use with *_l functions.
21279         * modules/duplocale-tests (configure.ac): Test for uselocale and
21280         some *_l functions.
21281         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
21282         from main.
21283         (get_locale_dependent_values_from, test_with_locale_parameter): New
21284         functions.
21285         (main): Test both test_with_uselocale and test_with_locale_parameter.
21287 2017-08-15  Bruno Haible  <bruno@clisp.org>
21289         extensions: Enable NetBSD specific extensions.
21290         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
21292 2017-08-14  Bruno Haible  <bruno@clisp.org>
21294         open, openat: Update doc about O_CLOEXEC.
21295         * doc/posix-functions/open.texi: More concrete list of platforms.
21296         * doc/posix-functions/openat.texi: Likewise.
21298 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21300         open: support O_CLOEXEC
21301         * NEWS, doc/posix-functions/open.texi:
21302         * doc/posix-functions/openat.texi: Document this.
21303         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
21304         (GNULIB_defined_O_CLOEXEC): New symbol.
21305         * lib/open.c: Include cloexec.h.
21306         (open): Support O_CLOEXEC.
21307         * lib/openat.c: Include cloexec.h.
21308         (rpl_openat): Support O_CLOEXEC.
21309         * lib/popen-safer.c: Do not include cloexec.h.
21310         (open_noinherit): Remove.
21311         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
21312         * lib/save-cwd.c: Do not include cloexec.h.
21313         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
21314         * m4/open-cloexec.m4: New file.
21315         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
21316         Replace 'open' if O_CLOEXEC is not present.
21317         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
21318         Replace 'openat' if O_CLOEXEC is not present.
21319         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
21320         * modules/open (Files): Add m4/open-cloexec.m4.
21321         (Depends-on): Depend on cloexec if replacing 'open'.
21322         * modules/openat (Files): Add m4/open-cloexec.m4.
21323         (Depends-on): Depend on cloexec if replacing openat.
21324         * modules/popen-safer (Depends-on): Remove cloexec.
21325         * modules/save-cwd (Depends-on): Remove cloexec, and add
21326         fd-safer-flag and 'open'.
21328 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21330         reallocarray: minor fixes
21331         * doc/glibc-functions/reallocarray.texi: Update version numbers.
21332         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
21333         * modules/reallocarray (License): Change from GPL to LGPL.
21334         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
21335         Indent properly and don't use tabs.
21337 2017-08-13  Darshit Shah  <darnir@gnu.org>
21339         reallocarray: New module
21340         reallocarray is a new function in glibc 2.26 to safely allocate an array
21341         of memory locations with integer overflow protection.
21342         * MODULES.html.sh: Add reallocarray.
21343         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
21344         * lib/reallocarray.c: New file to implement module reallocarray.
21345         * lib/stdlib.in.h: Add function declarations for reallocarray.
21346         * m4/reallocarray.m4: New file.
21347         * m4/stdlib_h.m4: Declare reallocarray.
21348         * modules/reallocarray: New file.
21349         * modules/reallocarray-test: New file.
21350         * modules/stdlib: Coerce stdlib.h to export reallocarray.
21351         * tests/test-reallocarray.c: New test.
21353 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21355         dirent-safer: fix cloexec race
21356         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
21357         (opendir_safer): Use F_DUPFD_CLOEXEC.
21358         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
21359         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
21360         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
21361         instead of dup_safer.
21363         fts: fix cloexec races
21364         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
21365         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
21366         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
21367         (fd_ring_check): Set cloexec flag on new file descriptors.
21368         (fts_build, fd_ring_check): While we’re at it, make sure the
21369         resulting file descriptor is not 0, 1, or 2, since that is easy.
21371 2017-08-11  Bruno Haible  <bruno@clisp.org>
21373         fts tests: Fix link error.
21374         Reported by Tom G. Christensen in
21375         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
21376         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
21378 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21380         fts: port recent changes to CentOS 6
21381         Problem reported by Tom G. Christensen in:
21382         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
21383         * lib/fts.c (fsword): New type.
21384         (struct dev_type, filesystem_type): Use it.
21385         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
21386         Also, check for f_type only if fstatfs and sys/vfs.h work.
21388 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21390         tempname: do not depend on secure_getenv
21391         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
21392         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
21393         * modules/tempname (Depends-on): Remove secure_getenv.
21395 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21397         extensions: add _OPENBSD_SOURCE
21398         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
21400 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
21401             Bruno Haible  <bruno@clisp.org>
21403         manywarnings: Add support for C++.
21404         * build-aux/g++-warning.spec: New file.
21405         * m4/manywarnings-c++.m4: New file.
21406         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
21407         redirects to manywarnings-c++.m4.
21408         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
21410 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21412         git-version-gen: another fix for tags with "-"
21413         * build-aux/git-version-gen: Improve fix for tags containing "-".
21414         Suggested by Markus Armbruster in:
21415         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
21417 2017-08-06  Bruno Haible  <bruno@clisp.org>
21419         warnings, manywarnings: Add support for multiple languages, not just C.
21420         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
21421         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
21422         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
21423         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
21424         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
21425         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
21426         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
21427         of the current language. If C++ is the current language, modify
21428         WARN_CXXFLAGS instead of WARN_CFLAGS.
21429         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
21430         gl_MANYWARN_ALL_GCC.
21431         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
21433 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
21435         git-version-gen: Fix for tags containing '-'
21437         Really old versions of git-describe (before v1.5.0, Feb 2007)
21438         don't have the number of commits in their long format output,
21439         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
21440         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
21441         recognizes both patterns, and normalizes the old format to the new one.
21443         Unfortunately, this normalization code gets confused when the tag
21444         contains '-'.  Reproducer:
21446             $ git-tag -m test v0.2-rc1
21447             $ build-aux/git-version-gen .tarball-version; echo
21448             build-aux/git-version-gen: WARNING: git rev-list failed
21449             UNKNOWN
21451         We take exact tag "v0.2-rc1" for the old format, extract the presumed
21452         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
21453         commits since tha tag.  Fails, because tag "v0.2" does not exist.
21455         * git-version-gen: We could perhaps drop support for versions from
21456         more than a decade ago.  But tightening the pattern match is easy
21457         enough, so do that.  Still breaks when you use version tags ending in
21458         something matching -g????, but you arguably get what you deserve then.
21460 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21462         valgrind-tests: use ls, and cache
21463         * m4/valgrind-tests.m4: Test ls, not bash.
21464         Problem reported by Reuben Thomas.
21465         Also, cache the result so that it can be overridden.
21467 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21469         manywarnings: port to 64-bit GCC builds of Emacs
21470         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
21471         object size rather than hardwiring 2147483647.  This is needed to
21472         build GNU Emacs, which has one conditional (and used
21473         only-in-theory) call to malloc with a literal greater than
21474         2147483647.
21476 2017-08-04  Bruno Haible  <bruno@clisp.org>
21478         Relax the license of some modules with no runtime code.
21479         * modules/std-gnu11 (License): Set to 'unlimited'.
21480         * modules/c99 (License): Likewise.
21481         Reported by Reuben Thomas <rrt@sc3d.org>.
21482         * modules/d-ino (License): Set to 'LGPL'.
21483         * modules/host-os (License): Likewise.
21484         * modules/longlong (License): Likewise.
21486 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21488         renameat2: port to RHEL 7 + NFS
21489         * lib/renameat2.c (renameat2) [SYS_renameat2]:
21490         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
21491         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
21493 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21495         renameat2: port to non-renameat platforms
21496         Problem reported for MSVC-2015 by Gisle Vanem in:
21497         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
21498         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
21499         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
21501 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21503         manywarnings: port to 32-bit GCC bug
21504         Problem reported by Pino Toscano in:
21505         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
21506         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
21507         not 2**63 - 1, to work around the following GCC bug:
21508         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
21510 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
21512         backupfile: new function to validate backup suffix
21513         * lib/backupfile.c (set_simple_backup_suffix): New function.
21514         (backupfile_internal): Use it.
21516         canonicalize: fix EOVERFLOW commentary
21517         Problem reported by Bruno Haible in:
21518         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
21519         * lib/canonicalize.c (canonicalize_filename_mode):
21520         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
21522         Don't interpret EOVERFLOW to mean nonexistence
21523         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
21524         may be EOVERFLOW; this is likely more useful than reporting the
21525         stat errno.
21526         * lib/glob.c (link_stat): Rename from link_exists2_p and
21527         return -1/0 instead of 0/1.  Caller changed.
21528         * lib/glob.c (link_exists_p):
21529         * lib/renameat2.c (rename_noreplace, renameat2):
21530         * lib/tempname.c (try_nocreate):
21531         If errno == EOVERFLOW then the directory entry exists, so do not
21532         act as if it does not exist.
21534         backup-rename: new module
21535         It is like backupfile, except it avoids some race conditions,
21536         and it does not output to stderr or exit.
21537         * MODULES.html.sh: Add backup-rename.
21538         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
21539         * modules/backup-rename: New files.
21540         * lib/backupfile.c: Turn this into an internals file, which
21541         contains code common to backupfile and backup_rename.  Include
21542         backupfile-internal.h instead of backupfile.h.  Do not include
21543         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
21544         renameat2.h and fcntl.h.
21545         (BACKUP_NOMEM): New constant.
21546         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
21547         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
21548         (backupfile_internal): Rename from find_backup_file_name.
21549         Support new arg RENAME.
21550         (backup_args, backup_types, get_version, xget_version):
21551         Move to lib/backup-find.c.
21552         * lib/backupfile.h (backup_file_rename): New decl.
21553         * modules/backupfile (Files): Add lib/backup-internal.h,
21554         lib/backup-find.c.
21555         (Depends-on): Add dirfd, fcntl, renameat2.
21556         (lib_SOURCES): Add backup-find.c.
21558         renameat2: port better to older Solaris
21559         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
21560         Add goto to use a label, to silence picky compilers.
21562         fts-tests: port to gcc -Wwrite-strings
21563         * tests/test-fts.c (base, base_d): New static vars.
21564         (argv, remove_tree, main): Use them.
21566 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
21568         relocatable-lib{,-lgpl}: improve documentation
21569         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
21570         Various other updates.
21572 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
21573             Bruno Haible  <bruno@clisp.org>
21575         relocatable-lib{,-lgpl}: add Valgrind suppressions
21576         * lib/relocatable.valgrind: New file.
21577         * modules/relocatable-lib (Files): Add relocatable.valgrind.
21578         * modules/relocatable-lib-lgpl: Likewise.
21580 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
21582         relocatable: Make the license on the sources the GPL.
21583         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
21584         LGPL, which was a special case so that the relocatable source files
21585         could be used without gnulib-tool, to GPL. They can still be used under
21586         the LGPL, using the --lgpl option to gnulib-tool.
21588 2017-07-30  Bruno Haible  <bruno@clisp.org>
21590         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
21591         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
21592         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
21593         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
21594         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
21596 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
21598         faccessat: document AT_SYMLINK_NOFOLLOW issue
21599         * doc/posix-functions/faccessat.texi: Modernize platform list.
21600         Document AT_SYMLINK_NOFOLLOW limitation.
21602         renameat2: port to Solaris 10
21603         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
21604         with AT_SYMLINK_NOFOLLOW (which is not portable).
21605         (renameat): Undef before using, to avoid endless recursion when
21606         the replacement renameat calls renameat2 which calls the
21607         replacement renameat.
21608         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
21609         * modules/renameat2 (Depends-on): Remove faccessat.
21610         * modules/renameat-tests (test_renameat_LDADD):
21611         * modules/renameat2-tests (test_renameat2_LDADD):
21612         Remove $(LIB_EACCESS).
21614         renameat2: new module
21615         Although the Linux syscall renameat2 is not in glibc (yet?), it is
21616         useful to have access to its RENAME_NOREPLACE flag.
21617         * MODULES.html.sh (func_all_modules): Add renameat2.
21618         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
21619         * modules/renameat2-tests, tests/test-renameat2.c: New files.
21620         * lib/renameat.c (renameat): Move most of the implementation
21621         to renameat2, and just call renameat2.
21622         * modules/renameat (Files): Remove lib/at-func2.c.
21623         (Depends-on): Depend only on renameat2.
21624         (Include): Remove <fcntl.h>.
21625         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
21626         since renameat (via renameat2) might use faccessat.
21628 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
21630         vc-list-files: Adjust the script to support git worktrees
21631         * build-aux/vc-list-files: Require existence, not directory.
21633 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21635         doc: bring MODULES.html.sh up to date
21636         Somehow a few months ago we stopped updating MODULES.html.sh.
21637         I don’t recall explicitly deciding this, so I updated it now.
21638         Alternatively I suppose we could remove it.
21639         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
21640         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
21641         truncate, utime, utime-h, windows-stat-inodes,
21642         windows-stat-override, windows-stat-timespec, year2038.  Sort.
21644 2017-07-26  Jim Meyering  <meyering@fb.com>
21646         fprintftime: fix build-break caused by recent renaming
21647         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
21648         "strftime.c".
21649         * modules/fprintftime: Depend directly on nstrftime.
21651 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
21653         regex: work with GCC7's -Werror=implicit-fallthrough=
21654         * lib/regex_internal.h (FALLTHROUGH): New macro.
21655         * lib/regcomp.c (peek_token_bracket, parse_expression):
21656         * lib/regexec.c (check_node_accept): Use it.
21658 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
21660         fts: simplify fts_build
21661         * lib/fts.c (fts_build): Simplify, and be lazier about
21662         calling leaf_optimization.
21664         fts: three levels of leaf optimization
21665         * lib/fts.c (enum leaf_optimization): New type with three values.
21666         (S_MAGIC_AFS): New macro.  Sort them.
21667         (leaf_optimization): Rename from leaf_optimization_applies, and
21668         return enum leaf_optimization instead of bool.  All uses changed.
21669         Add cases for unknown type and for AFS.
21670         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
21672         fts: cache dirent_inode_sort_may_be_useful too
21673         * lib/fts.c (struct dev_type): New struct.
21674         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
21675         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
21676         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
21677         Now takes FTSENT const *, not int.  All uses changed.  Use
21678         filesystem_type to cache.
21679         (link_count_optimize_ok): Remove.  Caller changed to use
21680         leaf_optimization_applies, which now uses shared cache.
21682         fts: introduce MIN_DIR_NLINK
21683         * lib/fts.c (MIN_DIR_NLINK): New constant.
21684         Use it instead of 2, whenever we are talking about link counts.
21686         fts: nlink_t signedness fixups
21687         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
21688         so that root need not be a special case later.
21689         (fts_read): Remove now-redundant test for fts_level.
21690         Do not assume that nlink_t is signed.
21691         (fts_build): Remove useless decrement of nlinks.
21692         (fts_stat): Avoid unlikely signed integer overflow later, if
21693         nlink_t is signed.
21695         fts-tests: new module
21696         * modules/fts-tests, tests/test-fts.c: New files.
21698 2017-07-23  Bruno Haible  <bruno@clisp.org>
21700         Rename module 'strftime' to 'nstrftime'.
21701         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
21702         * lib/nstrftime.c: Renamed from lib/strftime.c.
21703         * modules/nstrftime: Renamed from modules/strftime.
21704         (Files, Makefile.am): Update.
21705         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
21706         Fix comment.
21707         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
21708         (Files, Makefile.am): Update.
21709         * modules/strftime: New file, an obsolete indirection.
21710         * doc/posix-functions/strftime.texi: Update reference.
21711         * config/srclist.txt: Update info.
21712         * NEWS: Mention the change.
21714 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
21716         malloca: Silence a warning from clang's memory sanitizer.
21717         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
21718         (freea): Use it.
21720 2017-07-18  Bruno Haible  <bruno@clisp.org>
21722         host-cpu-c-abi: Fix detection of MIPS ABI.
21723         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
21724         ABI, not the CPU instruction set.
21726 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
21728         explicit_bzero: new module
21729         The explicit_bzero function has been added to glibc.
21730         This module is intended to supports its use in GNU programs.
21731         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
21732         * m4/explicit_bzero.m4, modules/explicit_bzero:
21733         New files.
21734         * doc/gnulib.texi (Glibc string.h): Link to new doc.
21735         * lib/string.in.h (explicit_bzero): Declare.
21736         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
21737         * modules/string (string.h): Substitute its vars.
21739 2017-07-16  Bruno Haible  <bruno@clisp.org>
21741         threadlib: Support static linking.
21742         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
21743         set gl_cv_have_weak to 'no'.
21745 2017-07-16  Bruno Haible  <bruno@clisp.org>
21747         unicase/locale-language: Fix link dependencies.
21748         * modules/unicase/locale-language (Link): New section.
21749         * modules/unicase/locale-language-tests (Makefile.am): Link
21750         test-locale-language program with $(LIBTHREAD).
21752 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21754         sys_socket: Add support for OpenVMS.
21755         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
21756         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
21758 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21760         sys_resource: Add support for OpenVMS.
21761         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
21762         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
21764 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
21765             Bruno Haible  <bruno@clisp.org>
21767         math: Add support for OpenVMS.
21768         * lib/math.in.h [__VMS]: Include <fp.h>.
21769         * doc/posix-headers/math.texi: Mention OpenVMS issues.
21771 2017-07-15  Bruno Haible  <bruno@clisp.org>
21773         getdtablesize: Add minimal support for OpenVMS.
21774         Reported by John E. Malmberg <wb8tyw@qsl.net>.
21775         * modules/getdtablesize (Description): Fix.
21776         * lib/getdtablesize.c: Fix comment.
21777         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
21778         getdtablesize() function, even though the test fails.
21779         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
21780         limitation on OpenVMS.
21782 2017-07-13  Bruno Haible  <bruno@clisp.org>
21784         Revisit cross-compilation guesses.
21785         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
21787 2017-07-13  Bruno Haible  <bruno@clisp.org>
21789         Improve cross-compilation guesses for native Windows.
21790         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
21791         Windows.
21792         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
21793         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
21794         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21795         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
21796         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
21797         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
21798         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21799         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
21800         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21801         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
21802         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
21803         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
21804         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
21805         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
21806         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
21807         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
21808         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
21809         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
21810         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21811         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
21812         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
21813         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
21814         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
21815         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
21816         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
21817         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
21818         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
21819         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
21820         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21821         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
21822         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
21823         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
21824         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
21825         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
21826         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
21827         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
21828         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21829         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21830         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
21831         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21832         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21833         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21834         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
21835         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
21836         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
21837         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
21838         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
21839         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
21840         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
21841         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
21842         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
21843         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
21844         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
21845         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
21846         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
21847         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
21848         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
21849         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
21850         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
21851         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
21852         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21853         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
21854         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
21855         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
21856         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
21857         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21858         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
21859         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21860         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
21861         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
21862         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
21863         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
21864         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21865         * m4/regex.m4 (gl_REGEX): Likewise.
21866         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
21867         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
21868         gl_FUNC_REMAINDERF_WORKS): Likewise.
21869         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
21870         gl_FUNC_REMAINDERL_WORKS): Likewise.
21871         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21872         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21873         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21874         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
21875         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21876         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
21877         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
21878         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21879         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
21880         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21881         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
21882         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
21883         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21884         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21885         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
21886         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
21887         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
21888         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
21889         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21890         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
21891         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
21892         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21893         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21894         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21895         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21896         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21897         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21898         Likewise.
21899         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21900         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
21901         Windows. Enable also on Autoconf 2.70.
21902         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21903         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21904         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
21905         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
21906         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
21907         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
21908         for native Windows.
21909         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
21910         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
21912 2017-07-13  Bruno Haible  <bruno@clisp.org>
21914         Improve cross-compilation guesses for native Windows.
21915         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
21916         Windows.
21917         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
21918         memchr.m4.
21919         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21921 2017-07-13  Bruno Haible  <bruno@clisp.org>
21923         Improve cross-compilation guesses for native Windows.
21924         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
21925         native Windows.
21926         (gl_FUNC_FFLUSH): Update accordingly.
21927         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
21928         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
21930 2017-07-11  Bruno Haible  <bruno@clisp.org>
21932         More systematic m4 quoting and indentation.
21933         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
21934         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21935         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
21936         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21937         * m4/host-os.m4 (gl_HOST_OS): Likewise.
21938         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
21939         gl_WINSIZE_IN_PTEM): Likewise.
21940         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
21941         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
21942         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
21943         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
21944         Correct indentation.
21945         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
21946         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21947         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
21948         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21949         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
21950         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21952 2017-07-10  Bruno Haible  <bruno@clisp.org>
21954         round, roundf: Avoid compiler warning in configure test.
21955         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
21956         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21958 2017-07-10  Bruno Haible  <bruno@clisp.org>
21960         getlogin tests: Avoid #ifdefs when sharing code between modules.
21961         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
21962         * modules/getlogin-tests (Files): Likewise. Remove
21963         tests/test-getlogin_r.c.
21964         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
21965         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
21966         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
21967         getlogin().
21969 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21971         getlogin: don’t assume one name per uid
21972         Problem reported by Wolfgang F. Muthmann (Bug#27640).
21973         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
21974         (ttyname): Remove test.
21975         * modules/getlogin_r-tests (ttyname): Remove test.
21976         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
21977         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
21978         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
21979         getlogin rather than getlogin_r.  This avoids code duplication.
21980         (main): Use isatty and fstat rather than ttyname and stat.
21981         Use getpwnam instead of getpwuid, to be portable to test platforms
21982         that have multiple login names for the same uid.
21984 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
21985             Bruno Haible  <bruno@clisp.org>
21987         glob: Fix more memory leaks.
21988         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
21989         returning.
21990         Reported by Tim Rühsen.
21992 2017-07-10  Bruno Haible  <bruno@clisp.org>
21994         Make sure $host and $host_os are defined when used.
21995         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
21996         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
21997         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
21998         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21999         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22000         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
22001         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22002         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22003         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22004         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22005         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
22006         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
22007         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22008         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
22009         m4_ifdef block.
22011 2017-07-09  Bruno Haible  <bruno@clisp.org>
22013         *printf: Fix cross-compilation guess for Solaris.
22014         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
22015         2010-12-21.
22017 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
22018             Bruno Haible  <bruno@clisp.org>
22020         vasnprintf: port to macOS 10.13
22021         Problem reported by comex in:
22022         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
22023         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
22025 2017-07-06  Bruno Haible  <bruno@clisp.org>
22027         imaxdiv tests: Fix logic.
22028         * tests/test-imaxdiv.c (main): Use == instead of =.
22029         Reported by Coverity.
22031 2017-07-06  Bruno Haible  <bruno@clisp.org>
22033         uninorm/filter: Fix use-after-free bug.
22034         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
22035         sortbuf == filter->sortbuf invariant.
22036         Reported by Coverity.
22038 2017-07-06  Bruno Haible  <bruno@clisp.org>
22040         glob: Fix more memory leaks.
22041         * lib/glob.c (glob): Free dirname before returning.
22042         Reported by Coverity and Tim Rühsen.
22044 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22046         parse-datetime: fix uninit var bug
22047         Reported by Bruno Haible in:
22048         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
22049         * lib/parse-datetime.y (parse_datetime2): Do not use
22050         uninitialized.
22052 2017-07-05  Bruno Haible  <bruno@clisp.org>
22054         doc: Update for MSVC 14.
22055         * doc/posix-headers/*.texi: Add info about MSVC 14.
22056         * doc/posix-functions/*.texi: Likewise.
22057         * doc/pastposix-functions/*.texi: Likewise.
22058         * doc/glibc-headers/*.texi: Likewise.
22059         * doc/glibc-functions/*.texi: Likewise.
22061 2017-07-05  Bruno Haible  <bruno@clisp.org>
22063         sched: Fix build failure on native Windows (regression from 2017-06-19).
22064         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
22066 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
22068         stdioext: Port to OpenVMS.
22069         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
22070         * lib/fpending.c (fpending): Remove non-working VMS specific code.
22071         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
22072         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
22073         * lib/fpurge.c (fpurge): Likewise.
22074         * lib/freadable.c (freadable): Likewise.
22075         * lib/freadahead.c (freadahead): Likewise.
22076         * lib/freading.c (freading): Likewise.
22077         * lib/freadptr.c (freadptr): Likewise.
22078         * lib/freadseek.c (freadseek): Likewise.
22079         * lib/fseeko.c (fseeko): Likewise.
22080         * lib/fseterr.c (fseterr): Likewise.
22081         * lib/fwritable.c (fwriteable): Likewise.
22082         * lib/fwriting.c (fwriting): Likewise.
22084 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
22086         glob: Declare variables at the very start of their scope.
22087         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
22088         its separate scope, so the functions will compile on Haiku.
22090 2017-07-01  Bruno Haible  <bruno@clisp.org>
22092         logbl: Work around a glibc bug on PowerPC64LE.
22093         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
22094         numbers.
22095         * doc/posix-functions/logbl.texi: Update.
22097 2017-06-29  Bruno Haible  <bruno@clisp.org>
22099         stat, fstat: Compile stat-w32.c only on platforms that need it.
22100         Suggested by Paul Eggert.
22101         * modules/stat (configure.ac): Request stat-w32.o only on native
22102         Windows.
22103         * modules/fstat (configure.ac): Likewise.
22105 2017-06-25  Bruno Haible  <bruno@clisp.org>
22107         stat: Improve last change.
22108         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
22110 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22112         stat: port to xlc 12.01
22113         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
22114         12.01 complains "Compilation unit is empty."
22116 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22118         xalloc-oversized: port to icc
22119         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
22120         __builtin_mul_overflow if ICC is defined, as this results in
22121         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
22122         20170213.
22124 2017-06-19  Bruno Haible  <bruno@clisp.org>
22126         classpath: Avoid including config.h twice, as it produces warnings.
22127         Reported by John E. Malmberg <wb8tyw@gmail.com>.
22128         * lib/classpath.h: Conditionalize the include of config.h.
22130 2017-06-19  Bruno Haible  <bruno@clisp.org>
22131             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
22133         sched: Fix compilation failure on OpenVMS.
22134         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
22135         test whether <pthread.h> exists and defines struct sched_param.
22136         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
22138 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22140         diffseq: port to GCC 7 with --enable-gcc-warnings
22141         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
22142         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
22143         not complain about big_snake being defined but not used.
22145 2017-06-15  Bruno Haible  <bruno@clisp.org>
22147         gettext-h: Update theoretical condition for use of variable size arrays.
22148         Reported by Paul Eggert.
22149         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
22150         to include the theoretical condition for availability of variable size
22151         arrays, if we could trust the value of __STDC_VERSION__.
22153 2017-06-12  Bruno Haible  <bruno@clisp.org>
22155         Relicense some modules under LGPLv2+.
22156         Daiki Ueno's approval is in
22157         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
22158         * modules/uniwidth/base (License): Change to LGPLv2+.
22159         * modules/uniwidth/width (License): Likewise.
22161 2017-06-11  Bruno Haible  <bruno@clisp.org>
22163         localename: Fix test failure on DragonFly BSD.
22164         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
22165         like FreeBSD.
22167 2017-06-11  Bruno Haible  <bruno@clisp.org>
22169         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
22170         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
22171         * lib/float.in.h: Likewise.
22172         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
22174 2017-06-11  Bruno Haible  <bruno@clisp.org>
22176         gnulib-tool: Clean up after autotools.
22177         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
22178         useless directory left over by the Autotools.
22180 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22182         getopt-posix: port to glibc 2.25.90
22183         Problem reported by Daniel P. Berrange in:
22184         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
22185         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
22186         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
22187         #undef if __GETOPT_PREFIX is defined.
22189 2017-06-11  Bruno Haible  <bruno@clisp.org>
22191         strtod-obsolete: Fix license.
22192         * modules/strtod-obsolete (License): Change to LGPL.
22194 2017-06-10  Jim Meyering  <meyering@fb.com>
22196         maint: update to work with GCC7's -Werror=implicit-fallthrough=
22197         * lib/savewd.c (FALLTHROUGH): Define.
22198         (savewd_save, savewd_restore): Use this, rather than a comment,
22199         whenever one switch case falls through into the next.
22201 2017-06-08  Bruno Haible  <bruno@clisp.org>
22203         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
22204         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
22205         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
22206         case.
22208 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
22210         doc: remove robots, add prereqs
22211         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
22212         builds.  Simon's robot site does not seem to be up, so remove
22213         mentions of it for now.
22215 2017-06-08  Bruno Haible  <bruno@clisp.org>
22217         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
22218         * gnulib-tool (func_symlink_target): New function, extracted from
22219         func_symlink.
22220         (func_symlink, func_symlink_if_changed): Use it.
22222 2017-06-08  Bruno Haible  <bruno@clisp.org>
22224         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
22225         * gnulib-tool (func_ln_s): Determine cp_src correctly.
22227 2017-06-07  Bruno Haible  <bruno@clisp.org>
22229         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
22230         Reported by John E. Malmberg <wb8tyw@gmail.com> in
22231         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
22232         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
22233         override, pass 2 arguments to getcwd, not 3.
22235 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22237         same-inode: port better to VMS 8.2 and later
22238         Problem reported by John E. Malmberg in:
22239         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
22240         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
22241         Use the usual POSIX definition.
22242         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
22244 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22246         error: fix POSIX violation for va_end
22247         Problem reported by Bruno Haible in:
22248         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
22249         * lib/error.c (error_tail): Do not call va_end here.
22250         (error, error_at_line): Call it here instead.
22252 2017-05-28  Bruno Haible  <bruno@clisp.org>
22254         c-strtod: Make it usable in C++ mode.
22255         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
22257 2017-05-25  Jim Meyering  <meyering@fb.com>
22259         quotearg: fix compilation failure due to FALLTHROUGH misuse
22260         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
22261         macro back to /* fall through */ comment.  The macro can apply only
22262         to a following case statement.  Reported by Assaf Gordon.
22264 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
22266         intprops: port to recent icc
22267         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
22268         but does not support __builtin_add_overflow etc.
22269         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
22270         Define to 0.
22272 2017-05-23  Karl Berry  <karl@freefriends.org>
22274         * config/srclist.txt (iconv.m4): sync broken, comment out
22275         until (hopefully) the next gettext release.
22277 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
22279         Remove repeated words in comments.
22281 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
22283         fallthrough: reinstate a FALLTHROUGH instance in quotearg
22284         quotearg.c: Reinstate this instance which is significant
22285         when the if branch is not taken.
22287 2017-05-21  Bruno Haible  <bruno@clisp.org>
22289         gnulib-tool: Add options to create hard links.
22290         * gnulib-tool (func_usage): Document options --hardlink,
22291         --local-hardlink, --more-hardlinks.
22292         (func_symlink): Renamed from func_ln.
22293         (func_symlink_if_changed): Renamed from func_ln_if_changed.
22294         (func_hardlink): New function.
22295         (copymode, lcopymode): New variables.
22296         (symbolic, lsymbolic): Remove variables.
22297         (Options): Implement options --hardlink, --local-hardlink,
22298         --more-hardlinks.
22299         (func_should_link): Renamed from func_should_symlink. Set copyaction.
22300         (func_add_file, func_update_file): Update invocation of
22301         func_should_link. Invoke func_hardlink when appropriate.
22302         (func_import): Update comments.
22303         (func_create_testdir): Update invocation of func_should_link. Invoke
22304         func_hardlink when appropriate.
22305         Finally, invoke 'git update-index --refresh' to mitigate the effects of
22306         the hard links on git.
22308 2017-05-20  Bruno Haible  <bruno@clisp.org>
22310         argp: Simplify bit manipulation.
22311         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
22312         on a signed integer type.
22314 2017-05-20  Bruno Haible  <bruno@clisp.org>
22316         Avoid wrong configure results with gcc -fsanitize=address.
22317         This completes the work done on 2016-02-06 on this topic.
22318         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
22319         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22321         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22322         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
22323         returning.
22324         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22325         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
22326         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22327         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22328         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22329         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22330         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
22331         free allocated memory before returning.
22332         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22333         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
22334         objects before returning.
22335         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
22336         returning.
22338 2017-05-20  Bruno Haible  <bruno@clisp.org>
22340         gnulib-tool: Don't create hard links between gnulib and its testdirs.
22341         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
22343 2017-05-20  Bruno Haible  <bruno@clisp.org>
22345         argp, tsearch tests: Fix file list.
22346         * modules/argp-tests (Files): Add tests/macros.h.
22347         * modules/tsearch-tests (Files): Likewise.
22349 2017-05-20  Bruno Haible  <bruno@clisp.org>
22351         getopt-posix tests: Remove redundant include.
22352         * tests/test-getopt.h: Don't include "macros.h". It's already included
22353         by tests/test-getopt-main.h.
22355 2017-05-19  Jim Meyering  <meyering@fb.com>
22357         dfa: two small simplifications
22358         * lib/dfa.c (build_state): Avoid repeating longer expressions.
22360 2017-05-18  Jim Meyering  <meyering@fb.com>
22362         fallthrough: update for GCC 7/8
22363         * lib/quotearg.c (FALLTHROUGH): New macro.
22364         Use it whenever one switch case falls through into the next,
22365         replacing "/* Fall through */" comments.  This exposed one
22366         instance of an unwarranted "fall through" comment: unwarranted
22367         because it preceded a "goto" label not a case statement.
22368         * lib/freopen-safer.c (freopen_safer): Likewise.
22369         * lib/fts.c (leaf_optimization_applies): Likewise.
22370         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
22371         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
22372         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
22373         tests/macros.h for the definition.
22374         * tests/test-argp.c (group1_parser): Likewise.
22375         * tests/test-getopt.h (getopt_loop): Likewise.
22377 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22379         argp: fix shift bug
22380         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
22381         behavior on shift overflow, caught by gcc -fsanitize=undefined.
22383         argp: fix pointer-subtraction bug
22384         * lib/argp-help.c (hol_append): Don’t subtract pointers to
22385         different arrays, as this can run afoul of -fcheck-pointer-bounds.
22386         See the thread containing Bruno Haible’s report in:
22387         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
22389 2017-05-19  Bruno Haible  <bruno@clisp.org>
22391         printf-posix tests: Avoid test failure with "gcc --coverage".
22392         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22393         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
22394         than 5000000.
22395         * tests/test-fprintf-posix2.c (main): Likewise.
22397 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22399         closeout: don’t close stderr when sanitizing
22400         * NEWS: Document this.
22401         * lib/closeout.c (__has_feature): New macro, if not already defined.
22402         (SANITIZE_ADDRESS): New constant.
22403         (close_stdout): Don’t close stderr if sanitizing addresses.
22405 2017-05-19  Bruno Haible  <bruno@clisp.org>
22407         get-rusage-data tests: Avoid failure on Linux/glibc.
22408         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
22409         on glibc systems.
22411 2017-05-18  Bruno Haible  <bruno@clisp.org>
22413         localename: Include necessary header files on Cygwin.
22414         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
22415         where NL_LOCALE_NAME is defined.
22417 2017-05-18  Bruno Haible  <bruno@clisp.org>
22419         gettext: Update macros from gettext git.
22420         * m4/intldir.m4: Require Autoconf >= 2.60.
22421         * m4/progtest.m4: Fix typos in copyright notice.
22423 2017-05-18  Bruno Haible  <bruno@clisp.org>
22425         copy-file tests: Fix link error (regression from 2017-05-01).
22426         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22427         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
22428         $(LIB_CLOCK_GETTIME).
22430 2017-05-18  Bruno Haible  <bruno@clisp.org>
22432         unicase/special-casing: Fix incompatibility with gperf-3.0.4
22433         (regression from 2017-02-13).
22434         * lib/unicase/special-casing.in.h: Renamed from
22435         lib/unicase/special-casing.h.
22436         * modules/unicase/special-casing (Files): Add
22437         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
22438         (Makefile.am): Add rule for generating unicase/special-casing.h.
22439         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
22440         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
22441         not "special-casing.h".
22442         * lib/unicase/u*.c: Likewise.
22444 2017-05-17  Bruno Haible  <bruno@clisp.org>
22446         README: Don't ask people to read a TeXinfo file.
22447         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22448         * README: Tell people how to read the HTML formatted manual.
22450 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
22452         parse-datetime: Fix memleak
22453         * lib/parse-datetime.y (parse_datetime2): Cleanup on
22454         localtime_rz() failure.
22456 2017-05-16  Bruno Haible  <bruno@clisp.org>
22458         javacomp: Fix handle leak.
22459         Found by Coverity.
22460         * lib/javacomp.c (get_classfile_version): Close fd before returning.
22462 2017-05-16  Bruno Haible  <bruno@clisp.org>
22464         relocate: Make it easier to reclaim allocated memory.
22465         * lib/relocatable.h (relocate2): New declaration/macro.
22466         * lib/relocatable.c (relocate2): New function.
22467         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
22468         relocate2 function.
22469         * lib/localcharset.c (relocate2): Define fallback.
22470         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
22471         allocated memory.
22472         * lib/javaversion.c (relocate2): Define fallback.
22473         (javaexec_version): Invoke relocate2 instead of relocate. Free the
22474         allocated memory.
22476 2017-05-16  Bruno Haible  <bruno@clisp.org>
22478         relocate: Simplify EMX specific code.
22479         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
22480         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
22482 2017-05-16  Bruno Haible  <bruno@clisp.org>
22484         sigpipe tests: Fix file list.
22485         * modules/sigpipe-tests (Files): Add tests/macros.h.
22487 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22489         manywarnings: update for GCC 7
22490         * build-aux/gcc-warning.spec:
22491         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
22492         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
22493         requires a non-comment fallthrough attribute.  This is a bit
22494         cleaner than the comment versions.
22495         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
22496         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
22497         Use it whenever one switch case falls through into the next.
22498         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
22499         Use FALLTHROUGH macro.
22501 2017-05-15  Bruno Haible  <bruno@clisp.org>
22503         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
22504         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
22505         @ALLOCA@, not @LTALLOCA@.
22507 2017-05-15  Bruno Haible  <bruno@clisp.org>
22509         sys_select: Avoid "was expanded before it was required" warning.
22510         * modules/sys_select (configure.ac): Require, not invoke,
22511         gl_HEADER_SYS_SELECT.
22513 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22515         gnulib-tool: improve GNU Make debugging
22516         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
22517         Report autoconf diagnostics when it fails, in the output makefile.
22519 2017-05-14  Bruno Haible  <bruno@clisp.org>
22521         stat-time tests: Improve comment.
22522         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
22524 2017-05-14  Bruno Haible  <bruno@clisp.org>
22526         same-inode: Adapt for windows-stat-inodes.
22527         * lib/same-inode.h: Include <sys/types.h>.
22528         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
22529         * modules/same-inode (Depends-on): Add sys_types.
22531 2017-05-14  Bruno Haible  <bruno@clisp.org>
22533         windows-stat-inodes: New module.
22534         * m4/windows-stat-inodes.m4: New file.
22535         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
22536         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
22537         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
22538         (_GL_WINDOWS_STAT_INODES): New macro.
22539         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
22540         (GetFileInformationByHandleExFunc): New variable.
22541         (initialize): Initialize it.
22542         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
22543         st_ino appropriately.
22544         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
22545         a fallback, because it does not provide st_dev and st_ino values.
22546         * modules/fstat (Depends-on): Add 'verify'.
22547         * modules/windows-stat-inodes: New file.
22548         * doc/windows-stat-inodes.texi: New file.
22549         * doc/gnulib.texi: Include it.
22550         * doc/posix-headers/sys_stat.texi: Mention the new module.
22552 2017-05-14  Bruno Haible  <bruno@clisp.org>
22554         stat-time tests: Workaround for native Windows.
22555         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
22556         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
22557         New variables.
22558         (initialize_filenames): New function.
22559         (main): Invoke it.
22560         (cleanup, prepare_test): Update.
22562 2017-05-14  Bruno Haible  <bruno@clisp.org>
22564         stat-time: Adapt for windows-stat-timespec.
22565         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
22566         entire st_ctim field.
22568 2017-05-13  Jim Meyering  <meyering@fb.com>
22570         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
22571         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
22572         file that uses the assume macro, claiming that verify.h is unused.
22574 2017-05-13  Bruno Haible  <bruno@clisp.org>
22576         Use symbolic values for _WIN32_WINNT.
22577         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
22578         * lib/sethostname.c (_WIN32_WINNT): Likewise.
22580 2017-05-13  Bruno Haible  <bruno@clisp.org>
22582         year2038: New module.
22583         * m4/year2038.m4: New file.
22584         * modules/year2038: New file.
22585         * doc/year2038.texi: New file.
22586         * doc/gnulib.texi: Include it.
22588 2017-05-13  Bruno Haible  <bruno@clisp.org>
22590         largefile: Simplify.
22591         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
22592         of _GL_WINDOWS_64_BIT_ST_SIZE.
22594 2017-05-13  Bruno Haible  <bruno@clisp.org>
22596         largefile: Improve and document.
22597         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
22598         the mingw headers already define 'stat' appropriately.
22599         * modules/largefile (Description): Clarify.
22600         * doc/largefile.texi: New file.
22601         * doc/gnulib.texi: Include it.
22602         * doc/posix-headers/sys_types.texi: Update.
22604 2017-05-13  Bruno Haible  <bruno@clisp.org>
22606         truncate: New module.
22607         * lib/unistd.in.h (truncate): New declaration.
22608         * lib/truncate.c: New file.
22609         * m4/truncate.m4: New file.
22610         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
22611         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
22612         REPLACE_TRUNCATE.
22613         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
22614         HAVE_TRUNCATE, REPLACE_TRUNCATE.
22615         * modules/truncate: New file.
22616         * tests/test-unistd-c++.cc (truncate): Test signature.
22617         * doc/posix-functions/truncate.texi: Mention the new module.
22619         * tests/test-truncate.c: New file.
22620         * modules/truncate-tests: New file.
22622 2017-05-13  Bruno Haible  <bruno@clisp.org>
22624         windows-stat-timespec: New module.
22625         * modules/windows-stat-timespec: New file.
22626         * m4/windows-stat-timespec.m4: New file.
22627         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
22628         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
22629         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
22630         fields st_atim, st_mtim, st_ctim.
22631         (st_atime, st_mtime, st_ctime): Define as macros.
22632         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
22633         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
22634         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
22635         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
22636         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
22637         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
22638         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
22639         FILETIME to 'struct timespec', not 'time_t'.
22640         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
22641         FILETIME to 'struct timespec', not 'time_t'.
22642         * lib/stat-time.h (STAT_TIMESPEC): Define also if
22643         _GL_WINDOWS_STAT_TIMESPEC.
22644         * doc/windows-stat-timespec.texi: New file.
22645         * doc/gnulib.texi: Include it.
22647 2017-05-13  Bruno Haible  <bruno@clisp.org>
22649         windows-stat-override: New module.
22650         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
22651         definition. Define GNULIB_defined_struct_stat.
22652         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
22653         link error if this symbol is used and the corresponding module is not
22654         in use.
22655         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
22656         GNULIB_OVERRIDES_STRUCT_STAT.
22657         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
22658         GNULIB_OVERRIDES_STRUCT_STAT.
22659         * modules/sys_stat (Makefile.am): Substitute
22660         GNULIB_OVERRIDES_STRUCT_STAT.
22661         * modules/windows-stat-override: New file.
22663 2017-05-13  Bruno Haible  <bruno@clisp.org>
22665         fstat: Fix module dependency conditions.
22666         * modules/fstat (Depends-on): Fix typo.
22668 2017-05-13  Bruno Haible  <bruno@clisp.org>
22670         stat, fstat: Complete removal of old native Windows code.
22671         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
22672         * lib/fstat.c: Likewise.
22673         * lib/stat-w32.c: Likewise.
22675 2017-05-13  Bruno Haible  <bruno@clisp.org>
22677         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
22678         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
22680 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22682         getopt-posix: port to mingw
22683         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
22684         Problem reported by Daniel P. Berrage in:
22685         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
22687 2017-05-11  Bruno Haible  <bruno@clisp.org>
22689         gettimeofday: Increase precision on mingw.
22690         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
22691         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
22692         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
22693         GetSystemTimePreciseAsFileTime based implementation always.
22694         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
22695         mingw.
22697 2017-05-11  Bruno Haible  <bruno@clisp.org>
22699         poll: Fix confusion between SOCKETs and FDs on native Windows.
22700         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
22701         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
22703 2017-05-11  Bruno Haible  <bruno@clisp.org>
22705         doc: Clarify doc about socket functions on native Windows.
22706         This reworks doc that was added on 2008-09-29.
22707         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
22708         clearer wording.
22709         * doc/posix-functions/accept.texi: Use clearer wording.
22710         * doc/posix-functions/bind.texi: Likewise.
22711         * doc/posix-functions/connect.texi: Likewise.
22712         * doc/posix-functions/getpeername.texi: Likewise.
22713         * doc/posix-functions/getsockname.texi: Likewise.
22714         * doc/posix-functions/getsockopt.texi: Likewise.
22715         * doc/posix-functions/ioctl.texi: Likewise.
22716         * doc/posix-functions/listen.texi: Likewise.
22717         * doc/posix-functions/recv.texi: Likewise.
22718         * doc/posix-functions/recvfrom.texi: Likewise.
22719         * doc/posix-functions/send.texi: Likewise.
22720         * doc/posix-functions/sendto.texi: Likewise.
22721         * doc/posix-functions/setsockopt.texi: Likewise.
22722         * doc/posix-functions/shutdown.texi: Likewise.
22723         * doc/posix-functions/socket.texi: Likewise.
22725 2017-05-10  Bruno Haible  <bruno@clisp.org>
22727         poll: Fix link error on native Windows.
22728         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
22730 2017-05-10  Bruno Haible  <bruno@clisp.org>
22732         time: Fix missing initialization of HAVE_TIMEZONE_T.
22733         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
22734         here...
22735         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
22736         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
22737         gl_HEADER_SYS_TIME_H_DEFAULTS.
22738         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
22739         (configure.ac): Remove useless quoting.
22741 2017-05-10  Bruno Haible  <bruno@clisp.org>
22743         Implement a way to opt out from MSVC support, part 2.
22744         * modules/msvc-inval (Include): Document recommended idiom.
22745         * modules/msvc-nothrow (Include): Likewise.
22747         Implement a way to opt out from MSVC support.
22748         This is useful for Emacs.
22749         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
22750         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
22751         * lib/error.c: Likewise.
22752         * lib/fcntl.c: Likewise.
22753         * lib/flock.c: Likewise.
22754         * lib/fstat.c: Likewise.
22755         * lib/fsync.c: Likewise.
22756         * lib/ioctl.c: Likewise.
22757         * lib/isapipe.c: Likewise.
22758         * lib/lseek.c: Likewise.
22759         * lib/nonblocking.c: Likewise.
22760         * lib/poll.c: Likewise.
22761         * lib/select.c: Likewise.
22762         * lib/sockets.h: Likewise.
22763         * lib/sockets.c: Likewise.
22764         * lib/stdio-read.c: Likewise.
22765         * lib/stdio-write.c: Likewise.
22766         * lib/utimens.c: Likewise.
22767         * lib/w32sock.h: Likewise.
22768         * lib/w32spawn.h: Likewise.
22769         * tests/test-cloexec.c: Likewise.
22770         * tests/test-dup-safer.c: Likewise.
22771         * tests/test-dup2.c: Likewise.
22772         * tests/test-dup3.c: Likewise.
22773         * tests/test-fcntl.c: Likewise.
22774         * tests/test-pipe.c: Likewise.
22775         * tests/test-pipe2.c: Likewise.
22776         * lib/ftruncate.c: Likewise.
22777         (chsize_nothrow): Renamed from chsize.
22778         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
22779         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
22780         * lib/close.c: Likewise.
22781         * lib/dup.c: Likewise.
22782         * lib/fclose.c: Likewise.
22783         * lib/raise.c: Likewise.
22784         * tests/test-fgetc.c: Likewise.
22785         * tests/test-fputc.c: Likewise.
22786         * tests/test-fread.c: Likewise.
22787         * tests/test-fwrite.c: Likewise.
22788         * lib/getdtablesize.c: Likewise.
22789         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
22790         * lib/isatty.c: Don't include msvc-inval.h if
22791         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
22792         Include <io.h> as an alternative to msvc-nothrow.h.
22793         * lib/read.c: Likewise.
22794         * lib/write.c: Likewise.
22795         * lib/dup2.c: Likewise.
22796         (dup2_nothrow): New function.
22797         (ms_windows_dup2): Use it.
22798         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
22799         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
22800         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22801         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
22802         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
22803         * m4/read.m4 (gl_FUNC_READ): Likewise.
22804         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
22805         * doc/windows-without-msvc.texi: New file.
22806         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
22807         section.
22809 2017-05-10  Bruno Haible  <bruno@clisp.org>
22811         wait-process: Adjust native Windows support.
22812         * lib/wait-process.c: Use the usual condition for recognizing a native
22813         Windows platform.
22815 2017-05-10  Bruno Haible  <bruno@clisp.org>
22817         doc: New chapter "Native Windows Support".
22818         * doc/gnulib.texi (Native Windows Support): New chapter.
22819         * doc/windows-libtool.texi: Small wording changes.
22820         * doc/windows-sockets.texi: Small wording and formatting changes.
22822 2017-05-10  Bruno Haible  <bruno@clisp.org>
22824         doc: Move section "Library version handling".
22825         * doc/gnulib.texi: Move section "Library version handling"
22826         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
22828 2017-05-10  Bruno Haible  <bruno@clisp.org>
22830         doc: Move section "Running self-tests under valgrind".
22831         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
22832         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
22834 2017-05-10  Bruno Haible  <bruno@clisp.org>
22836         doc: New chapter "Build Infrastructure Modules".
22837         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
22839 2017-05-10  Bruno Haible  <bruno@clisp.org>
22841         Prepare for reordering sections in the manual.
22842         * doc/gnulib.texi: Move several sections to separate files. Include
22843         these files.
22844         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
22845         * doc/obsolete.texi: Likewise.
22846         * doc/extra-tests.texi: Likewise.
22847         * doc/transversal.texi: Likewise.
22848         * doc/namespace.texi: Likewise.
22849         * doc/check-version.texi: Likewise.
22850         * doc/windows-sockets.texi: Likewise.
22851         * doc/windows-libtool.texi: Likewise.
22852         * doc/licenses-texi.texi: Likewise.
22853         * doc/build-automation.texi: Likewise.
22854         * doc/c-locale.texi: Likewise.
22856 2017-05-10  Bruno Haible  <bruno@clisp.org>
22858         Fix instructions how to update manual on www.gnu.org.
22859         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
22861 2017-05-09  Bruno Haible  <bruno@clisp.org>
22863         tzset: Expand comment about TZ problem on native Windows.
22864         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
22865         Paul Eggert.
22866         * lib/ctime.c (rpl_ctime): Likewise.
22867         * lib/localtime.c (rpl_localtime): Likewise.
22868         * lib/mktime.c (mktime): Likewise.
22869         * lib/strftime-fixes.c (rpl_strftime): Likewise.
22870         * lib/wcsftime.c (rpl_wcsftime): Likewise.
22872 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22874         intprops: don’t depend on ‘verify’
22875         Problem reported by Ævar Arnfjörð Bjarmason in:
22876         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
22877         * lib/intprops.h: Do not include verify.h, and move compile-time
22878         checks from here ...
22879         * tests/test-intprops.c (main): ... to here, if they’re not here
22880         already.  Check widths of other standard integer types.
22881         * modules/intprops (Depends-on): Remove ‘verify’.
22883 2017-05-07  Bruno Haible  <bruno@clisp.org>
22885         utimens: On native Windows, support 100ns resolution also if fd < 0.
22886         * lib/utime.in.h: Include <time.h>.
22887         (_gl_utimens_windows): New declaration.
22888         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
22889         (utime): Invoke it.
22890         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
22891         instead of utime.
22892         * modules/utime (Depends-on): Add 'time'.
22894 2017-05-07  Bruno Haible  <bruno@clisp.org>
22896         utimens: Improve error code on native Windows.
22897         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
22898         error code EACCES, not EINVAL.
22900 2017-05-07  Bruno Haible  <bruno@clisp.org>
22902         utime: Handle more Windows error codes.
22903         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
22904         Based on explanations by Billy O'Neal.
22906 2017-05-05  Bruno Haible  <bruno@clisp.org>
22908         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
22909         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
22910         union.
22911         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
22912         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
22913         value of cipher->IV.
22915 2017-05-05  Bruno Haible  <bruno@clisp.org>
22917         wctype-h-c++-tests: Update.
22918         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
22920 2017-05-05  Bruno Haible  <bruno@clisp.org>
22922         wchar-c++-tests: Update.
22923         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
22925 2017-05-05  Bruno Haible  <bruno@clisp.org>
22927         utime-h-c++-tests: New module.
22928         * tests/test-utime-h-c++.cc: New file.
22929         (utime): Declare, missing since 2017-04-30.
22930         * modules/utime-h-c++-tests: New file.
22932 2017-05-05  Bruno Haible  <bruno@clisp.org>
22934         unistd-c++-tests: Update.
22935         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
22936         (read): Declare, missing since 2011-04-15.
22937         (sethostname): Declare, missing since 2011-12-03.
22939 2017-05-05  Bruno Haible  <bruno@clisp.org>
22941         time-c++-tests: Update.
22942         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
22943         (localtime, gmtime): Declare, missing since 2017-04-30.
22944         (ctime): Declare, missing since 2017-04-30.
22945         (strftime): Declare, missing since 2017-04-30.
22946         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
22947         2015-07-24.
22949 2017-05-05  Bruno Haible  <bruno@clisp.org>
22951         sys_resource-c++-tests: New module.
22952         * tests/test-sys_resource-c++.cc: New file.
22953         (getrusage): Declare, missing since 2012-04-13.
22954         * modules/sys_resource-c++-tests: New file.
22956 2017-05-05  Bruno Haible  <bruno@clisp.org>
22958         strings-c++-tests: New module.
22959         * tests/test-strings-c++.cc: New file.
22960         (ffs): Declare, missing since 2011-07-12.
22961         * modules/strings-c++-tests: New file.
22963 2017-05-05  Bruno Haible  <bruno@clisp.org>
22965         string-c++-tests: Update.
22966         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
22967         (ffsll): Declare, missing since 2011-07-15.
22969 2017-05-05  Bruno Haible  <bruno@clisp.org>
22971         stdlib-c++-tests: Update.
22972         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
22973         2011-10-18.
22974         (ptsname_r): Declare, missing since 2011-11-07.
22975         (qsort_r): Declare, missing since 2014-08-29.
22976         (random, srandom, initstate, setstate): Declare, missing since
22977         2012-01-14.
22978         (secure_getenv): Declare, missing since 2013-02-05.
22980 2017-05-05  Bruno Haible  <bruno@clisp.org>
22982         stdio-c++-tests: Update.
22983         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
22985 2017-05-05  Bruno Haible  <bruno@clisp.org>
22987         signal-h-c++-tests: Update.
22988         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
22990 2017-05-05  Bruno Haible  <bruno@clisp.org>
22992         math-c++-tests: Update.
22993         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
22994         (fma): Declare, missing since 2011-10-17.
22995         (fmal): Declare, missing since 2011-10-17.
22997 2017-05-05  Bruno Haible  <bruno@clisp.org>
22999         locale-c++-tests: Update.
23000         * tests/test-locale-c++.cc (localeconv): Declare, missing since
23001         2012-03-25.
23003 2017-05-05  Bruno Haible  <bruno@clisp.org>
23005         inttypes-c++-tests: New module.
23006         * tests/test-inttypes-c++.cc: New file.
23007         (strtoimax): Declare, missing since 2012-01-05.
23008         (strtoumax): Declare, missing since 2012-01-05.
23009         * modules/inttypes-c++-tests: New file.
23011 2017-05-05  Bruno Haible  <bruno@clisp.org>
23013         dirent-c++-tests: Update.
23014         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
23015         (rewinddir): Declare, missing since 2011-09-13.
23016         (dirfd): Declare, missing since 2010-03-08.
23018 2017-05-04  Bruno Haible  <bruno@clisp.org>
23020         argp: Fix mistake in 2017-04-23 commit.
23021         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
23022         assume that strerror_r returns 'int', not 'char *'.
23024 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
23026         argp: Fix typo.
23027         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
23029 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23031         utimens: port to Emacs + MS-Windows
23032         Skip the new MS-Windows-specific code if Emacs.
23033         * lib/utimens.c [EMACS_CONFIGUATION]:
23034         Avoid new MS-Windows-specific code.
23035         (USE_SETFILETIME): New macro.
23036         (fdutimens): Use it.
23038 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23040         tzset: update doc for TZ problems on MS-Windows
23041         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
23042         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
23043         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
23044         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
23045         * doc/posix-functions/wcsftime.texi:
23046         Mention some issues with TZ under MS-Windows.
23048 2017-05-01  Bruno Haible  <bruno@clisp.org>
23050         copy-file: Fix build error on mingw.
23051         * modules/copy-file (Depends-on): Add 'close'.
23053 2017-05-01  Bruno Haible  <bruno@clisp.org>
23055         tzset: Work around TZ problem on native Windows.
23056         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
23057         Windows, set REPLACE_TZSET to 1.
23058         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
23059         invoke '_tzset' instead of 'tzset'.
23060         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
23062         * modules/time_rz (Depends-on): Add tzset.
23063         * lib/time_rz.c (tzset): Remove fallback definition.
23064         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
23066 2017-05-01  Bruno Haible  <bruno@clisp.org>
23068         mktime: Fix dependencies.
23069         * modules/mktime (Depends-on): Add 'time'.
23071 2017-05-01  Bruno Haible  <bruno@clisp.org>
23073         New module 'localtime-buffer', split off from module 'gettimeofday'.
23074         * lib/localtime-buffer.h: New file.
23075         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
23076         * lib/time.in.h (tzset): New declaration.
23077         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
23078         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
23079         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
23080         moved to lib/localtime-buffer.c or lib/tzset.c.
23081         * m4/localtime-buffer.m4: New file.
23082         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
23083         HAVE_TZSET, REPLACE_TZSET.
23084         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
23085         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
23086         gl_LOCALTIME_BUFFER_NEEDED.
23087         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
23088         since 2007-01-18.
23089         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
23090         tzset.
23091         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
23092         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
23093         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
23094         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
23095         * modules/localtime-buffer: New file.
23096         * modules/time (Depends-on): Remove 'gettimeofday'.
23097         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
23098         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
23099         * modules/tzset (Description): Enable hyperlink to POSIX spec.
23100         (Files): Add lib/tzset.c.
23101         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
23102         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
23103         gl_TIME_MODULE_INDICATOR.
23104         * modules/gettimeofday (Depends-on): Add localtime-buffer.
23106 2017-05-01  Bruno Haible  <bruno@clisp.org>
23108         copy-file: Preserve sub-second time stamps.
23109         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
23110         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
23111         transport the time stamps from the original file to the destination
23112         file.
23113         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
23114         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
23115         utime-h.
23117 2017-05-01  Bruno Haible  <bruno@clisp.org>
23119         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
23120         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
23121         also on MSVC.
23122         Reported by Eli Zaretskii <eliz@gnu.org>.
23124 2017-05-01  Bruno Haible  <bruno@clisp.org>
23126         wchar: Fix compilation error with the original mingw.org mingw.
23127         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23128         <stddef.h> instead.
23129         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
23130         gl_WCTYPE_H.
23131         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
23132         gl_TYPE_WINT_T_PREREQ instead.
23133         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
23134         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
23135         Reported by Eli Zaretskii <eliz@gnu.org>.
23137 2017-04-30  Bruno Haible  <bruno@clisp.org>
23139         utimecmp: Add support for native Windows.
23140         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
23142 2017-04-30  Bruno Haible  <bruno@clisp.org>
23144         utimens: Add support for native Windows.
23145         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
23146         (fdutimens): Provide a native Windows implementation, like utime.c with
23147         added tv_nsec support.
23148         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
23149         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
23151 2017-04-30  Bruno Haible  <bruno@clisp.org>
23153         wcsftime: New module.
23154         * lib/wchar.in.h (wcsftime): New declaration.
23155         * lib/wcsftime.c: New file.
23156         * m4/wcsftime.m4: New file.
23157         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
23158         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
23159         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23160         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
23161         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23162         * modules/wcsftime: New file.
23163         * doc/posix-functions/wcsftime.texi: Mention the new module.
23165 2017-04-30  Bruno Haible  <bruno@clisp.org>
23167         strftime-fixes: New module.
23168         * lib/time.in.h (strftime): New declaration.
23169         * lib/strftime-fixes.c: New file.
23170         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
23171         (gl_FUNC_STRFTIME): Remove macro.
23172         * m4/strftime-fixes.m4: New file.
23173         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
23174         REPLACE_STRFTIME.
23175         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
23176         REPLACE_STRFTIME.
23177         * modules/strftime-fixes: New file.
23178         * doc/posix-functions/strftime.texi: Mention the new module.
23180 2017-04-30  Bruno Haible  <bruno@clisp.org>
23182         mktime: Work around TZ problem on native Windows.
23183         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
23184         from the native Windows workaround.
23185         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
23186         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
23187         'guessing no'.
23188         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
23189         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
23190         NEED_MKTIME_WINDOWS.
23191         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
23192         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
23193         NEED_MKTIME_INTERNAL.
23194         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
23195         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
23196         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
23197         not REPLACE_MKTIME.
23198         * doc/posix-functions/mktime.texi: Mention the native Windows
23199         workaround.
23201 2017-04-30  Bruno Haible  <bruno@clisp.org>
23203         localtime: New module.
23204         * lib/time.in.h (localtime): Declare also if requested by module
23205         'localtime'.
23206         * lib/localtime.c: New file.
23207         * m4/localtime.m4: New file.
23208         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
23209         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
23210         * modules/localtime: New file.
23211         * doc/posix-functions/localtime.texi: Mention the new module.
23213 2017-04-30  Bruno Haible  <bruno@clisp.org>
23215         ctime: New module.
23216         * lib/time.in.h (ctime): New declaration.
23217         * lib/ctime.c: New file.
23218         * m4/ctime.m4: New file.
23219         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
23220         REPLACE_CTIME.
23221         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
23222         * modules/ctime: New file.
23223         * doc/posix-functions/ctime.texi: Mention the new module.
23225 2017-04-30  Bruno Haible  <bruno@clisp.org>
23227         gettimeofday: Provide higher resolution on native Windows.
23228         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
23229         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
23230         (initialize): Initialize it.
23231         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
23232         'struct timeval'. Don't use _ftime().
23233         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
23234         <sys/timeb.h> and _ftime.
23236 2017-04-30  Bruno Haible  <bruno@clisp.org>
23238         Document the problem with the Cygwin environment variable TZ.
23239         * doc/posix-functions/tzset.texi: Add note about TZ.
23240         * doc/posix-functions/ctime.texi: Likewise.
23241         * doc/posix-functions/localtime.texi: Likewise.
23242         * doc/posix-functions/mktime.texi: Likewise.
23243         * doc/posix-functions/strftime.texi: Likewise.
23244         * doc/posix-functions/wcsftime.texi: Likewise.
23245         * doc/pastposix-functions/ftime.texi: Likewise.
23247 2017-04-30  Bruno Haible  <bruno@clisp.org>
23249         utime-tests: New module.
23250         * tests/test-utime.c: New file, based on tests/test-utimens.h.
23251         * tests/test-utimens-common.h: Include <sys/stat.h>.
23252         * modules/utime-tests: New file.
23254 2017-04-29  Bruno Haible  <bruno@clisp.org>
23256         utime: New module.
23257         * lib/utime.in.h: Add comment for snippets.
23258         (utime): New declaration.
23259         * lib/utime.c: New file.
23260         * m4/utime.m4: New file.
23261         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
23262         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
23263         REPLACE_UTIME.
23264         * modules/utime-h (Depends-on): Add snippets.
23265         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
23266         Insert snippets.
23267         * modules/utime: New file.
23268         * doc/posix-functions/utime.texi: Mention the new module.
23270 2017-04-29  Bruno Haible  <bruno@clisp.org>
23272         utime-h: Modernize handling of 'struct utimbuf'.
23273         * lib/utime.in.h: Include next <utime.h> if it exists.
23274         (utimbuf): Define to _utimbuf on native Windows.
23275         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
23276         Set UTIME_H on native Windows.
23277         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
23278         * modules/utime-h (Depends-on): Add include_next.
23279         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
23280         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
23282         * lib/utimens.c (utimbuf): Remove fallback definition.
23283         * m4/utimens.m4 (gl_UTIMENS): Don't require
23284         gl_CHECK_TYPE_STRUCT_UTIMBUF.
23285         * m4/utimbuf.m4: Remove file.
23286         * modules/utimens (Files): Remove m4/utimbuf.m4.
23288 2017-04-29  Bruno Haible  <bruno@clisp.org>
23290         Make use of module 'utime-h'.
23291         * modules/copy-file (Depends-on): Add utime-h.
23292         * lib/copy-file.c: Assume that <utime.h> exists.
23293         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
23295         * modules/utimens (Depends-on): Add utime-h.
23296         * lib/utimens.c: Assume that <utime.h> exists.
23298 2017-04-29  Bruno Haible  <bruno@clisp.org>
23300         utime-h: New module.
23301         * m4/utime_h.m4: New file.
23302         * lib/utime.in.h: New file.
23303         * modules/utime-h: New file.
23304         * doc/posix-headers/utime.texi: Mention the new module.
23306         * tests/test-utime-h.c: New file.
23307         * modules/utime-h-tests: New file.
23309 2017-04-30  Bruno Haible  <bruno@clisp.org>
23311         Fix a few typos.
23312         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
23313         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
23314         * doc/posix-functions/fstat.texi: Fix a plural typo.
23315         * doc/posix-functions/stat.texi: Likewise.
23316         * m4/include_next.m4: Update comments.
23318 2017-04-29  Bruno Haible  <bruno@clisp.org>
23320         error: Fix mistake in 2017-04-23 commit.
23321         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
23322         assume that strerror_r returns 'int', not 'char *'.
23324 2017-04-29  Bruno Haible  <bruno@clisp.org>
23326         stat: Fix time_t values and other problems on native Windows platforms.
23327         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
23328         implementations of stat().
23329         * lib/stat.c: Include filename.h instead of dosname.h. Include
23330         malloca.h, stat-w32.h.
23331         (is_unc_root): New function.
23332         (rpl_stat): New implementation for native Windows. Remove
23333         REPLACE_FUNC_STAT_DIR code.
23334         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
23335         Don't define REPLACE_FUNC_STAT_DIR.
23336         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
23337         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23338         (Depends-on): Remove dosname. Add filename, malloca.
23339         (configure.ac): Also compile lib/stat-w32.c.
23341 2017-04-29  Bruno Haible  <bruno@clisp.org>
23343         fstat: Fix time_t values on native Windows platforms.
23344         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
23345         * lib/stat-w32.h: New file.
23346         * lib/stat-w32.c: New file.
23347         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
23348         stat-w32.h instead.
23349         (fstat_nothrow): Remove function.
23350         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
23351         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
23352         always.
23353         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
23354         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23355         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
23356         (configure.ac): Also compile lib/stat-w32.c.
23358 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23360         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23361         Problem reported by Assaf Gordon and Gavin Smith in:
23362         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
23363         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
23364         #define this, too.
23366 2017-04-29  Bruno Haible  <bruno@clisp.org>
23368         strerror_r-posix: Fixes for MSVC 14.
23369         * lib/strerror_r.c: Include <stdarg.h>.
23370         (strerror_r): Provide error messages for errno values 100...140.
23371         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
23373 2017-04-28  Bruno Haible  <bruno@clisp.org>
23375         noreturn: New module.
23376         * lib/noreturn.h: New file.
23377         * modules/noreturn: New file.
23378         * tests/test-noreturn.c: New file.
23379         * modules/noreturn-tests: New file.
23380         * tests/test-noreturn-c++.cc: New file.
23381         * modules/noreturn-c++-tests: New file.
23383 2017-04-27  Bruno Haible  <bruno@clisp.org>
23385         wctype-h: Fix compilation error with the original mingw.org mingw.
23386         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
23387         HAVE_CRTDEFS_H.
23388         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
23389         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23390         <stddef.h> instead.
23391         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
23393 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23395         nap.h: Fix compilation on non windows platforms
23396         * tests/nap.h: Move misplaced endif.
23398 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23399         and Paul Eggert  <eggert@cs.ucla.edu>
23401         time_rz: fix heap buffer overflow vulnerability
23402         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
23403         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
23404         whether there is enough buffer space available, thus avoiding
23405         the problematic promotion of signed to unsigned causing an invalid
23406         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
23407         the start of the buffer.
23408         * tests/test-parse-datetime.c (main): Add a test case written by
23409         Paul Eggert, which overwrites enough of the heap so that
23410         standard glibc will fail with "free(): invalid pointer"
23411         without the patch applied.
23413 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
23415         xalloc: add missing integer overflow check
23416         * lib/xalloc.h (x2nrealloc): Also check for multiplication
23417         overflow when P is null.
23419 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23421         parse-datetime: make it standalone
23422         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
23423         (_GL_ATTRIBUTE_FORMAT): New macro.
23424         These are needed to get './gnulib-tool --test parse-datetime' to work.
23426 2017-04-23  Bruno Haible  <bruno@clisp.org>
23428         nap.h: Port to native Windows.
23429         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
23430         use nap_fd instead. On native Windows, close and reopen nap_fd.
23431         (nap_works): Don't compare the ctimes, because on native Windows, these
23432         are the creation times.
23433         (nap): Update.
23435 2017-04-23  Bruno Haible  <bruno@clisp.org>
23437         nap.h: Fix logic.
23438         * tests/nap.h (nap): Avoid signed integer overflow in loop.
23440 2017-04-23  Bruno Haible  <bruno@clisp.org>
23442         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
23443         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
23444         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
23445         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
23446         * lib/argp-help.c (__argp_failure): Likewise.
23448 2017-04-23  Bruno Haible  <bruno@clisp.org>
23450         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
23451         * m4/strerror_r.m4: Revert changes since 2016-10-16.
23452         * lib/strerror_r.c: Likewise.
23454 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
23456         Target a C99 subset, not a C89 subset
23457         For many years Gnulib has targeted C89 and has resisted using C99
23458         features, as some Gnulib-using programs still wanted to target
23459         C89.  As this no longer seems to be the case, relax the porting
23460         requirements to allow some C99 features.  This is merely a change
23461         to the documentation, to give other Gnulib developers a chance to
23462         weigh in on the topic.
23463         * doc/extern-inline.texi (extern inline):
23464         * doc/gnulib-readme.texi (Portability guidelines):
23465         * doc/gnulib-tool.texi (Initial import):
23466         * doc/gnulib.texi (Header files):
23467         Modernize to talk about C99 and C11 instead of C89 and C99.
23468         * doc/gnulib-readme.texi (Portability guidelines):
23469         Now a section, not merely a subsection, so that it
23470         can be split up.  Modernize a bit.
23471         (C language versions, C99 features assumed)
23472         (C99 features avoided):
23473         New sections.
23475 2017-04-23  Bruno Haible  <bruno@clisp.org>
23477         doc: New section "Modules that modify the way other modules work".
23478         * doc/gnulib.texi (Modules that modify the way other modules work): New
23479         section.
23481 2017-04-23  Bruno Haible  <bruno@clisp.org>
23483         stat-time: Update comments.
23484         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
23485         * tests/test-utimens-common.h: Add reference regarding st_ctime on
23486         Windows.
23488 2017-04-01  Bruno Haible  <bruno@clisp.org>
23490         glob: Fix more memory leaks.
23491         * lib/glob.c (glob): Free allocated memory before returning.
23492         Reported by Coverity via Tim Rühsen.
23494 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23496         poll: improve fast check for out-of-range NFD
23497         * lib/poll.c: Do not include intprops.h.
23498         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
23499         * modules/poll (Depends-on): Remove intprops.
23501         ftoastr: cite a newer paper
23502         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
23503         instead of Loitsch 2010.
23505 2017-04-22  Bruno Haible  <bruno@clisp.org>
23507         poll: Enable argument check also in the Windows implementation.
23508         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
23509         Reported by Paul Eggert.
23511 2017-04-22  Bruno Haible  <bruno@clisp.org>
23513         getlogin_r: Work around bug in Mac OS X 10.12.
23514         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
23515         bug.
23516         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
23517         given size minus 1, call getlogin_r a second time, on a larger buffer.
23518         * modules/getlogin_r (Depends-on): Add malloca.
23519         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
23521 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23523         parse-datetime: fix %z and prefer signed int
23524         %z problem reported by Pádraig Brady in:
23525         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
23526         While fixing it, I decided to prefer signed ints to size_t, as
23527         they are less error-prone (e.g., ubsan catches overflow).
23528         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
23529         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
23530         counts, since signed integers make for better debugging.
23531         (date): Don’t assume %z works in printf formats.
23532         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
23533         sizes of buffers known to be small, e.g., because we’re using snprintf.
23534         (parse_datetime2): Simplify call to debug_mktime_not_ok.
23536 2017-04-22  Bruno Haible  <bruno@clisp.org>
23538         *printf: Work around rounding bug on Mac OS X.
23539         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
23540         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
23541         Mac OS X and FreeBSD.
23542         * doc/glibc-functions/*printf.texi: Likewise.
23544 2017-04-22  Bruno Haible  <bruno@clisp.org>
23546         vasnprintf tests: Avoid warnings.
23547         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
23548         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
23549         test.
23551 2017-04-22  Bruno Haible  <bruno@clisp.org>
23553         sys_file tests: Avoid warning.
23554         * tests/test-sys_file.c (main): Add a default clause to the switch
23555         statement.
23557 2017-04-22  Bruno Haible  <bruno@clisp.org>
23559         sethostname: Update doc.
23560         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
23561         Mac OS X.
23563 2017-04-22  Bruno Haible  <bruno@clisp.org>
23565         quotearg tests: Avoid warnings.
23566         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
23567         false.
23569 2017-04-22  Bruno Haible  <bruno@clisp.org>
23571         poll: Enable argument check.
23572         * lib/poll.c: Include intprops.h.
23573         (poll): Check value of nfd correctly.
23574         * modules/poll (Depends-on): Add intprops.
23576 2017-04-22  Bruno Haible  <bruno@clisp.org>
23578         get-rusage-data: Avoid warnings on Mac OS X.
23579         * lib/get-rusage-data.c: On Mac OS X, don't define
23580         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
23581         (get_rusage_data) [Mac OS X]: Just return 0.
23583 2017-04-22  Bruno Haible  <bruno@clisp.org>
23585         xbinary-io: Fix build error.
23586         * modules/xbinary-io (Depends-on): Add gettext-h.
23587         * lib/xbinary-io.c: Include gettext.h and define _().
23588         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
23589         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
23591 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23593         parse-datetime: overflow and debug cleanups
23594         This long patch was triggered by this bug report from Ruediger Meier:
23595         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
23596         I fixed the bug he noted, then found some others nearby, and then
23597         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
23598         up some of the code to follow GNU standards while I was at it.
23599         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
23600         use c_isdigit.
23601         (EPOCH_YEAR): Remove; unused.
23602         (TM_YEAR_BASE): Now an enum rather than a macro.
23603         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
23604         time zone offset, since timezones now are in terms of seconds and
23605         not minutes.
23606         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
23607         appropriate.  Verify that intmax_t is wide enough.
23608         (time_overflow, time_zone_str): New functions, used to deal
23609         more reliably with overflow.
23610         (dbg_printf): Add printf attribute, to help catch integer width errors.
23611         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
23612         (%union, to_hour, yylex, parse_datetime2):
23613         Use intmax_t instead of long int and/or long_time_t.
23614         All uses changed.
23615         (DBGBUFSIZE): Move earlier.
23616         (relative_time, set_hhmmss, parser_control):
23617         Just use int for nanoseconds and for time zones; that’s wide enough.
23618         (parser_control): Use bool for members like year_seen that can
23619         be booleans instead of counters.  All uses changed.
23620         Remove debug_default_input_timezone; no longer needed.
23621         All uses removed.
23622         (apply_relative_time): Return a bool overflow flag.
23623         All uses changed to check for overflow.
23624         (apply_relative_time, zone, date, relunit, relunit_snumber)
23625         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
23626         Check for integer overflow portably.
23627         (str_days): Use just int for N, as it’s wide enough.
23628         Prefer 2D char arrays to arrays of char * when it looks like
23629         2D is a win on typical platforms.
23630         Prefer snprintf to strncpy/strncat, for simplicity;
23631         all buffers are smaller than INT_MAX so this is safe.
23632         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
23633         (debug_print_current_time): Don’t assume tv_nsec is of type long,
23634         as this is not true on x32.  Output "." before any nanoseconds.
23635         (debug_print_current_time, parse_datetime2):
23636         Output local zones using a more-consistent format.
23637         (debug_print_current_time, date, parse_datetime2):
23638         (main) [TEST]:
23639         Don’t assume time_t is the same width as long.
23640         (print_rel_part): New function, replacing ...
23641         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
23642         (debug_print_relative_time): Use bool for boolean.
23643         (local_zone): dsts_seen now counts only tDST instances.
23644         (date): Fix printf of size_t to use %z.  Do not assume numeric
23645         tokens have negative values merely because the context suggests
23646         a syntax with "-" separating tokens.
23647         (time_zone_hhmm): Return bool success indicator, which checks for
23648         overflow.  Store result into PC->time_zone instead.  All callers
23649         changed.
23650         (tm_year_str): New function.  Return a bool success indicator and
23651         store the result into a buffer.  All callers changed.  Output the
23652         numerically correct string even if adding 1900 to the year would
23653         overflow.
23654         (to_tm_year): New function, replacing the old to_year.  All
23655         callers changed.
23656         (tm_diff): Sync with glibc.
23657         (lookup_word): Use to_uchar instead of doing it by hand.
23658         (TZBUFSIZE): Now local to the only function that needs it.
23659         (debug_strfdatetime): Simplify now that time zones are int seconds.
23660         (debug_strfdate): Work even if tm_year + 1900 would overflow.
23661         (get_effective_timezone): Remove.  All uses removed.
23662         (parse_datetime2): Use fprintf in pieces instead of snprintfing
23663         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
23664         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
23665         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
23666         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
23667         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
23668         * modules/parse-datetime (Depends-on): Add inttypes.
23670 2017-04-21  Bruno Haible  <bruno@clisp.org>
23672         gettext-h: Avoid -Wundef warning.
23673         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
23674         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
23675         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
23677 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
23679         error: Avoid "function declaration isn't a prototype" warning.
23680         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
23682 2017-04-21  Bruno Haible  <bruno@clisp.org>
23684         vasnprintf: Fix for MSVC 14.
23685         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
23686         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
23687         of !HAVE_SNPRINTF_RETVAL_C99.
23689 2017-04-21  Bruno Haible  <bruno@clisp.org>
23691         mbrtowc tests: Fix test failures on MSVC 14.
23692         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
23693         behaviour for invalid input.
23695 2017-04-21  Bruno Haible  <bruno@clisp.org>
23697         mbsinit: Fix for MSVC 14.
23698         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
23699         implementation that is in sync with mbrtowc.c. On other platforms, use
23700         an adequate ad-hoc implementation.
23702 2017-04-21  Bruno Haible  <bruno@clisp.org>
23704         Fix test-mbrtowc5.sh failure on native Windows.
23705         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
23706         "C".
23708 2017-04-21  Bruno Haible  <bruno@clisp.org>
23710         Avoid accidental use of native Windows APIs on Cygwin.
23711         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
23712         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
23713         * lib/localename.c (WINDOWS_NATIVE): Likewise.
23715 2017-04-20  Bruno Haible  <bruno@clisp.org>
23717         Remove red warnings from the generated MODULES.html.
23718         * modules/fcntl (Description): Disambiguate function references.
23719         * modules/getcwd-lgpl (Description): Likewise.
23720         * modules/hostent (Description): Likewise.
23721         * modules/servent (Description): Likewise.
23722         * modules/tempname (Description): Likewise.
23724 2017-04-20  Bruno Haible  <bruno@clisp.org>
23726         verify tests: Fix spurious failure with parallel make.
23727         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
23728         EXTRA_PROGRAMS.
23729         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
23730         * tests/test-verify-try.c: New file.
23731         * modules/verify-tests (Files): Add it.
23732         (EXTRA_PROGRAMS): Add test-verify-try.
23733         (MOSTLYCLEANFILES): Update accordingly.
23734         Reported by Adam James Stewart <ajstewart@anl.gov>.
23736 2017-04-18  Bruno Haible  <bruno@clisp.org>
23738         vma-iter: Fix compilation error on Solaris 7.
23739         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
23740         like on IRIX, OSF/1.
23741         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23743 2017-04-18  Bruno Haible  <bruno@clisp.org>
23745         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
23746         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
23747         included.
23748         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
23749         <sys/procfs.h>.
23750         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
23751         <sys/procfs.h> cannot be included.
23752         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23754 2017-04-18  Bruno Haible  <bruno@clisp.org>
23756         getopt-gnu: Add comments.
23757         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
23758         * modules/getopt-gnu (configure.ac): Likewise.
23760 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
23762         regex: port better to Solaris 10
23763         Solaris 10 <locale.h> includes <libintl.h>, which #defines
23764         gettext, and this causes a double #define.
23765         Problem reported by Gavin Smith in:
23766         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
23767         * lib/regex_internal.h (gettext): #undef before #defining.
23769 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
23771         intprops: improve comments
23772         * lib/intprops.h: Improve and shorten commentary.
23773         For the record, if we ever run into a pedantic compiler that
23774         behaves differently from GCC when converting an out-of-range value
23775         to a signed integer, we can work around the problem with something
23776         like the following code, where UCT is the signed counterpart of T
23777         (UCT is sometimes narrower than UT) and all callers are changed
23778         accordingly:
23779         #if __SUNPRO_C <= 0x5120
23780         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
23781            ((t) ((ut) (a) op (ut) (b)))
23782         #else
23783         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
23784            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
23785             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
23786                + TYPE_MINIMUM (t)) \
23787             : (t) (uct) ((ut) (a) op (ut) (b)))
23788         #endif
23790 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
23792         intprops: try to avoid tickling similar bugs
23793         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
23794         needs to be the same width as T; it can be wider.
23795         Change callers so that UT is at least as wide as unsigned int,
23796         as I suspect that this is less likely to run into compiler bugs.
23798         intprops: port to Oracle Studio 12.3 x86
23799         Problem reported by Gavin Smith in:
23800         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
23801         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
23802         Convert unsigned to signed via the usual rather than the standard way,
23803         to avoid a compiler bug in Oracle Studio 12.3 x86.
23805 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
23807         getopt: prefer - to _ in new file names
23808         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
23809         * lib/getopt-core.h: Rename from lib/getopt_core.h.
23810         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
23811         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
23812         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
23813         All uses changed.
23815         getopt: port recent getopt changes to macOS
23816         Problem reported by Harald Maier (Bug#26398).
23817         The macOS C compiler uses __nonnull for its own purposes and that
23818         clashes with glibc's __nonnull.
23819         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
23820         * lib/getopt_cdefs.in.h (__nonnull): Remove.
23821         * lib/getopt_core.h (getopt):
23822         * lib/getopt_ext.h (getopt_long, getopt_long_only):
23823         Use _GL_ARG_NONNULL, not __nonnull.
23824         * lib/unistd.in.h: Move snippet hooks to before where the getopt
23825         .h files are included, so that _GL_ARG_NONNULL is defined in time.
23826         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
23827         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
23829 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
23831         getopt-gnu: omit some duplicate code
23832         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
23833         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
23834         gnulib-tool already does this.
23835         * modules/getopt-gnu (configure.ac): Omit code duplicated from
23836         getopt-posix, which we depend on.
23838         getopt-posix: use angle-bracket include
23839         * lib/getopt1.c: Include <config.h>, not "config.h".
23841 2017-04-06  Zack Weinberg  <zackw@panix.com>
23843         getopt: annotate files with relationship to glibc
23845         As the final act in this patchset, adjust the message at the top of
23846         each file to indicate which files are synced with glibc.  (This has
23847         already been done for most of the headers.)
23849         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
23850         Mention in top-of-file boilerplate that these files are shared
23851         between glibc and gnulib.
23854         getopt: split up getopt.in.h and eliminate __need_getopt
23856         Over in glibc, all of the __need macros are being phased out in favor
23857         of small headers that declare only the necessary components, as this
23858         is much simpler and less prone to bugs.  As getopt is shared with
23859         glibc, gnulib needs to do the same for __need_getopt.
23861         __need_getopt is misnamed; what it really means is "we want only the
23862         getopt features specified in POSIX, not the GNU extensions".  glibc
23863         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
23864         these files can be shared verbatim with gnulib.  The portability
23865         wrapper, on the other hand, they have renounced altogether; glibc's
23866         getopt.h will no longer be shared with gnulib at all.  In exchange,
23867         certain glibc-specific quirks (having to do with __posix_getopt) no
23868         longer need appear in gnulib's headers at all.
23870         This patch merges getopt_core.h and getopt_ext.h from glibc, and
23871         splits up the current gnulib-side portability wrapper into three
23872         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
23873         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
23874         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
23875         unistd.in.h just use them.  All new files are clearly marked with
23876         whether they are shared with glibc.
23878         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
23879         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
23880         with glibc, and ...
23881         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
23882         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
23883         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
23884         instead of defining __need_getopt and including the full getopt.h.
23886         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
23887         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
23888         * modules/getopt-posix (Files): Add new headers and sort list.
23889         (Depends-on): No longer need snippet/arg-nonnull.
23890         (Makefile.am): Generate getopt_cdefs.h.
23893         getopt: better handling of ambiguous options
23895         glibc's getopt uses alloca to construct a linked list of possibilities
23896         for an "ambiguous" long option.  In gnulib, malloc should be used
23897         instead.  Providing for both cases complicates things a fair bit.
23899         This patch rewrites ambiguous-option handling to use a boolean vector
23900         instead of a linked list.  There is then only one allocation that
23901         might need freeing; in glibc it can honor __libc_use_alloca as usual,
23902         and in gnulib we define __libc_use_alloca to always be false, so we
23903         don't need ifdefs in the middle of the function.  This should also be
23904         slightly more efficient in the normal case of long options being fully
23905         spelled out -- I think most people aren't even aware they _can_
23906         sometimes abbreviate long options.
23908         One interesting consequence is that the list of possibilities is now
23909         printed in exactly the order they appear in the list of long options,
23910         instead of the first possibility being shuffled to the end.
23912         (The patch looks bigger than it really is because there's a fair bit
23913         of reindentation and code rearrangement.)
23915         * lib/getopt.c: When used standalone, define __libc_use_alloca
23916         as always false and alloca to abort if called.
23917         (process_long_option): Rewrite handling of ambiguous long options
23918         to use a single boolean vector, not a linked list; use
23919         __libc_use_alloca to decide whether to allocate this using alloca.
23922         getopt: refactor long-option handling
23924         There were two copies of the bulk of the code to handle long options.
23925         Now there is only one.
23927         This change temporarily removes the logic to avoid using alloca when
23928         standalone; the next patch in the series will restore it.
23930         * lib/getopt.c (process_long_option): New function split out
23931         from _getopt_internal_r.
23932         (_getopt_internal_r): Replace both copies of the long-option
23933         processing code with calls to process_long_option.
23936         getopt: tidy up _getopt_initialize a bit
23938         _getopt_data.__posixly_correct is completely redundant to
23939         _getopt_data.__ordering, and some work that logically belongs in
23940         _getopt_initialize was being done by _getopt_internal_r, making the
23941         code harder to understand.
23943         As a side effect, getenv will no longer be called if the first
23944         character of the options string is '+' or '-', which is probably a
23945         Good Thing.  (Perhaps we should have a flag character that
23946         specifically asks for the permutation behavior?)
23948         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
23949         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
23950         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
23953         getopt: merge from glibc: repetition reduction
23955         The definitions of the entry point functions 'getopt' and
23956         '__posix_getopt' can be made substantially less repetitive with a
23957         helper macro.
23959         While I was merging the const-correctness changes from gnulib into
23960         glibc I noticed there are still some unnecessary casts in
23961         _getopt_internal_r.
23963         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
23964         a macro.  Consistently cast 'argv' to 'char **' when calling
23965         _getopt_internal.
23966         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
23969         getopt: clean up error reporting
23971         getopt can print a whole bunch of error messages, and when used
23972         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
23973         cancellation point and getopt isn't, and also applying fprintf to a
23974         stream in wide-character mode is not allowed.  So every single error
23975         reporting case has an #ifdef _LIBC block in which it calls internal
23976         libc functions instead.  The counterpart patch series in glibc makes
23977         it possible to simplify all of that down to a set of #defines at the
23978         top of the file; core code is written as if it is safe to just call
23979         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
23980         call any *other* stdio functions.)
23982         * lib/getopt.c: When _LIBC is defined, define fprintf to
23983         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
23984         to _IO_funlockfile.  When neither _LIBC nor
23985         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
23986         funlockfile as no-ops.
23987         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
23988         standalone error-printing code can now be used for libc as well.
23989         Add an flockfile/funlockfile pair around one case where the error
23990         message is printed in several chunks.  Don't use fputc.
23993         getopt: fix fencepost error in ambiguous-W-option handling
23995         getopt_long contains an undocumented (AFAICT) feature in which, if you
23996         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
23997         treated as equivalent to '--foo'.  This is implemented with a partial
23998         second copy of the code for handling long options, and that code
23999         increments optind one too many times when recovering from an ambiguous
24000         abbreviated option, which can cause the main loop to walk past the end
24001         of argv and crash.
24003         I discovered this while writing a test case that tries to exercise all
24004         of getopt's error reporting paths; I wouldn't be surprised to learn
24005         that this feature is never used by real applications.
24007         * lib/getopt.c (_getopt_internal_r): Don't increment
24008         d->optind a second time when reporting ambiguous -W options.
24011         getopt: clean up getopt.c and getopt1.c file headers
24013         In getopt.c, there is no need to include wchar.h at all, and it is
24014         safe nowadays to assume that stdlib.h does declare getenv (several
24015         other gnulib modules make this assumption).
24017         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
24018         by using "" inclusions consistently, and there is no actual need to
24019         include stdlib.h (except in the #ifdef TEST block, where it should be
24020         unconditional), nor to provide a backup definition of NULL at all.
24022         * lib/getopt1.c: Simplify #ifdeffage at top of file.
24023         Move inclusion of stdlib.h to #ifdef TEST block and make
24024         unconditional.  Do not define NULL.
24025         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
24026         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
24027         * modules/getopt-gnu, modules/getopt-posix: Don't call
24028         gl_PREREQ_GETENV.
24031         getopt: harmonize comments with glibc
24033         The comments explaining how the behavior of 'getopt' varies depending
24034         on whether it's the standalone version and whether there are special
24035         characters at the beginning of the options string were inconsistent
24036         between gnulib and glibc, and also out of sync with the code.
24038         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
24041         getopt: remove USE_NONOPTION_FLAGS
24043         getopt includes code to parse an environment variable named
24044         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
24045         in decimal); but all of it has been #ifdefed out since 2001, with no
24046         official way to turn it back on.
24048         According to commentary in glibc's config.h.in, bash version 2.0
24049         set this environment variable to indicate argv elements that were
24050         the result of glob expansion and therefore should not be treated
24051         as options, but the feature was "disabled later" because "it
24052         caused problems".  According to bash's CHANGES file, "later" was
24053         release 2.01; it gives no more detail about what the problems
24054         were.
24056         Version 2.0 of bash was released on the last day of 1996, and version
24057         2.01 in June of 1997.  Twenty years later, I think it is safe to
24058         assume that this environment variable isn't coming back.
24060         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
24061         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
24062         __libc_argc and __libc_argv externs, which were only used by
24063         #ifdef USE_NONOPTION_FLAGS blocks.
24066         getopt: tabify, in preparation for merge with glibc
24068         glibc sticks to the GNU default of indenting with a mix of
24069         8-column tabs and spaces; make the gnulib copy match.
24071         getopt.h is not included because it is *not* going to be merged in its
24072         present form.
24074         * getopt.c, getopt1.c, getopt_int.h: Tabify.
24076 2017-04-02  Bruno Haible  <bruno@clisp.org>
24078         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
24079         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
24080         like it was done in modules/relocatable-lib on 2011-05-21 and in
24081         modules/relocatable-prog on 2011-08-15.
24082         Reported by Reuben Thomas <rrt@sc3d.org>.
24084 2017-03-31  Bruno Haible  <bruno@clisp.org>
24086         glob: Fix invalid free() call.
24087         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
24088         static storage to home_dir.
24089         Reported by Coverity via Tim Rühsen.
24091 2017-03-31  Bruno Haible  <bruno@clisp.org>
24093         glob: Fix memory leaks.
24094         * lib/glob.c (glob): Free allocated memory before returning.
24095         Reported by Coverity via Tim Rühsen.
24097 2017-03-31  Bruno Haible  <bruno@clisp.org>
24099         md5, sha1, sha256, sha512: Add comments regarding correctness.
24100         * lib/md5.h (buflen): Add comments regarding range.
24101         * lib/sha1.h (buflen): Likewise.
24102         * lib/sha256.h (buflen): Likewise.
24103         * lib/sha512.h (buflen): Likewise.
24104         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
24105         * lib/sha1.c (sha1_process_bytes): Likewise.
24106         * lib/sha256.c (sha256_process_bytes): Likewise.
24107         * lib/sha512.c (sha512_process_bytes): Likewise.
24108         Reported by Coverity via Tim Rühsen.
24110 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24112         getopt: merge from glibc
24113         This does not change anything substantial; it merely simplifies
24114         hypothetical merges back to glibc.
24115         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
24116         Change copyright notice to match what is in glibc.
24117         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
24118         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
24119         __open_memstream rather than open_memstream and __glibc_likely
24120         instead of __builtin_expect.
24121         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
24123 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24125         dfa: make [0-9] faster in non-C locales
24126         Problem reported by John P. Linderman (Bug#26193).
24127         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
24128         If both ends of the range are ASCII digits, do not worry about
24129         multi-character collating sequences and the like.  Be consistent
24130         about using isalpha as a precondition for setbit_case_fold_c.
24132 2017-03-19  Bruno Haible  <bruno@clisp.org>
24134         lock: Fix compilation error with HP-UX IA64 cc.
24135         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
24136         weak on non-glibc platforms.
24138 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24140         stdalign: tweak version# and test for HP-UX IA64
24141         Problems reported by Bruno Haible in:
24142         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
24143         * lib/stdalign.in.h (_Alignas):
24144         * m4/stdalign.m4 (gl_STDALIGN_H):
24145         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
24146         used octal (as that is how they document it), but it is decimal in
24147         practice now and the ancient implementations no longer matter.
24148         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
24150 2017-03-19  Bruno Haible  <bruno@clisp.org>
24152         vma-iter: Add support for Solaris.
24153         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
24154         approach.
24155         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
24156         * lib/get-rusage-as.c: Update comment about Solaris.
24157         * lib/get-rusage-data.c: Likewise.
24159 2017-03-19  Bruno Haible  <bruno@clisp.org>
24161         vma-iter: Prefer HP-UX specific API on HP-UX.
24162         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
24163         * lib/vma-iter.h: Update.
24164         Just in case HP-UX ever implements mquery().
24166 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24168         stdalign: restore previous behavior for HP-UX IA64
24169         See Bruno Haible's email in:
24170         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24171         which cites p 150 of a manual saying that 'aligned' works on Itanium.
24172         * lib/stdalign.in.h (_Alignas):
24173         Assume the '061200' applies to Itanium, not to PA-RISC.
24174         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
24176 2017-03-17  Bruno Haible  <bruno@clisp.org>
24178         stat-time, timespec: Support use of the header files in C++ mode.
24179         * lib/stat-time.h: Add "C" linkage declaration.
24180         * lib/timespec.h: Likewise.
24182 2017-03-17  Bruno Haible  <bruno@clisp.org>
24184         stdalign: Make it work with HP-UX cc.
24185         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
24186         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
24187         for HP-UX cc.
24189 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24191         flexmember: try to detect HP-UX 11.31 cc bug
24192         Problem reported by Bruno Haible in:
24193         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24194         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
24195         Attempt to detect bug in HP-UX 11.31 cc.
24197 2017-03-16  Bruno Haible  <bruno@clisp.org>
24199         stdint: Fix test compilation failure with HP-UX 11 cc.
24200         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
24201         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
24202         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
24203         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
24205 2017-03-14  Bruno Haible  <bruno@clisp.org>
24207         gnulib-tool: Don't produce a tests directory with only snippet .h files.
24208         * gnulib-tool (func_modules_transitive_closure_separately): If
24209         testsrelated_modules ends up with no "real" modules, aside from
24210         modules with applicability 'all', set it to empty.
24212 2017-03-14  Bruno Haible  <bruno@clisp.org>
24214         vma-iter: Add support for HP-UX.
24215         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
24216         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
24217         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
24218         * lib/get-rusage-as.c: Update comment about HP-UX.
24219         * lib/get-rusage-data.c: Likewise.
24220         (get_rusage_data): Use get_rusage_data_via_setrlimit.
24222 2017-03-14  Bruno Haible  <bruno@clisp.org>
24224         limits-h: Make it work with HP-UX cc.
24225         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
24226         defined.
24228 2017-03-14  Bruno Haible  <bruno@clisp.org>
24230         Fix test failures on DragonFlyBSD.
24231         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
24232         * tests/test-select.h (test_bad_fd): Likewise.
24233         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
24235 2017-03-14  Bruno Haible  <bruno@clisp.org>
24237         freadahead: Silence warning on DragonFlyBSD.
24238         * lib/freadahead.c (__sreadahead): Declare ourselves.
24240 2017-03-14  Bruno Haible  <bruno@clisp.org>
24242         vma-iter: Add comment about AIX.
24243         * lib/vma-iter.c: Add comment about why this module is not implemented
24244         on AIX.
24246 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24248         snippets: move unadjusted snippet sources to lib
24249         Problem reported by Michal Privoznik in:
24250         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
24251         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24252         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24253         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24254         * lib/unused-parameter.h: Rename from
24255         build-aux/snippet/unused-parameter.h.
24256         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24257         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
24258         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
24259         * modules/snippet/c++defs (Files:, CXXDEFS_H):
24260         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
24261         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
24262         Adjust to file renamings.
24264 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
24266         gnulib-tool: don't automatically distribute files from top/
24267         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
24268         not distribute top/README-release by default, don't distribute files
24269         from top/ unconditionally.
24270         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
24271         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
24273 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24275         gnulib-tool: fix typo in comment output
24276         * gnulib-tool (func_import): Fix typo with previous change.
24278         snippets: work around GNU Make 3.82 VPATH
24279         When using 'gnulib-tool --gnu-make' on Emacs, and building
24280         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
24281         an out-of-source (VPATH) build failed because the sans-copyright
24282         snippet file was not built before the file that used it.
24283         Presumably this is some sort of VPATH thing.  Work around the
24284         problem by using the original snippet, i.e., don’t bother to
24285         remove its copyright notice.
24286         * modules/snippet/_Noreturn, modules/snippet/link-warning:
24287         Don’t assume Automake in comments.  Omit long-incorrect comment.
24288         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
24289         (MOSTLYCLEANFILES):
24290         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
24291         (MOSTLYCLEANFILES):
24292         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
24293         (MOSTLYCLEANFILES):
24294         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
24295         (MOSTLYCLEANFILES):
24296         Remove.
24297         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
24298         * modules/snippet/c++defs (CXXDEFS_H):
24299         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
24300         * modules/snippet/warn-on-use (WARN_ON_USE_H):
24301         Don’t bother to remove the copyright notice; just use the
24302         original snippet as-is.
24304 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24306         gnulib-tool: minor --gnu-make fixups
24307         * gnulib-tool (func_emit_lib_Makefile_am):
24308         Remove useless code that was a blind alley during implementation.
24309         Problem reported by Thien-Thi Nguyen in:
24310         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
24311         (func_import): Note the "--gnu-make" option in the output comment.
24313 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24315         gnulib-tool: new option --gnu-make
24316         This is for applications like GNU Emacs that use GNU Make
24317         features instead of Automake.
24318         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
24319         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
24320         Do not assume Automake.
24321         * gnulib-tool (func_determine_path_separator)
24322         (func_modules_transitive_closure, func_update_file)
24323         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
24324         (func_import): Add support for --gnu-make.
24326 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
24328         gnulib-common.m4: avoid aclocal.m4 bloat
24329         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
24330         Hide AM_PROG_AR from aclocal, so that aclocal does not
24331         install irrelevant macro definitions into aclocal.m4.
24333 2017-03-10  Bruno Haible  <bruno@clisp.org>
24335         vma-iter: Let callers know about error.
24336         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
24337         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
24339 2017-03-05  Bruno Haible  <bruno@clisp.org>
24341         Fix value of LD for 64-bit compilers on AIX.
24342         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
24343         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
24345 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
24347         dtotimespec: simplify
24348         * lib/dtotimespec.c (dtotimespec): Simplify.
24350 2017-03-04  Bruno Haible  <bruno@clisp.org>
24352         test-calloc-gnu: Reenable test also for GCC 7.
24353         * tests/test-calloc-gnu.c (eight): New function.
24354         (main): Don't skip test; use eight() instead.
24356 2017-03-04  Jim Meyering  <meyering@fb.com>
24358         test-calloc-gnu: port to GCC7
24359         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
24360         that attempts to calloc more than SIZE_MAX bytes, because GCC7
24361         and newer would detect that at compilation time.
24363 2017-03-04  Bruno Haible  <bruno@clisp.org>
24365         tests: Avoid compiler warning about uses of null_ptr.
24366         * tests/null-ptr.h: New file.
24367         * tests/test-canonicalize.c: Include null-ptr.h.
24368         (null_ptr): Remove function.
24369         * tests/test-canonicalize-lgpl.c: Likewise.
24370         * tests/test-memmem.c: Likewise.
24371         * tests/test-ptsname_r.c: Likewise.
24372         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
24373         * modules/canonicalize-lgpl-tests: Likewise.
24374         * modules/memmem-tests: Likewise.
24375         * modules/ptsname_r-tests: Likewise.
24376         Reported by Jim Meyering.
24378 2017-03-03  Bruno Haible  <bruno@clisp.org>
24380         doc: Mention Mac OS X deficiencies regarding semaphores.
24381         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
24382         * doc/posix-functions/sem_destroy.texi: Likewise.
24383         * doc/posix-functions/sem_getvalue.texi: Likewise.
24385 2017-03-03  Bruno Haible  <bruno@clisp.org>
24387         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
24388         Reported by Assaf Gordon <assafgordon@gmail.com> via
24389         Pádraig Brady <P@draigBrady.com>.
24390         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
24391         semaphores.
24392         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
24393         (atomic_int_semaphore): New macro.
24395 2017-02-28  Bruno Haible  <bruno@clisp.org>
24397         perror tests: Tweak for z/OS.
24398         Reported by Daniel Richard G. <skunk@iskunk.org>.
24399         * tests/test-perror.sh: Don't fail z/OS style perror output.
24401 2017-02-26  Bruno Haible  <bruno@clisp.org>
24403         nproc: Refactor large function.
24404         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
24405         from num_processors.
24406         (num_processors): In this function, only deal with OMP.
24408 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24410         nproc: adjust handling of OpenMP environment variables
24411         to match the return value from omp_get_num_threads(), i.e.:
24412          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
24413          - Treat 0 as an invalid value and ignore
24414         Also remove the call to omp_get_num_threads() because
24415         it's ineffective without the omp pragmas in place.
24416         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
24417         so that it can be ignored.
24418         (num_processors): Honor OMP_THREAD_LIMIT even without
24419         OMP_NUM_THREADS being set.  Also fix a typo in the environment
24420         variable being checked, from the previous recent commit.
24422 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24424         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
24425         * lib/nproc.c (parse_omp_threads): A new function refactored
24426         from num_processors() to support parsing both of the
24427         above environment variables.
24428         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
24429         to accurately reflect the current OpenMP nesting level.
24430         Also support the OMP_THREAD_LIMIT environment variable
24431         to limit the max value determined from OMP_NUM_THREADS.
24432         * modules/nproc: Depend on minmax header.
24433         Suggested by Oliver Heimlich.
24435 2017-02-25  Bruno Haible  <bruno@clisp.org>
24437         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
24438         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
24440 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24442         ftoastr: port to -Wdouble-promotion
24443         Work around -Wdouble-promotion false alarm in recent GCCs.
24444         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
24445         (ftoastr_snprintf, FTOASTR): Use it.
24447 2017-02-21  Bruno Haible  <bruno@clisp.org>
24449         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
24450         Reported by Rene Saavedra <rennes@openmailbox.org> in
24451         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
24452         * lib/glthread/lock.h: On glibc systems without
24453         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
24454         implementation of rwlocks.
24455         * lib/glthread/lock.c: Likewise.
24457 2017-02-20  Bruno Haible  <bruno@clisp.org>
24459         lock tests: Fix build failure on z/OS.
24460         Reported by Daniel Richard G. <skunk@iskunk.org>.
24461         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
24462         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
24463         exist.
24465 2017-02-19  Bruno Haible  <bruno@clisp.org>
24467         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
24468         This helps when CC=clang.
24469         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
24470         of /usr/bin/gcc.
24472         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
24473         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
24475 2017-02-19  Bruno Haible  <bruno@clisp.org>
24477         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
24478         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
24479         --with-tests --single-configure is specified.
24481 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24483         users.txt: Update links, use HTTPS where possible
24484         * users.txt: Updated to HTTPS where possible,
24485         fixed some links to new locations.
24487 2017-02-16  Bruno Haible  <bruno@clisp.org>
24489         xbinary-io: Fix inlining.
24490         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
24492 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24494         xbinary-io: rename from xsetmode
24495         This patch is taken from suggestions by Bruno Haible in:
24496         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
24497         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
24498         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
24499         not ENOTTY, when it is an inappropriate device.
24500         * lib/binary-io.h (SET_BINARY): Resurrect.
24501         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
24502         (xset_binary_mode_error): Rename from xsetmode_error.
24503         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
24504         (xset_binary_mode): Rename from xsetmode.
24505         All uses changed.
24506         * modules/xbinary-io: Rename from modules/xsetmode.
24507         Update file names.
24508         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
24509         * NEWS: Update to match revised behavior.
24511 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24513         tests: Adjust to recent SET_BINARY change
24514         * tests/test-binary-io.c (main):
24515         * tests/test-binary-io.sh: Remove test for SET_BINARY.
24516         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
24517         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
24518         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
24520         xsetmode: new module
24521         This is to fix a problem noted by Eric Blake.
24522         Code was using xfreopen to change files to binary mode, but this
24523         fails for stdout when in append mode.  Such code should use
24524         xsetmode instead.
24525         * NEWS: Document incompatible changes to binary-io module.
24526         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
24527         New function.
24528         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
24529         (set_binary_mode): New function, which also checks for tty.
24530         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
24532 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
24534         headers: fix begin-end typos
24535         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
24536         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
24538         selinux-h: port to PGI 16.10
24539         * lib/se-selinux.in.h: Don't assume that include_next skips over
24540         duplicate -I DIR options.
24542         argp: port to PGI 16.10
24543         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
24545 2017-02-13  Darshit Shah  <darnir@gnu.org>
24547         unicase: Update function protoype to match definition.
24548         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
24549         uses 'size_t' as the datatype for the 'len' parameter in the functions
24550         it generates. Update the prototype specified here to match the newly
24551         generated function.
24553 2017-02-12  Bruno Haible  <bruno@clisp.org>
24555         times test: Avoid gcc warnings on Linux/x32.
24556         * tests/test-times.c (main): Really cast printf arguments from clock_t
24557         to 'long int'.
24559 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24561         glob: port better to emscripten
24562         Problem reported by Bruno Haible in:
24563         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
24564         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
24566 2017-02-11  Bruno Haible  <bruno@clisp.org>
24568         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
24569         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
24570         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
24571         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
24572         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
24573         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
24574         Distinguish hppa64 from hppa.
24576 2017-02-10  Bruno Haible  <bruno@clisp.org>
24578         search: Don't assume that tsearch() exists if 'VISIT' is defined.
24579         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
24580         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
24581         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
24583 2017-02-09  Bruno Haible  <bruno@clisp.org>
24585         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
24586         * doc/gnulib.texi (Libtool and Windows): Recommend
24587         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
24588         Reported by Reuben Thomas <rrt@sc3d.org>.
24590 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24592         stddef-tests: port to SIZE_MAX <= INT_MAX
24593         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
24594         Do not assume that INT_MAX < SIZE_MAX.
24596 2017-02-01  Bruno Haible  <bruno@clisp.org>
24598         lock tests: Fix link error.
24599         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
24600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24602 2017-01-31  Bruno Haible  <bruno@clisp.org>
24604         lock: Fix link error (regression from 2017-01-05).
24605         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
24606         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
24607         pthread_rwlockattr_destroy weak.
24608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24610 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24612         Port to PGI 16.10 x86-64
24613         This patch fixes one real bug in gl_anylinked_list2.h, along with
24614         some minor glitches that are not bugs.  It does not silence PGI’s
24615         thousands of bogus warnings when compiling test-intprops.c.
24616         Fortunately, the warnings do not cause a failure.
24617         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
24618         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
24619         My goodness, PGI goes back a long ways - this predates C89!
24620         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
24621         For example, ASYNCSAFE (const void *) should expand to
24622         ‘const void *volatile’, not to ‘volatile const void *’.
24623         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
24624         * lib/verify.h (verify) [!__GNUC__]:
24625         Use shorter albeit meaningless string to bypass silly compiler limits.
24626         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
24627         * tests/nan.h (NaNf, NaNd, NaNl):
24628         Use static functions to avoid misguided compiler diagnostics.
24629         Is there some reason we don’t use static functions on all platforms?
24631 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
24633         parse-datetime: handle timezones reentrantly
24634         This API change was prompted by a report by Pádraig Brady in:
24635         https://bug.debian.org/851934#10
24636         To help fix the bug, make parse_datetime2 more reentrant.
24637         * NEWS: Document this incompatible change.
24638         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
24639         Add two arguments, the timezone and the timezone name.
24640         All callers changed.  If TZ="..." is specified, use it for
24641         calculating defaults.
24642         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
24643         this code should be usable in a library.
24644         (mktime_ok, get_effective_timezone):
24645         Accept timezone arg too.  All callers changed.
24646         (get_tz): Remove.
24647         (get_effective_timezone): Check for failures.
24649 2017-01-20  Eric Blake  <eblake@redhat.com>
24651         localename: port to cygwin 2.6
24652         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
24653         Cygwin.
24654         * modules/localename (Depends-on): Add extensions, since
24655         NL_LOCALE_NAME() is not visible without it.
24657 2017-01-17  Pádraig Brady  <P@draigBrady.com>
24659         parse-datetime: fix dependence on AC_PROG_SED
24660         * modules/parse-datetime: Use `sed` directly like all other modules.
24661         Reported by J William Piggott
24663 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
24665         intprops: update doc URLs
24666         * doc/intprops.texi (Integer Range Overflow): Update URLs.
24668 2017-01-16  Bruno Haible  <bruno@clisp.org>
24670         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
24671         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
24672         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
24673         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
24674         distinguish s390 and s390x.
24675         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
24676         * NEWS: Mention the change regarding 'armel'.
24678 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
24680         localeinfo: case_folded_counterparts and WEOF
24681         * NEWS: Document this.
24682         * lib/localeinfo.c (case_folded_counterparts):
24683         First arg is now wint_t, not wchar_t.  This generalizes the
24684         function to also work on WEOF, where it returns 0.
24686         dfa: port to gcc -fsanitize=undefined
24687         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
24688         as this runs afoul of gcc -fsanitize=undefined.
24690 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
24692         strftime: %z is -00 if unknown
24693         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
24694         the caller's responsibility to set 'negative_number'.  All uses changed.
24695         (__strftime_internal): Put '-' before a zero UTC offset if the time
24696         zone abbreviation starts with "-", which is the recently-introduced
24697         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
24698         * tests/test-strftime.c: Test for this.
24700 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
24702         dfa: port to older GCC
24703         Problem reported by Assaf Gordon in:
24704         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
24705         * modules/c99: New module.  This merely attempts to use the latest
24706         C version, which should be enough to solve this particular problem.
24707         The idea is to document which Gnulib modules assume C99 or later.
24708         * modules/dfa (Depends-on): Add it.
24710 2017-01-10  Bruno Haible  <bruno@clisp.org>
24712         Update DEPENDENCIES.
24713         * DEPENDENCIES: List only https URLs. Update recommended version for
24714         autoconf, automake, gperf.
24716 2017-01-10  Jim Meyering  <meyering@fb.com>
24718         maint.mk: enforce spelling of "timestamp" (i.e., no space)
24719         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
24720         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
24722 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
24724         dfa: minor simplification with emptyset
24725         * lib/dfa.c (build_state): Simplify by using emptyset.
24727 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
24729         dfa: shrink constraints from 4 bits to 3
24730         * lib/dfa.c (newline_constraint, letter_constraint)
24731         (other_constraint, prev_newline_dependent)
24732         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
24733         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
24734         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
24735         Constraints need only 3 bits, not 4.  Using smaller integers
24736         shrinks the code a bit and makes grep a tad faster on x86-64.
24738         dfa: omit unnecessary ptrdiff_t check
24739         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
24740         overflow, since xnmalloc does that now.
24742         dfa: omit unnecessary allocation
24743         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
24744         an all-zero follow set works just fine.
24746         dfa: omit unused local
24747         * lib/dfa.c (build_state): Fix up recent change.
24749         maint: remove stray .texi files
24750         Although these were superseded by other files like
24751         doc/posix-functions/ctime.texi, the old files were not removed.
24752         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
24754 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
24756         getprogname: fix port to IRIX
24757         * lib/getprogname.c (getprogname) [__sgi]:
24758         Don't dump core if malloc returns NULL.
24760         dfa: fix reallocation bug when matching newlines
24761         Problem reported for sed by S. Gilles (Bug#25390).
24762         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
24763         (dfastate): Reallocate before moving any newline transition ...
24764         (build_state): ... instead of reallocating here, where it is too late.
24766 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
24768         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
24769         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
24771 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
24773         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
24774         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
24776 2017-01-07  Bruno Haible  <bruno@clisp.org>
24778         stdioext: Port to Minix 3.2 and newer.
24779         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
24780         * lib/fseeko.c (fseeko): Likewise.
24781         Reported by Nelson Beebe via Paul Eggert.
24783 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
24785         getprogname: port to IRIX
24786         * lib/getprogname.c (getprogname): Port to IRIX.
24787         Based on an idea by Bastien Roucariès at:
24788         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
24789         via code from Bruno Haible at:
24790         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
24792         localename-tests: port to NetBSD 7
24793         Problem reported by Nelson H. F. Beebe.
24794         * tests/test-localename.c:
24795         Test newlocale and uselocale only if both exist.
24797         glob, intprops, xalloc: work around Clang bug
24798         Work around LLVM bug 16404, which is still not fixed.
24799         https://llvm.org/bugs/show_bug.cgi?id=16404
24800         Problem reported by Nelson H. F. Beebe.
24801         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
24802         Remove.
24803         * lib/glob.c (size_add_wrapv):
24804         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
24805         * lib/xalloc-oversized.h (xalloc_oversized):
24806         Do not use overflow builtins if Clang.
24808         dfa: fix 'return' typo
24809         Problem reported by Nelson H. F. Beebe.
24810         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
24812 2017-01-05  Pádraig Brady  <P@draigBrady.com>
24814         parse-datetime: fix generated paths for coverage files
24815         * modules/parse-datetime: Adjust the paths for parse-datetime.y
24816         within parse-datetime.c, so that gcc generates appropriate .gcno
24817         files, allowing lcov to proceed without error.  Previously it
24818         would error trying to find "lib/lib/parse-datetime.y".
24820 2017-01-05  Pádraig Brady  <P@draigBrady.com>
24822         maint.mk: support parallel execution of coverage
24823         * top/maint.mk (coverage): Run dependencies serially,
24824         thus supporting parallel processing of each one,
24825         particularly build-coverage, which builds and runs tests.
24827 2017-01-05  Bruno Haible  <bruno@clisp.org>
24829         lock tests: Prefer semaphore over mutex.
24830         * tests/test-lock.c (USE_SEMAPHORE): New constant.
24831         (struct atomic_int, init_atomic_int, get_atomic_int_value,
24832         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
24833         Suggested by Torvald Riegel <triegel@redhat.com>.
24835 2017-01-05  Bruno Haible  <bruno@clisp.org>
24837         lock: Provide guarantee to avoid writer starvation for rwlocks.
24838         The rationale is: 1) Read-preferring read-write locks are prone to
24839         writer starvation if the number of reader threads multiplied by the
24840         percentage of time they have the lock held is too high. 2) Write-
24841         preferring read-write locks are the only reliable way to avoid this.
24842         3) There have been reports of 'test-lock' hanging on glibc systems
24843         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
24844         and glibc indeed implements read-preferring rwlocks by default, see
24845         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
24846         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
24847         * m4/pthread_rwlock_rdlock.m4: New file.
24848         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
24849         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
24850         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
24851         of rwlock initialization on glibc systems without
24852         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
24853         of rwlocks altogether on non-glibc systems without
24854         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
24855         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
24856         * lib/glthread/lock.c [USE_POSIX_THREADS]
24857         (glthread_rwlock_init_for_glibc): New function.
24858         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
24859         comment.
24860         [USE_PTH_THREADS]: New implementation of rwlocks.
24861         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
24862         readers.
24863         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
24864         (Depends-on): Add 'extensions'.
24865         * tests/test-rwlock1.c: New file.
24866         * lock-tests (Files): Add it.
24867         (Depends-on): Add usleep.
24868         (Makefile.am): Add test-rwlock1 to the tests.
24870 2017-01-05  Bruno Haible  <bruno@clisp.org>
24872         thread: Fix pth port.
24873         * lib/glthread/thread.h (pth_init): Declare weak.
24874         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
24875         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
24876         function.
24878 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
24880         parse-datetime: fix debug message on lone year number
24881         Input dates such as
24882           date -d "Apr 11 22:59:00 2011"
24883         are parsed as date (Apr 11, with default year 2016), then time, then a
24884         number (2011). Based on the combination of previously seen tokens,
24885         'digits_to_date_time' determines 2011 to be a year value.
24886         This fixes the debug messages to correctly show the updated year.
24887         Before:
24888             $ date --debug -d 'Apr 11 22:59:00 2011'
24889             date: parsed date part: (Y-M-D) 2016-04-11
24890             date: parsed time part: 22:59:00
24891             date: parsed number part: today/this/now
24892         After:
24893             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
24894             date: parsed date part: (Y-M-D) 2016-04-11
24895             date: parsed time part: 22:59:00
24896             date: parsed number part: year: 2011
24897         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
24898         'debug_year_seen' member fields.
24899         (digits_to_date_time): Update 'year_seen' as needed.
24900         (debug_print_current_time): Inform about year updates.
24901         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
24903         parse-datetime: fix local timezone debug messages
24904         "Local timezones" are strings that affect only DST relative to the
24905         default timezone. The debug messages in parse-datetime.y printed
24906         wrong information when encountering local timezones.
24907         Examples:
24908         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
24909              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
24910              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
24911         When the default timezone relates to the zone strings, EET/EEST are
24912         parsed as local timezones (tLOCAL_ZONE), and only change the DST
24913         value (0/1, respectively):
24914              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
24915              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
24916         * lib/parse-datetime.y (debug_print_current_time): If local timezone
24917         was seen, inform about DST change, don't print actual timezone.
24918         (debug_strfdatetime): If local timezone was seen, use default timezone
24919         (and adjust as needed) instead of using incorrect timezone.
24920         (parse_datetime2): Use correct time-zone source string, and adjust
24921         default timezone as needed.
24923         parse-datetime: add debug warning about DST changes
24924         Incorrect date arithmetic due to daylight saving time (DST) are a
24925         common (false) bug report in coreutils.
24926         Detect two such cases and print a warning:
24927         1. year/month/day adjustments (performed on 'struct tm'),
24928            where 'mktime' returns a different isdst value.
24929         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
24930            where the result of 'localtime(3)' on the value will return a
24931            different isdst value.
24932         Note: DST changes could be harmless or unnoticeable.
24933         Examples (with 'TZ=America/New_York'):
24934         Unnoticeable: result is 2016-Dec-14
24935            $ date -d '2016-06-15 EDT + 6 months' +%b
24936            Dec
24937         Unnoticeable: result is 2016-Dec-15 11:00:00
24938            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
24939            2016-12-15
24940         This is unexpected:
24941            $ date -d '2016-06-01 EDT + 6 months' +%F
24942            2016-11-30
24943         The new debug warnings will show:
24944            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
24945            ...
24946            date: warning: daylight saving time changed after date adjustment
24947            ...
24948         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
24949         print an appropriate warning message.
24951         parse-datetime: add debug warning about date arithmetic
24952         Date arithmetic are done directly on the fields of 'struct tm',
24953         which can result in invalid dates. Normalization with 'mktime(3)'
24954         will then produce a different date - which might cause unexpected
24955         results.
24956         Examples:
24957           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
24958           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
24959         Note that date normalization is not inherently wrong and not rejected,
24960         as it has legitimate uses:
24961           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
24962         If the user asked to adjust months but 'mday' changed,
24963         or user asked to adjust years but 'month' changed - warn about it.
24964             $ ./src/date --debug -d '2016-10-31 - 1 month'
24965             ...
24966             date: warning: when adding relative months/years, \
24967                            it is recommended to specify the 15th of the month
24968             ...
24969             date: warning: month/year adjustment resulted in shifted dates:
24970             date:      adjusted Y M D: 2016 09 31
24971             date:    normalized Y M D: 2010 10 01
24972             ...
24973         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
24974         a warning message. Improve recommendation of when to use 15 of the
24975         month or noon for date arithmetic.
24977         parse-datetime: fix debug message of relative part after timezone
24978         Relative part (e.g '+8 days') after a timezone string was not
24979         reported (was only reported after a timezone number). Due to the
24980         parser's structure, timezone strings with numbers were handled
24981         separately.
24982         before:
24983              # Timezone number + relative part: OK
24984              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
24985              ...
24986              date: parsed relative part: -8 day(s)
24987              # Timezone string + relative part: missing
24988              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
24989              [ missing message ]
24990         After: messages are printed in both cases.
24991         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
24993         parse-datetime: fix incorrect debug message on lone number
24994         A lone number is an absolute value, not a relative time part.
24995         before:
24996            $ date --debug -d '20130101'
24997            date: parsed number part: today/this/now
24998         After:
24999            $ ./src/date --debug -d '20130101'
25000            date: parsed number part: (Y-M-D) 2013-01-01
25001         * lib/parse-datetime.y ('item'/'number' tokens): Call
25002         'debug_print_current_time' instead of 'debug_print_relative_time'.
25004 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25006         doc: modernize for C11 etc.
25007         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
25008         for C11, MinGW, etc.  This responds to Paul Smith's question in:
25009         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
25011         dfa: prefer functions to FETCH_WC macro
25012         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
25013         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
25014         wint_t result into DFA->lex.wctok instead of to a separate arg.
25015         All callers changed.  Move more local decls closer to where
25016         they're used.
25018         dfa: narrow more local var scopes
25019         * lib/dfa.c: Move more local decls to be more local.
25021         dfa: remove duplicate assignment
25022         Problem reported by Bruno Haible in:
25023         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
25024         * lib/dfa.c (parse_bracket_exp): Simplify.
25026 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25028         dfa: simplify constraint-dependency checking
25029         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
25030         (prev_other_constraint): Remove.
25031         (prev_newline_dependent, prev_letter_dependent):
25032         Simplify, to avoid an unnecessary bitwise AND operation.
25034         dfa: prefer functions and constants to macros
25035         * lib/dfa.c: Prefer constants to macros where either will do.
25036         (streq, isasciidigit, newline_constraint)
25037         (letter_constraint, other_constraint, succeeds_in_context)
25038         (prev_newline_constraint, prev_letter_constraint)
25039         (prev_other_constraint, prev_newline_dependent)
25040         (prev_letter_dependent, accepting, accepts_in_context):
25041         Now static functions instead of function-like macros.
25042         Use lower-case names accordingly.  All uses changed.
25044         dfa: narrow more local var scopes
25045         * lib/dfa.c: Move some more local decls down to nearer where
25046         they're needed.
25048 2016-12-31  Jim Meyering  <meyering@fb.com>
25050         dfa: narrow the scope of many local variables
25051         * lib/dfa.c: Now that we are no longer constrained to c89, move
25052         declarations of many variables (often indices) "down" into the
25053         scope(s) where used or to the point of definition.  This is a
25054         no-semantic-change diff.
25056 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25058         version-etc: new year
25059         * build-aux/gendocs.sh (version):
25060         * doc/gendocs_template:
25061         * doc/gendocs_template_min:
25062         * doc/gnulib.texi:
25063         * lib/version-etc.c (COPYRIGHT_YEAR):
25064         Update copyright dates by hand in templates and the like.
25065         * all files: Run 'make update-copyright'.
25067 2016-12-31  Eric Blake  <eblake@redhat.com>
25069         do-release-commit-and-tag: avoid shell syntax error
25070         * build-aux/do-release-commit-and-tag (curr_br): $branch can
25071         contain spaces when rebasing.
25073         maint.mk: hoist gnulib_dir definition earlier
25074         * top/maint.mk (gnulib_dir): Move near top of file.
25076 2016-12-31  Jim Meyering  <meyering@fb.com>
25078         maint.mk: do not always evaluate intprops-related shell
25079         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
25080         using gnulib_dir undefined (gnulib_dir is defined later in the
25081         file, which will be fixed separately), and besides, there is no
25082         need to incur the cost of this shell invocation for every single
25083         use of this .mk file.  Reported by Eric Blake in
25084         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
25086 2016-12-30  Jim Meyering  <meyering@fb.com>
25088         maint.mk: improve sc_prohibit_intprops_without_use
25089         * top/maint.mk (_intprops_names): Don't hard-code the list of
25090         symbol names.  Instead, derive it on the fly.
25092 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25094         dfa: shorten sbit, success
25095         * lib/dfa.c (struct regex_syntax.sbit):
25096         (struct dfa.success): Use char, not int, for array elements, since
25097         they are all in the range 0..7.
25099         dfa: simplify multibyte_prop etc.
25100         This follows up on a change made when dfa.c was in grep, namely grep
25101         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
25102         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
25103         That earlier simplification allows for some more simplification
25104         and trimming down here.
25105         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
25106         (struct lexer_state): New mamber brack.
25107         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
25108         since they must be in the range 0..3 now.
25109         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
25110         the brack member now supersedes them.
25111         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
25112         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
25113         (dfaparse): Remove unnecessary initializations of already-0 storage.
25114         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
25115         (dfassbuild): No need to clear sup->mbcsets.
25117         dfa: minor performance tweak
25118         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
25120         dfa: wrap charclass inside a struct
25121         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
25122         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
25123         about 5% faster, where list.txt is generated by 'aspell dump
25124         master | head -n 100000 >list.txt'.  See Bug#22239.
25125         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
25126         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
25127         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
25128         Adjust to this, e.g., by using charclass * rather than charclass.
25129         All callers changed as needed.
25130         (copyset): Remove.  All uses changed to simple assignment.
25131         (parse_bracket_exp): Use zeroset instead of memset.
25133 2016-12-30  Jim Meyering  <meyering@fb.com>
25135         maint.mk: update list of intprops.h symbol names
25136         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
25137         This avoids a false failure of the sc_prohibit_intprops_without_use
25138         rule in grep.
25140 2016-12-29  Eric Blake  <eblake@redhat.com>
25142         getopt: fix parallel test failure
25143         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
25144         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
25145         * tests/test-getopt-main.h (main): Use different file names
25146         in case test-getopt-gnu and test-getopt-posix run in parallel.
25148 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25150         xalloc: x2nrealloc check for ptrdiff_t overflow
25151         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
25152         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
25154 2016-12-24  Bruno Haible  <bruno@clisp.org>
25156         lock test: Fix performance problem on multi-core machines.
25157         * tests/test-lock.c (USE_VOLATILE): New macro.
25158         (struct atomic_int): New type.
25159         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
25160         functions.
25161         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
25162         as 'struct atomic_int'.
25163         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
25164         reclock_checker_thread, test_recursive_lock): Use the new functions.
25165         Reported by Eric Blake in
25166         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
25167         and by Pádraig Brady in
25168         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
25170 2016-12-19  Bruno Haible  <bruno@clisp.org>
25172         vma-iter: Fix endless loop on 64-bit Windows.
25173         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
25174         'unsigned long'.
25176 2016-12-19  Bruno Haible  <bruno@clisp.org>
25178         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
25179         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
25180         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
25181         Invoke gt_TYPE_WINT_T instead.
25182         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
25183         * modules/stdint (Files): Add m4/wint_t.m4.
25184         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25185         * modules/wctype-h (Makefile.am): Likewise.
25186         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
25187         not only on MSVC.
25188         * lib/wctype.in.h (wint_t): Likewise.
25190 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25192         getopt-posix-tests: fix Makefile typo
25193         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
25194         Fix typo: the last ‘_’ was missing in the name.
25195         I suspect that the typo explains this build failure:
25196         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
25197         although I can’t reproduce the problem on Solaris 10 sparc.
25199 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25201         dfa: improve worst-case 'replace' performance
25202         See my note in Bug#22357#71.
25203         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
25204         (merge_constrained): New function, which is like
25205         the old 'merge' function, except with a new argument C2.
25206         Simplify the body by avoiding the need for different sections
25207         of code depending on whether one input is exhausted.
25208         (merge): Use the new function.
25209         (delete): Return the constraint of the deleted position,
25210         not the entire position.  Caller changed.
25211         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
25213 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25215         dfa: performance improvement for removal of epsilon closure
25216         See Bug#22357#32.
25217         * lib/dfa.c (delete): Use binary search to find deleted index.
25218         (replace): New function.  It replaces a position with the followed set.
25219         (epsclosure): Replace it with a new algorithm.  Update caller.
25221 2016-12-18  Bruno Haible  <bruno@clisp.org>
25223         Split tests for getopt-posix and getopt-gnu.
25224         * tests/test-getopt-posix.c: New file.
25225         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
25226         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
25227         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
25228         GNULIB_TEST_GETOPT_GNU.
25229         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
25230         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
25231         (Makefile.am): Test test-getopt-posix instead of test-getopt.
25232         * modules/getopt-gnu-tests: New file.
25233         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
25235 2016-12-18  Bruno Haible  <bruno@clisp.org>
25237         posix-modules: Add options for specific platforms.
25238         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
25239         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
25240         Invoke func_tmpdir. Filter out the excludes.
25242 2016-12-18  Bruno Haible  <bruno@clisp.org>
25244         getopt: Fix link error for users of getopt() in <unistd.h>.
25245         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
25246         __need_getopt is defined. Undefine all macros before defining them.
25247         * modules/getopt (Include): Clarify that including <unistd.h> is also
25248         OK.
25249         * tests/test-getopt.c: Add comment.
25251 2016-12-17  Bruno Haible  <bruno@clisp.org>
25253         getaddrinfo tests: Avoid compilation error on MSVC.
25254         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
25255         getaddrinfo on native Windows.
25257 2016-12-17  Bruno Haible  <bruno@clisp.org>
25259         getlogin, getlogin_r: Fix link errors on MSVC.
25260         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
25261         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
25262         (Link): New section.
25263         * modules/getlogin_r (Files): Add m4/getlogin.m4.
25264         (configure.ac): Require gl_LIB_GETLOGIN.
25265         (Link): New section.
25266         * NEWS: Mention the new link requirements.
25267         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
25268         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
25270 2016-12-17  Bruno Haible  <bruno@clisp.org>
25272         Un-deprecate the 'progname' module.
25273         * NEWS: Describe the appropriate use-cases of 'progname' versus
25274         'getprogname'. Based on discussion summary at
25275         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
25277 2016-12-17  Bruno Haible  <bruno@clisp.org>
25279         Reorganize NEWS a bit.
25280         * NEWS: Move some not so important changes away from section
25281         "Important Notes".
25283 2016-12-17  Bruno Haible  <bruno@clisp.org>
25285         tanhf: Avoid redefinition error on MSVC.
25286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
25287         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
25288         may be defined as an inline function.
25289         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
25290         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
25292 2016-12-17  Bruno Haible  <bruno@clisp.org>
25294         tanf: Avoid redefinition error on MSVC.
25295         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
25296         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
25297         may be defined as an inline function.
25298         * modules/math (Makefile.am): Substitute REPLACE_TANF.
25299         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
25301 2016-12-17  Bruno Haible  <bruno@clisp.org>
25303         sqrtf: Avoid redefinition error on MSVC.
25304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
25305         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
25306         may be defined as an inline function.
25307         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
25308         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
25310 2016-12-17  Bruno Haible  <bruno@clisp.org>
25312         sinhf: Avoid redefinition error on MSVC.
25313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
25314         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
25315         may be defined as an inline function.
25316         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
25317         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
25319 2016-12-17  Bruno Haible  <bruno@clisp.org>
25321         sinf: Avoid redefinition error on MSVC.
25322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
25323         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
25324         may be defined as an inline function.
25325         * modules/math (Makefile.am): Substitute REPLACE_SINF.
25326         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
25328 2016-12-17  Bruno Haible  <bruno@clisp.org>
25330         logf: Avoid redefinition error on MSVC.
25331         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
25332         may be defined as an inline function.
25334 2016-12-17  Bruno Haible  <bruno@clisp.org>
25336         log10l: Avoid redefinition error on MSVC.
25337         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
25338         may be defined as an inline function.
25340 2016-12-17  Bruno Haible  <bruno@clisp.org>
25342         log10f: Avoid redefinition error on MSVC.
25343         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
25344         may be defined as an inline function.
25346 2016-12-17  Bruno Haible  <bruno@clisp.org>
25348         hypotl: Avoid redefinition error on MSVC.
25349         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
25350         may be defined as an inline function.
25352 2016-12-17  Bruno Haible  <bruno@clisp.org>
25354         hypotf: Avoid redefinition error on MSVC.
25355         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
25356         may be defined as an inline function.
25358 2016-12-17  Bruno Haible  <bruno@clisp.org>
25360         fmodl: Avoid redefinition error on MSVC.
25361         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
25362         may be defined as an inline function.
25364 2016-12-17  Bruno Haible  <bruno@clisp.org>
25366         fmodf: Avoid redefinition error on MSVC.
25367         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
25368         may be defined as an inline function.
25370 2016-12-17  Bruno Haible  <bruno@clisp.org>
25372         expf: Avoid redefinition error on MSVC.
25373         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
25374         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
25375         may be defined as an inline function.
25376         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
25377         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
25379 2016-12-17  Bruno Haible  <bruno@clisp.org>
25381         coshf: Avoid redefinition error on MSVC.
25382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
25383         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
25384         may be defined as an inline function.
25385         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
25386         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
25388 2016-12-17  Bruno Haible  <bruno@clisp.org>
25390         cosf: Avoid redefinition error on MSVC.
25391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
25392         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
25393         may be defined as an inline function.
25394         * modules/math (Makefile.am): Substitute REPLACE_COSF.
25395         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
25397 2016-12-17  Bruno Haible  <bruno@clisp.org>
25399         atan2f: Avoid redefinition error on MSVC.
25400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
25401         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
25402         may be defined as an inline function.
25403         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
25404         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
25406 2016-12-17  Bruno Haible  <bruno@clisp.org>
25408         atanf: Avoid redefinition error on MSVC.
25409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
25410         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
25411         may be defined as an inline function.
25412         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
25413         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
25415 2016-12-17  Bruno Haible  <bruno@clisp.org>
25417         asinf: Avoid redefinition error on MSVC.
25418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
25419         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
25420         may be defined as an inline function.
25421         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
25422         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
25424 2016-12-17  Bruno Haible  <bruno@clisp.org>
25426         acosf: Avoid redefinition error on MSVC.
25427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
25428         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
25429         may be defined as an inline function.
25430         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
25431         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
25433 2016-12-17  Bruno Haible  <bruno@clisp.org>
25435         Avoid redefinition errors on MSVC.
25436         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
25437         the function may be defined as an inline function.
25438         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
25439         the function may be defined as an inline function.
25441 2016-12-17  Bruno Haible  <bruno@clisp.org>
25443         Avoid redefinition errors on MSVC.
25444         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
25445         * lib/unistd.in.h: Include <stdio.h> when necessary.
25447 2016-12-17  Bruno Haible  <bruno@clisp.org>
25449         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
25450         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
25451         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25452         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
25453         WINT_MAX.
25455 2016-12-17  Bruno Haible  <bruno@clisp.org>
25457         Avoid autoconf warning.
25458         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
25459         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
25461 2016-12-17  Bruno Haible  <bruno@clisp.org>
25463         fpending: Revert workaround against Emacs bug.
25464         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
25465         The Emacs bug is fixed by Eli Zaretskii in
25466         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
25468 2016-12-17  Bruno Haible  <bruno@clisp.org>
25470         getlogin_r tests: Port to mingw.
25471         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
25472         regression introduced on 2014-05-19.
25474 2016-12-17  Bruno Haible  <bruno@clisp.org>
25476         getlogin: Port to newer mingw.
25477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
25478         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
25479         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
25480         HAVE_GETLOGIN.
25481         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
25482         HAVE_GETLOGIN.
25483         * doc/posix-functions/getlogin.texi: Mention the issue.
25484         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
25485         regression introduced on 2014-05-14.
25487 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25489         builtin-expect: improve port to IBM XL C
25490         Problem reported for z/OS by Daniel Richard G. in:
25491         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
25492         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25493         Test for <builtins.h> directly.
25495         builtin-expect: port to IBM XL C
25496         Problem reported for z/OS by Daniel Richard G. in:
25497         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
25498         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25499         Also allow __builtin_expect defined via a standard include file.
25501         regex: fix dependency
25502         Problem reported by Bruno Haible in:
25503         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
25504         * modules/regex: Depend on builtin-expect.
25506         builtin-expect: new module
25507         Fix fnmatch to use it.
25508         Problem reported for z/OS by Daniel Richard G.
25509         * lib/fnmatch.c (__builtin_expect):
25510         * lib/glob.c (__builtin_expect):
25511         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
25512         * lib/memmem.c (__builtin_expect) [!_LIBC]:
25513         * lib/scandir.c (__builtin_expect):
25514         * lib/strstr.c (__builtin_expect) [!_LIBC]:
25515         Remove macro; config.h now does this.
25516         * lib/gl_anytreehash_list1.h (add_to_bucket):
25517         * lib/regex_internal.h (BE):
25518         Assume __builtin_expect.
25519         * m4/builtin-expect.m4, modules/builtin-expect: New files.
25520         * modules/avltreehash-list, modules/fnmatch, modules/glob:
25521         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
25522         * modules/scandir, modules/strstr-simple:
25523         Depend on builtin-expect.
25525 2016-12-15  Bruno Haible  <bruno@clisp.org>
25527         init.sh: Add possibility to not delete temporary files.
25528         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
25529         to yes, don't erase the temporary directory.
25531 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25533         regex: fix integer-overflow bug in never-used code
25534         Problem reported by Clément Pit–Claudel in:
25535         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
25536         * lib/regex_internal.h: Include intprops.h.
25537         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
25538         behavior on integer overflow.
25539         * modules/regex (Depends-on): Add intprops.
25541         fpending: fix port to MinGW on Emacs
25542         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
25543         Problem reported by Eli Zaretskii in:
25544         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
25545         Is Plan 9 still a valid porting target, anyway?
25547 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
25549         safe-alloc: use xalloc-oversized
25550         * lib/safe-alloc.c: Include xalloc-oversized.h.
25551         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
25552         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
25554         xalloc: do not exceed PTRDIFF_MAX
25555         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
25556         xalloc_oversized check, since objects larger than PTRDIFF_MAX
25557         bytes have pointer-subtraction problems.
25559         malloca: do not exceed PTRDIFF_MAX
25560         * lib/malloca.h: Include xalloc-oversized.
25561         (nmalloca): Use xalloc_oversized instead of rolling our own.
25562         * modules/malloca (Depends-on):
25563         * modules/relocatable-prog-wrapper (Depends-on):
25564         Add xalloc-oversized.
25566         quotearg: pacify GCC better
25567         * modules/quotearg (Depends-on): Add minmax, stdint.
25568         * lib/quotearg.c: Include minmax.h, stdint.h.
25569         (nslots): Now int, as there seems little point to going to extra
25570         work merely to support the INT_MAX slot, which nobody ever uses.
25571         (quotearg_n_options): Redo size-overflow checks to pacify GCC
25572         and to catch (mostly-theoretical) ptrdiff_t problems too.
25573         This can be done via one comparison.
25575 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
25577         xalloc-oversized: check for PTRDIFF_MAX too
25578         This avoids undefined behavior when subtracting pointers to
25579         objects containing more than PTRDIFF_MAX bytes.
25580         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
25581         Also return 1 if the result would exceed PTRDIFF_MAX>
25582         * modules/xalloc-oversized (Depends-on):
25583         Add stdint.
25585         dfa: fix glitches in previous commit
25586         Sorry, I don't know how I managed to commit the wrong version.
25587         * lib/dfa.c (MIN): Move up.
25588         (xpalloc): Now static.
25590         dfa: fix some unlikely integer overflows
25591         I found these while reviewing the recent Coverity-related fix.
25592         This patch changes part of dfa.c to prefer ptrdiff_t instead of
25593         size_t for object counts.  Using ptrdiff_t is the style typically
25594         used in Emacs; although it wastes a sign bit as sizes can never be
25595         negative, it makes -fsanitize=undefined more likely to catch
25596         integer overflows in index calculation, and nowadays the upside is
25597         typically more important than the downside.  Although perhaps the
25598         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
25599         of dfa.c already does, since it uses state_num which is signed),
25600         that is a bigger change and is not needed to fix the bugs I found.
25601         * lib/dfa.c: Include stdint.h and intprops.h.
25602         (TOKEN_MAX): New macro.
25603         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
25604         (charclass_index, parse_bracket_exp, addtok, insert, merge)
25605         (realloc_trans_if_necessary, free_mbdata):
25606         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
25607         This is safe because xpalloc checks that the sizes do not exceed
25608         either SIZE_MAX or PTRDIFF_MAX.
25609         (xpalloc): New function, mostly taken from Emacs.
25610         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
25611         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
25612         (charclass_index): Check for integer overflow in computing
25613         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
25614         added to it later.
25615         (alloc_position_set): Check for integer overflow.  On typical
25616         platforms this check has zero overhead, since the constant
25617         expression is false.
25618         (realloc_trans_if_necessary):
25619         Remove assertion, which I hope Coverity no longer needs.
25621         * modules/dfa (Depends-on): Add intprops, stdint.
25623 2016-12-12  Jim Meyering  <meyering@fb.com>
25625         dfa: add an assertion to avoid coverity false positive
25626         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
25627         warned that "newalloc1 - 2" could overflow.
25629 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
25631         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
25632         * dfa.h (DFA_CASE_FOLD): Remove.
25633         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
25635 2016-12-13  John W. Eaton  <gnu@jweaton.org>
25637         link: fix test to declare use of rename()
25638         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
25639         -Werror=implicit-function-declaration
25641 2016-12-12  Bruno Haible  <bruno@clisp.org>
25643         fpending: Port to native Windows with MSVC.
25644         * lib/fpending.c: Include stdio-impl.h.
25645         (__fpending): Include all known implementations. Err out if it's not
25646         ported.
25647         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
25648         * modules/fpending (Files): Add lib/stdio-impl.h.
25649         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
25651 2016-12-12  Bruno Haible  <bruno@clisp.org>
25653         stdioext: Port to native Windows with MSVC.
25654         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
25655         (struct _gl_real_FILE): New type.
25656         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
25657         Windows.
25658         * lib/fbufmode.c (fbufmode): Add code for native Windows.
25659         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
25660         other SystemV derived implementations.
25661         * lib/fpurge.c (fpurge): Likewise.
25662         * lib/freadable.c (freadable): Likewise.
25663         * lib/freadahead.c (freadahead): Likewise.
25664         * lib/freading.c (freading): Likewise.
25665         * lib/freadptr.c (freadptr): Likewise.
25666         * lib/freadseek.c (freadptrinc): Likewise.
25667         * lib/fseeko.c (fseeko): Likewise.
25668         * lib/fseterr.c (fseterr): Likewise.
25669         * lib/fwritable.c (fwritable): Likewise.
25670         * lib/fwriting.c (fwriting): Likewise.
25671         Reported by Gisle Vanem <gvanem@yahoo.no>.
25673 2016-12-11  Jim Meyering  <meyering@fb.com>
25675         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
25676         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
25677         to work with most shells, but not with the one provided by many
25678         Solaris 10 systems, so running configure with such a /bin/sh evokes
25679         e.g., "./configure: syntax error at line 33602: `(' unexpected".
25680         Reported by Assaf Gordon in
25681         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
25683 2016-12-10  Bruno Haible  <bruno@clisp.org>
25685         threadlib: Optimize out runtime test on Solaris >= 10.
25686         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
25687         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
25688         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
25690 2016-12-10  Bruno Haible  <bruno@clisp.org>
25692         stdint: Update doc about Solaris 9.
25693         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
25695 2016-12-09  Bruno Haible  <bruno@clisp.org>
25697         c-ctype tests: Fix link error on Solaris 9.
25698         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
25699         Reported at <https://savannah.gnu.org/bugs/?46827>.
25701 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
25703         dfa: fix performance bug that recomputes trans
25704         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
25705         25 on-demand changes.  The bug caused build_state to reset all
25706         d->trans elements to -2 even when d->trans was already non-null.
25707         Use C99 style decls after statements in this function.
25709         same-inode: port to MinGW
25710         Here st_ino is always 0, so change the definition of SAME_INODE so
25711         that 1 means the two files are the same, 0 with st_ino != 0 means
25712         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
25713         reported by Bruno Haible (Bug#25146).
25714         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
25715         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
25717 2016-12-04  Bruno Haible  <bruno@clisp.org>
25719         javacomp-script: Support Java 7 and 8.
25720         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
25721         target-version 1.7, 1.8.
25723 2016-12-02  Daiki Ueno  <ueno@gnu.org>
25725         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
25726         GPLv2" rewriting.
25728 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
25730         * gnulib-tool (func_import): Adhere to the license guideline when
25731         rewriting the license text to "LGPLv3+ or GPLv2":
25732         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
25734 2016-12-02  Bruno Haible  <bruno@clisp.org>
25736         localcharset: Avoid theoretical buffer overrun.
25737         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
25738         return value from setlocale if it would lead to a buffer overrun.
25740 2016-12-01  Bruno Haible  <bruno@clisp.org>
25742         Relicense some modules under LGPLv2+.
25743         Kevin Cernekee's approval is in
25744         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
25745         * modules/fseterr (License): Change to LGPLv2+.
25746         * modules/mbchar (License): Likewise.
25747         * modules/mbiter (License): Likewise.
25748         * modules/mbsnlen (License): Likewise.
25749         * modules/wcwidth (License): Likewise.
25751 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25753         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
25754         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
25755         OS/2 kLIBC.
25757 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25759         alphasort, scandir: Port to OS/2 kLIBC
25760         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
25761         declaration.
25762         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
25764 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25766         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
25767         * lib/relocatable.c (relocate): Do not touch pathname if it is started
25768         with '/@unixroot'.
25770 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
25772         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
25773         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
25774         OS/2 kLIBC unless TCPV40HDRS is defined.
25776 2016-11-29  Jim Meyering  <meyering@fb.com>
25778         dfa: avoid new infinite loop
25779         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
25780         * lib/dfa.c (dfastate): When constructing a new state table, we could
25781         initially declare that we had found a match, and later find that
25782         constraints eliminate that possibility, yet continue to use the
25783         now stale "matched" indicator.  That would lead to an infinite loop.
25784         The solution is to update "matched" when necessary.
25785         Introduced by commit v0.1-983-g403adf1.
25787 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25789         dfa: avoid match middle in multibyte character
25790         * lib/dfa.c (transit_state): If fails in matching single byte characters
25791         on a state including period expression in non-UTF8 multibyte locales,
25792         skip trailing bytes.
25793         (dfa_supported): Revert previous change.
25795 2016-11-27  Jim Meyering  <meyering@fb.com>
25797         dfa: avoid false match in non-UTF8 multibyte locales
25798         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
25799         as "not supported" so that callers will resort to using regex-based
25800         matcher.  This will surely hurt performance, but correctness trumps
25801         performance here, and the affected locales are less and less relevant,
25802         these days.  See grep's bug report https://bugs.gnu.org/24975.
25804 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
25806         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
25807         * lib/ptsname_r.c: Include the appropriate headers.
25808         [__sun]: Delete sys/sysmacros.h include.
25809         [_AIX || __osf__]: Likewise.
25810         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
25812 2016-11-27  Pádraig Brady  <P@draigBrady.com>
25814         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
25815         * lib/md4.c (md4_process_bytes): The existing define is made internal
25816         in recent versions of glibc, so also use this new public define.
25817         * lib/md5.c (md5_process_bytes): Likewise.
25818         * lib/sha1.c (sha1_process_bytes): Likewise.
25819         * lib/sha256.c (sha256_process_bytes): Likewise.
25820         * lib/sha512.c (sha512_process_bytes): Likewise.
25822 2016-11-27  Pádraig Brady  <P@draigBrady.com>
25824         maint: use a more standard return from mbrtowc test
25825         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
25826         from the test program as this often indicates an
25827         unhandled case in the test program.
25828         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
25829         (gl_MBRTOWC_SANITYCHECK): Likewise.
25830         (gl_MBRTOWC_NULL_ARG2): Likewise.
25831         (gl_MBRTOWC_NUL_RETVAL): Likewise.
25833 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
25835         freopen: work around glibc bug with closed fd
25836         Work around glibc bug#15589, where freopen mishandles the case
25837         where stdin etc. are already closed.
25838         * doc/posix-functions/freopen.texi (freopen): Document the bug.
25839         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
25840         instead of __need_FILE, as the latter does not work with glibc.
25841         Include <fcntl.h>, for open flags.
25842         (rpl_freopen): Work around glibc bug.
25843         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
25844         * modules/freopen (Depends-on): Add fcntl-h.
25845         * tests/test-freopen.c (main): Test for bug.
25847 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25849         fnmatch: fix typo introduced on 2016-08-17
25850         This fixes the port to non-GCC compilers that lack __builtin_expect.
25851         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
25853         dfa: simplify with new function fillset
25854         * lib/dfa.c (fillset): New function.
25855         Use it for clarity when applicable.
25857         dfa: fix glitches with on-demand states
25858         Also, adjust commentary to better match new code.
25859         Some of these glitches predate the recent change.
25860         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
25861         only non-initial states.
25862         (dfastate): Rename locals to better match new roles.
25863         Move them into nested scopes if this is easy.
25864         Omit unnecessary calls to zeroset.
25865         Simplify test for whether to throw in the positions of state 0.
25866         Omit C99-ism (decl after statement) since Gawk still wants C89.
25867         (build_state): Omit unnecessary test and assignment.
25868         Fix some confusion that counted transition tables inaccurately
25869         and could cause a memory leak.
25870         (dfaexec_main): Redo to make it clearer to the compiler that
25871         -1 and -2 are the only negative state numbers here.
25873 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25875         dfa: addition of new state on demand
25876         * src/dfa.c (dfastate): Add argument UC, the current input character.
25877         Fill only a group including the character in transition table.
25878         (realloc_trans_if_necessary): Add the dummy state which means that a
25879         transition table is assigned but the next state is not assigned.
25880         (build_state): Return the next state.  All callers updated.
25881         (transit_state_singlebyte): If we get the dummy state,
25882         fill the transition table.
25883         (dfaexec_main): Handle the dummy state.
25884         (free_mbdata, dfafree): Consider the dummy state.
25886 2016-11-24  Daiki Ueno  <ueno@gnu.org>
25888         srclist: sync with released gettext
25889         * config/srclist.txt: Set "release" option to the files under
25890         $GETTEXT.
25892 2016-11-24  Daiki Ueno  <ueno@gnu.org>
25894         srclist: add "release" option
25895         * config/srclist.txt: Change the format so that the first column
25896         of each line points to the top-level directory of the source
25897         archive.
25898         * config/srclist-update: Accept "release" option that checks files
25899         from the most recently tagged revision in the source archive.
25901 2016-11-21  Bruno Haible  <bruno@clisp.org>
25903         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
25904         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
25905         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
25906         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
25907         Inline and remove member function 'rpl ()' of the wrapper struct.
25909 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
25911         dfa: fix logic typo
25912         Problem reported by Stephane Chazelas (Bug#24973).
25913         * lib/dfa.c (using_simple_locale): Fix typo that caused some
25914         non-simple locales like fr_FR to be treated as simple.
25916 2016-11-20  Jim Meyering  <meyering@fb.com>
25918         fix test driver leaks: exclude, malloc, realloc
25919         * tests/test-exclude.c (main): Fix trivial leak.
25920         * tests/test-malloc-gnu.c (main): Likewise.
25921         * tests/test-realloc-gnu.c (main): Likewise.
25922         With these changes, grep's tests are now leak free.
25923         I.e., running them with ASAN elicits no failure:
25924           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
25925             AM_LDFLAGS='-fsanitize=address -static-libasan' check
25927 2016-11-11  Bruno Haible  <bruno@clisp.org>
25929         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
25930         * modules/libunistring: (License): Change from LGPL to
25931         "LGPLv3+ or GPLv2".
25932         * modules/libunistring-optional: Likewise.
25933         * modules/unicase/*: Likewise.
25934         * modules/uniconv/*: Likewise.
25935         * modules/unictype/*: Likewise.
25936         * modules/unigbrk/*: Likewise.
25937         * modules/unilbrk/*: Likewise.
25938         * modules/uniname/*: Likewise.
25939         * modules/uninorm/*: Likewise.
25940         * modules/unistdio/*: Likewise.
25941         * modules/unistr/*: Likewise.
25942         * modules/uniwbrk/*: Likewise.
25943         * modules/uniwidth/*: Likewise.
25945 2016-11-12  Bruno Haible  <bruno@clisp.org>
25947         Relicense some modules under LGPLv2+.
25948         Paul Eggert's approval is in
25949         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
25950         Eric Blake's approval is in
25951         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
25952         Ludovic Courtès's approval is in
25953         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
25954         * modules/isnand-nolibm (License): Change to LGPLv2+.
25955         * modules/isnanf-nolibm (License): Likewise.
25956         * modules/isnanl-nolibm (License): Likewise.
25958 2016-11-19  Bruno Haible  <bruno@clisp.org>
25960         Relicense some modules under LGPLv2+.
25961         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
25962         modules/vasnprintf.
25963         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
25964         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
25965         All other significant changes to the files in lib/ of these modules
25966         are from me.
25967         * modules/memcmp2 (License): Change to LGPLv2+.
25968         * modules/amemxfrm (License): Likewise.
25969         * modules/fpieee (License): Likewise.
25970         * modules/fpucw (License): Likewise.
25971         * modules/frexp-nolibm (License): Likewise.
25972         * modules/frexpl-nolibm (License): Likewise.
25973         * modules/printf-frexp (License): Likewise.
25974         * modules/printf-frexpl (License): Likewise.
25975         * modules/printf-safe (License): Likewise.
25976         * modules/signbit (License): Likewise.
25978 2016-11-17  Bruno Haible  <bruno@clisp.org>
25980         Enable Unicode decoder safety unconditionally.
25981         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
25982         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
25983         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25984         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25985         * lib/unistr/u8-prev.c (u8_prev): Likewise.
25986         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
25987         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
25988         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
25989         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
25990         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
25991         * lib/unistr/u16-prev.c (u16_prev): Likewise.
25992         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
25993         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
25994         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
25995         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
25996         * lib/unistr/u32-prev.c (u32_prev): Likewise.
25997         * lib/unistr/u32-next.c (u32_next): Likewise.
25998         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
25999         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
26000         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26001         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26002         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
26003         CONFIG_UNICODE_SAFETY tests unconditionally.
26004         * tests/unistr/test-u32-mblen.c (main): Likewise.
26005         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
26006         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
26007         * tests/unistr/test-u32-next.c (main): Likewise.
26008         * tests/unistr/test-u32-strmblen.c (main): Likewise.
26009         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
26010         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
26011         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
26012         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
26013         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26014         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
26015         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
26016         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
26017         * lib/unistr/u16-check.c (u16_check): Update comment.
26018         * NEWS: Mention the changes that callers should be aware of.
26020 2016-11-19  Bruno Haible  <bruno@clisp.org>
26022         relocatable-prog-wrapper: Fix breakage on Cygwin.
26023         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
26024         (Depends-on): Remove intprops.
26025         * lib/relocwrapper.c: Update dependency tree.
26026         (strerror): Undefine.
26027         * build-aux/install-reloc (func_create_wrapper): Do not compile
26028         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
26030 2016-11-19  Bruno Haible  <bruno@clisp.org>
26032         strerror: Make it compile in C++ mode.
26033         * lib/strerror.c (strerror): Ignore the return value of memcpy().
26035 2016-11-15  Pedro Alves  <palves@redhat.com>
26037         sys_time: add gnulib::timeval for C++
26038         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
26039         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
26040         timeval macro.
26042 2016-11-14  Pedro Alves  <palves@redhat.com>
26044         snippet/c++defs: fix real-floating arg functions in C++ mode
26045         Also, define isfinite, isinf, isnan, signbit in the gnulib
26046         namespace instead of in the global namespace.
26047         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
26048         (_GL_END_NAMESPACE): New.
26049         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
26050         (isfinite, isinf, isnan, signbit) [__cplusplus &&
26051         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
26052         instead of in the global namespace.
26053         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
26054         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
26055         of in the global namespace.
26057 2016-11-13  Jim Meyering  <meyering@fb.com>
26059         strftime: don't use __THROW
26060         Each use of __THROW would provoke this from gcc-7-to-be:
26062           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
26063             on unit local functions [-Wattributes]
26064           static int iso_week_days (int, int) __THROW;
26065           ^~~~~~
26066         * lib/strftime.c (__THROW): Don't define.
26067         Remove each use of __THROW.
26068         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
26069         (tm_diff, iso_week_days, __strftime_internal): Likewise.
26071 2016-11-14  Paul Eggert  <eggert@union>
26073         obstack: port to gcc -fcheck-pointer-bounds
26074         Problem found by 'make check' failure on bleeding-edge coreutils
26075         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
26076         6.2.0-5ubuntu12), configured via "./configure
26077         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
26078         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
26079         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
26080         New macro, copied from fts_.h.
26081         (struct _obstack_chunk.contents): Use it.
26083 2016-11-14  Eric Blake  <eblake@redhat.com>
26085         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
26086         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
26087         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
26089 2016-11-14  Pádraig Brady  <P@draigBrady.com>
26091         strptime: fix compile error in recent change
26092         * lib/strptime.c (__strptime_internal): Fix ported code.
26094 2016-11-11  Bruno Haible  <bruno@clisp.org>
26096         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
26097         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
26098         (func_import): Extend determination of license_incompatibilities.
26099         (func_create_testdir): Extend table of license compatibility. Handle
26100         also the licenses GPLv3+, GPL, LGPLv3+.
26102 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26104         strftime: tune %q
26105         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
26107         Merge strftime.c changes from glibc
26108         This incorporates:
26109         2007-10-16 [BZ #5184] Add tzset_called argument
26110         2008-06-13 [BZ #6612] pass reference to tzset_called around
26111         2009-10-30 Implement Burmese language locale for Myanmar
26112         2010-01-09 Add support for XPG7 testing
26113         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
26114         2015-10-20 Convert miscellaneous function definitions to prototype style
26115         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
26116         it anyway and this lessens the difference between gnulib and glibc.
26117         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
26118         (__THROW): Define if standard headers do not.
26119         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
26120         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
26121         Declare with __THROW.
26122         (__strftime_internal): Rename from strftime_case_. Add arg for
26123         whether tzset is called.  All uses changed.  Call tzset at most
26124         once.  Allow %OC, for Burmese.
26125         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
26126         Don't assume values are in range.
26128 2016-11-12  Eric Blake  <eblake@redhat.com>
26130         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
26131         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
26132         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
26133         different value.
26135 2006-11-12  Pedro Alves  <palves@redhat.com>
26137         Fix gnulib C++ namespace support and std::frexp
26138         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
26139         _GL_CXXALIASWARN.
26141 2006-11-12  Pedro Alves  <palves@redhat.com>
26143         GNULIB_NAMESPACE::func need not pull in rpl_func
26144         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26145         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
26146         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
26147         struct instead of a function pointer.
26149 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
26151         manywarnings: fix -Wno-missing-field-initializers detection
26152         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
26153         to be independent of -Wunused-variable.  I.E. ensure the latter
26154         warning doesn't occur so that detection of the former is accurate.
26156 2016-11-05  Pádraig Brady  <pbrady@fb.com>
26158         strftime,strptime: support %q to represent the quarter
26159         * lib/strftime.c (strftime_case_): Add %q case.
26160         * lib/strptime.c (__strptime_internal): Likewise.
26161         * tests/test-strftime.c (quarter_test): A new test case.
26163 2016-11-03  Eric Blake  <eblake@redhat.com>
26165         bootstrap: Fix get_version() for AIX 5.3
26166         * build-aux/bootstrap (get_version): Factor out sed script, since
26167         indented comments choke AIX 5.3 sed.
26168         Reported-by: Michael Felt <aixtools@gmail.com>
26170 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26172         intprops: port to older XL C
26173         Problem reported by Alexander Samoilov in:
26174         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
26175         http://savannah.nongnu.org/bugs/?49448
26176         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
26177         Define to 1 only for XL C 12.1 or later, since this bug
26178         occurs in XL C for AIX 6.0 but not in 12.1.
26180 2016-11-02  Pádraig Brady  <P@draigBrady.com>
26182         backupfile: initialize default suffix within the implementation
26183         * lib/backupfile.c (find_backup_file_name): Initialize the
26184         global variable here, to simplify usage, and to only call
26185         getenv() when needed.
26187 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26189         futimens: remove FIXME for old Linux kernels
26190         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
26191         this in 2012" FIXME, like that for utimensat.
26193         utimensat: remove FIXME for old Linux kernels
26194         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
26195         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
26196         this in 2012" FIXME, by assuming the file system bug is absent
26197         unless demonstrated to be present.  We no longer need to worry
26198         about Linux kernel 2.6.32 when building with newer kernels.
26200 2016-10-16  Bruno Haible  <bruno@clisp.org>
26202         qsort_r: Fix macrology for platforms that lack the function.
26203         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
26204         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
26205         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
26206         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
26207         not exist.
26208         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
26209         the function exists.
26210         * modules/qsort_r: Add comments.
26212 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26214         sys_types: fix Texinfo typos
26215         * doc/glibc-functions/gnu_dev_major.texi:
26216         * doc/glibc-functions/gnu_dev_makedev.texi:
26217         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
26219 2016-10-26  John David Anglin  <dave.anglin@bell.net>
26221         getprogname: port to HP-UX
26222         See Bug#24805.
26223         * lib/getprogname.c (getprogname) [__hpux]: Port.
26224         * tests/test-getprogname.c (STREQ) [__hpux]:
26225         Special-case for HP-UX limitations on program name length.
26227 2016-10-20  Bruno Haible  <bruno@clisp.org>
26229         Update doc about target platforms.
26230         * doc/gnulib-intro.texi (Target Platforms): Update list.
26232 2016-10-15  Bruno Haible  <bruno@clisp.org>
26234         opendir, readdir, closedir: Relicense under LGPLv2+.
26235         * modules/opendir (License): Change to LGPLv2+.
26236         * modules/readdir (License): Likewise.
26237         * modules/closedir (License): Likewise.
26239 2016-10-16  Bruno Haible  <bruno@clisp.org>
26241         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
26242         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
26243         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
26244         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
26245         HAVE_DECL_STRERROR_R.
26247 2016-10-16  Bruno Haible  <bruno@clisp.org>
26249         Make the 'argp' module work without the 'error' module.
26250         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
26252 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
26254         diffseq: restore TOO_EXPENSIVE heuristic
26255         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
26256         (Bug#24715).  The simplest solution is to restore the
26257         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
26258         using a higher threshold to avoid Bug#16848 on smaller files.
26259         * lib/diffseq.h (struct context): Restore member too_expensive.
26260         (struct partition): Restore members lo_minimal, hi_minimal.
26261         (diag, compareseq): Restore arg find_minimal.  All uses changed.
26262         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
26263         1993 to make 'diff' run faster (but not as well) on large inputs,
26264         but use a threshold of 4096 instead of the old 256.
26265         * lib/fstrcmp.c (strcmp_bounded):
26266         * lib/git-merge-changelog.c (compute_differences):
26267         Adjust to diffseq.h changes.
26269 2016-10-22  Bruno Haible  <bruno@clisp.org>
26271         iconv: Avoid compilation error when bootstrapping GNU libiconv.
26272         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
26273         declaration yet, define ICONV_CONST to empty.
26275 2016-10-15  Bruno Haible  <bruno@clisp.org>
26277         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
26278         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
26279         module.
26281 2016-10-16  Bruno Haible  <bruno@clisp.org>
26283         system-quote tests: Avoid compiler warning on AIX.
26284         * tests/test-system-quote-child.c (fopen): Redefine like the system's
26285         <stdio.h> does.
26287 2016-10-16  Bruno Haible  <bruno@clisp.org>
26289         Fix some "gcc -Wall" warnings.
26290         * tests/test-ffsl.c (main): Use variable x, not i.
26291         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
26292         freopen.
26293         * tests/test-sethostname1.c (main): Explicitly ignore the return value
26294         of sethostname.
26296 2016-10-16  Bruno Haible  <bruno@clisp.org>
26298         gnulib-tool: Make --create-testdir on all modules work again.
26299         * gnulib-tool (func_create_testdir): Don't include the
26300         non-recursive-gnulib-prefix-hack module.
26302 2016-10-21  Daiki Ueno  <ueno@gnu.org>
26304         libunistring: change the maintainer to 'all'
26305         * modules/gen-uni-tables, modules/libunistring:
26306         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
26307         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
26308         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
26309         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
26310         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
26311         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
26312         * modules/uniwidth/*: Change the maintainer to 'all'.
26314 2016-10-16  Bruno Haible  <bruno@clisp.org>
26316         Simplify "configure: checking ..." messages.
26317         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
26318         AC_MSG_NOTICE.
26319         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26321 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
26323         quotearg-tests: pacify gcc -Wall
26324         Problem reported by Bruno Haible in:
26325         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
26326         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
26327         * tests/test-quotearg.h: ... from here.
26329 2016-10-20  Pádraig Brady  <P@draigBrady.com>
26331         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
26332         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
26333         Needed on Centos <= 4.
26335 2016-10-20  Jim Meyering  <meyering@fb.com>
26337         printf.m4: fix a bug in detecting printf %j support
26338         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
26339         uintmax_t is defined in neither stdint.h nor inttypes.h.
26340         Before, this macro might have mistakenly set
26341         gl_cv_func_printf_sizes_c99=yes on such a system.
26342         Spotted by Zev Weiss.
26344 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
26346         sched: substitute HAVE_SYS_CDEFS_H too
26347         Problem reported by Tom G. Christensen in:
26348         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
26349         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
26350         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
26352 2016-10-19  Pádraig Brady  <P@draigBrady.com>
26354         quotearg: never write beyond the returned length
26355         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
26356         scan of the string when we initially encounter a single quote when
26357         shell quoting, so that if we then switch to a more concise quoting method
26358         we will not have written beyond that returned length.
26359         This is significant for sh-quote, which has separate routines
26360         to determine the length and do the actual quoting.
26361         * tests/test-quotearg.h: Reinstate the buffer bounds checking
26362         now that we never write more than the returned length.
26364 2016-10-18  Bruno Haible  <bruno@clisp.org>
26366         getprogname tests: Avoid failure in packages that use libtool.
26367         * tests/test-getprogname.c (main): Strip "lt-" prefix.
26368         Based on a patch by Jim Meyering.
26370 2016-10-16  Bruno Haible  <bruno@clisp.org>
26372         getprogname: Fix test failure on Cygwin. Comments.
26373         * lib/getprogname.h: Add comments.
26374         * lib/getprogname.c: Add comments. Fix #elif indentation.
26375         * tests/test-getprogname.c (main): On Cygwin, expect a result without
26376         ".exe" suffix.
26378 2016-10-16  Bruno Haible  <bruno@clisp.org>
26380         Make sure the libunistring detection rejects older versions with a
26381         known bug.
26382         * modules/unistr/u8-strtok (configure.ac): Bump required version.
26383         * modules/unistr/u16-strtok (configure.ac): Likewise.
26384         * modules/unistr/u32-strtok (configure.ac): Likewise.
26386 2016-10-18  Bruno Haible  <bruno@clisp.org>
26388         sh-quote, system-quote: revert regression of unit test.
26389         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
26390         * tests/test-system-quote-main.c (check_one): Likewise.
26392 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26394         quotearg: fix stale tests
26395         * tests/test-quotearg.c [locale_results]: Add the missing str7
26396         entries to the expected results.
26397         * tests/test-system-quote-main.c (check_one): Don't enforce that we
26398         don't write beyond the returned length, since that's no longer the
26399         case if we switch to a more concise quoting style.
26400         * tests/test-sh-quote.c (check_one): Likewise.
26401         (main): Adjust for the new more concise quoting style.
26402         Reported by Bruno Haible.
26404 2016-10-16  Jim Meyering  <meyering@fb.com>
26406         non-recursive-gnulib-prefix-hack: fix inconsequential typo
26407         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
26408         to "$1".  This macro is always invoked with $1 == lib.
26409         Spotted by Bruno Haible
26411 2016-10-16  Bruno Haible  <bruno@clisp.org>
26413         Fix a test crash.
26414         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
26415         fails.
26417 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26419         test-limits-h: suppress -Woverlength-strings
26420         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
26422 2016-10-15  Bruno Haible  <bruno@clisp.org>
26424         gettime, timespec, utimens: Relicense under LGPL.
26425         * modules/gettime (License): Change to LGPL.
26426         * modules/timespec (License): Likewise.
26427         * modules/utimens (License): Likewise.
26429 2016-10-14  Bruno Haible  <bruno@clisp.org>
26430             Pádraig Brady  <P@draigBrady.com>
26432         canonicalize-lgpl: Support the case path_max > INT_MAX.
26433         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
26434         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
26436 2016-10-13  Jim Meyering  <meyering@fb.com>
26438         getprogname: IBM z/OS: avoid NULL-dereference
26439         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
26440         upon strdup failure.
26442 2016-10-12  Jim Meyering  <meyering@fb.com>
26444         test-stdint: use _GL_VERIFY rather than "verify" for some tests
26445         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
26446         and an abbreviated diagnostic rather than verify with the full one,
26447         because the full-length strings would evoke warnings from gcc with
26448         -Woverlength-strings.
26450 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26452         stdint: port SIZE_MAX to glibc s390
26453         Problem reported by Eric Blake in:
26454         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
26455         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
26456         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
26457         correct type, if possible.
26459 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
26461         getprogname: port to IBM z/OS
26462         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
26464 2016-10-11  Jim Meyering  <meyering@fb.com>
26466         maint: remove stray space after "." in AC_DEFINE comment.
26467         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
26468         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26470 2016-10-05  Jim Meyering  <meyering@fb.com>
26472         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26473         * lib/long-options.c (parse_long_options): Add a break statement
26474         to avoid this new warning/failure:
26475         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26476           --create-testdir --dir=/t/x --with-tests --test long-options
26477         ../../gllib/long-options.c: In function 'parse_long_options':
26478         ../../gllib/long-options.c:66:12: error: this statement may \
26479           fall through [-Werror=implicit-fallthrough]
26480                    (*usage_func) (EXIT_SUCCESS);
26481                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26483 2016-10-05  Jim Meyering  <meyering@fb.com>
26485         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26486         Testing this module would fail when using GCC 7 like this:
26487         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26488           --dir=/tmp/x --with-tests --test utimecmp
26489         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26490         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26491           [-Werror=bool-operation]
26492                          time_t s = src_s & ~ (res == 2 * BILLION);
26493                                             ^
26494         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26495           [-Werror=bool-operation]
26496                src_s &= ~ (res == 2 * BILLION);
26497                         ^
26498         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26499         Instead, make it explicit that we intend to apply it to 0 or 1.
26501 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26503         dfa: save memory for states
26504         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
26505         states if dfa has a lot of caches.
26507 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
26509         wchar, wctype-h: fix for MinGW 3.22.2
26510         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
26511         special invocation, to fix issues with MinGW 3.22.2 wchar.h
26512         when included from <string.h>.
26513         * lib/wctype.in.h [__MINGW32__]: Add special invocation
26514         convention for MinGW 3.22.2, to solve issues with their
26515         wctype.h when included from <ctype.h>.
26517 2016-10-05  Jim Meyering  <meyering@fb.com>
26519         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26520         * lib/long-options.c (parse_long_options): Add a break statement
26521         to avoid this new warning/failure:
26522         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26523           --create-testdir --dir=/t/x --with-tests --test long-options
26524         ../../gllib/long-options.c: In function ‘parse_long_options’:
26525         ../../gllib/long-options.c:66:12: error: this statement may \
26526           fall through [-Werror=implicit-fallthrough]
26527                    (*usage_func) (EXIT_SUCCESS);
26528                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26530         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26531         Testing this module would fail when using GCC 7 like this:
26532         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26533           --dir=/tmp/x --with-tests --test utimecmp
26534         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26535         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26536           [-Werror=bool-operation]
26537                          time_t s = src_s & ~ (res == 2 * BILLION);
26538                                             ^
26539         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26540           [-Werror=bool-operation]
26541                src_s &= ~ (res == 2 * BILLION);
26542                         ^
26543         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26544         Instead, make it explicit that we intend to apply it to 0 or 1.
26546 2016-10-03  Pádraig Brady  <P@draigBrady.com>
26548         quotearg: minimize shell quoting using double quotes
26549         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
26550         quote in encountered then use double quotes (c style quoting)
26551         when possible, as it simplifies the quoting.
26552         * tests/test-quotearg-simple.c: Add test cases.
26553         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
26554         for the fact we now may write beyond the returned length.
26556 2016-10-02  Jim Meyering  <meyering@fb.com>
26558         vasnprintf.c: avoid spurious warning from GCC 7
26559         The presence of cpp directives renders this "FALLTHROUGH" comment
26560         ineffective, so does not suppress the -Wimplicit-fallthrough warning
26561         from GCC 7 built from git on 2016-10-02.
26562         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
26563         directives, so that it takes effect once again.  This is clearly
26564         not a proper change, and I will revert it once this bug is fixed:
26565         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
26567 2016-10-01  Jim Meyering  <meyering@fb.com>
26569         getprogname: correct the test for a __progname variable
26570         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
26571         and AC_LINK_IFELSE to check for a global __progname.  If found,
26572         define HAVE_VAR___PROGNAME.
26573         * lib/getprogname.c (getprogname): Reflect the new name of the
26574         feature- checked preprocessor symbol:
26575         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
26577 2016-09-28  Jim Meyering  <meyering@fb.com>
26579         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
26580         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
26581         fall-through case with a /* fallthrough */ comment.
26583         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
26584         * lib/dfa.c (dfassbuild): Mark the end of this case with a
26585         /* fallthrough */ comment.
26587         getprogname: avoid __progname vs program_invocation_short_name pitfall
26588         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
26589         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
26590         not with Fedora 24's glibc-2.23.1-10.
26591         * lib/getprogname.c (__progname): Move this declaration down...
26592         (getprogname): ... into the #elif block where used, and make it
26593         explicitly "extern".
26595         getprogname: port to OpenBSD 5.1
26596         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
26597         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
26598         * modules/getprogname (configure.ac): Move most of this code...
26599         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
26600         increment serial number, and add a test for __progname.
26601         https://bugs.gnu.org/24562
26602         Reported by Nelson H. F. Beebe.
26604 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
26606         sched: port to GCC 6.2.1 on macOS Sierra
26607         Problem reported by Denis Davydov in:
26608         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
26609         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
26610         Include <sys/cdefs.h> before <sched.h>.
26611         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
26612         so that we needn’t worry about the sched.h include bug here.
26613         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
26614         and include it before <sched.h> if it exists, when
26615         checking for <sched.h>.
26617         tests/init.sh: port Alpine fix to AIX 7.1
26618         * tests/init.sh (compare_): When attempting to use diff -U3,
26619         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
26620         diff -u not outputting a space after leading '+', as the users
26621         of 'compare' should not be that picky about its output format.
26622         In the AIX 7.1 case, return with diff exit status (or with 2 if
26623         trouble), instead of some random nonzero exit status.
26624         * tests/test-init.sh (test_compare): Remove space after leading
26625         '+', so that AIX 7.1 'diff' passes the test.
26627 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26629         nl_langinfo: pacify GCC
26630         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
26631         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
26633         stdint: also set GL_GENERATE_LIMITS_H
26634         Problem reported by Jim Meyering in:
26635         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
26636         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
26638         limits-h, stdint: Don't assume extensions, fix typo
26639         * m4/limits-h.m4 (gl_LIMITS_H):
26640         * m4/stdint.m4 (gl_STDINT_H):
26641         Don't assume AC_USE_SYSTEM_EXTENSIONS.
26642         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
26643         reported by Jim Meyering in:
26644         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
26646 2016-09-21  Jim Meyering  <meyering@fb.com>
26648         getprogname: port to AIX
26649         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
26650         and strdup to obtain a short program name string.  Using code from
26651         Bruno Haible and an idea from Bastien ROUCARIÈS, in
26652         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
26653         Assaf Gordon reported that this new file would fail to compile on
26654         AIX-7.1 32bit.
26656 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
26658         extensions: fix typo in comment
26659         * m4/extensions.m4: Sync from Autoconf master.
26661         stdint: support new _WIDTH macros
26662         * doc/posix-headers/stdint.texi: Document this.
26663         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
26664         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
26665         support for INTMAX_WIDTH, etc. as well as for support for just C99.
26666         * modules/stdint (Depends-on): Add limits-h.
26667         (Makefile.am): Substitute HAVE_C99_STDINT_H.
26668         * modules/stdint-tests (Depends-on): Add extensions, so that
26669         INTMAX_MAX etc. are defined.
26670         * tests/test-stdint.c: Verify the new macros.
26672         limits-h: new module
26673         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
26674         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
26675         * doc/posix-headers/limits.texi: Document new module.
26676         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
26677         * modules/limit-h-tests, tests/test-limits-h.c: New files.
26679         stdio: don't redefine __USE_MINGW_ANSI_STDIO
26680         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
26681         if it is already defined.  Apparently GNU Emacs relies on this.  See:
26682         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
26684 2016-09-15  Eric Blake  <eblake@redhat.com>
26686         sys_types: avoid glibc 2.25 warnings about major()
26687         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
26688         older autoconf.
26689         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
26690         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
26691         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
26692         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
26694         mountlist: include sysmacros.h for glibc
26695         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
26696         AC_HEADER_MAJOR.
26697         * lib/mountlist.c (includes): Use correct headers.
26699 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
26701         extensions: port to more ISO C TSes
26702         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
26703         master, to add support for more recent ISO C TRs and TSes.
26705 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26707         intprops: new macro TYPE_WIDTH
26708         * lib/intprops.h (TYPE_WIDTH): New macro.
26709         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
26710         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
26711         * lib/parse-datetime.y (parse_datetime2):
26712         Use it.
26714         extensions: port to recent ISO C TRs
26715         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26716         Sync from Autoconf master, to add support for recent ISO C TRs.
26717         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
26718         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
26719         the MinGW option is not an extension.
26721 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
26723         dfa: port to Solaris 9
26724         Problems reported by Tom G. Christensen in:
26725         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
26726         * modules/dfa (Depends-on): Add isblank.
26727         * modules/dfa-tests (dfa_match_aux_LDADD):
26728         Rename from test_stat_LDADD, to fix typo.
26729         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
26731 2016-09-10  Jim Meyering  <meyering@fb.com>
26733         strverscmp: avoid link failure on OS X
26734         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
26735         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
26737 2016-08-16  Jim Meyering  <meyering@fb.com>
26739         dfa: new module, importing grep's DFA matcher
26740         Since grep's DFA matcher is now being used by two gnulib-enabled
26741         projects, grep and sed, it makes sense to version-control its
26742         sources and unit tests in one place: here.
26743         * modules/dfa: New module.
26744         * modules/dfa-tests: New file.
26745         * lib/dfa.c: New file, from grep.
26746         * lib/dfa.h: Likewise.
26747         * lib/localeinfo.c: Likewise.
26748         * lib/localeinfo.h: Likewise.
26749         * tests/dfa-match-aux.c: Likewise.
26750         * tests/dfa-invalid-char-class.sh: Likewise.
26751         * tests/dfa-match.sh: Likewise, with minor changes.
26752         * MODULES.html.sh (Misc): Add "dfa" to this list.
26754 2016-09-09  Jim Meyering  <meyering@fb.com>
26756         getprogname-tests: don't depend on assert-h
26757         * modules/getprogname-tests (Depends-on): Remove assert-h.
26758         It was not needed, and in fact would cause build failure for
26759         coreutils on some systems.  Reported by Assaf Gordon in https:
26760         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
26762 2016-09-07  Jim Meyering  <meyering@fb.com>
26764         getprogname-tests: work also when EXEEXT is nonempty
26765         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
26766         * tests/test-getprogname.c (main): Use it.
26767         Suggested by Gisle Vanem.
26769 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
26771         getprogname: fix errors in previous change
26772         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
26773         s/program_invocation_name/base/
26774         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
26776 2016-09-08  Pádraig Brady  <P@draigBrady.com>
26778         parse-datetime: restrict debug output to input string
26779         * lib/parse-datetime.y (parse_datetime2): If we parse
26780         all of the input but determine it's invalid, ensure
26781         we don't output the now invalid input pointer.
26782         This issue was seen with `date -d 'now +1'`.
26784 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
26786         flexmember: new macro FLEXALIGNOF
26787         * lib/flexmember.h: Include <stddef.h>, for offsetof.
26788         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
26789         this macro.  Update comments.
26791 2016-09-07  Jim Meyering  <meyering@fb.com>
26793         getprogname: port to systems with __argv (mingw, msvc)
26794         * lib/getprogname.c (getprogname): Include "dirname.h" and use
26795         last_component: more general than open coding it with hard-coded "/".
26796         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
26797         * modules/getprogname (Depends-on): Add dirname-lgpl.
26798         (configure.ac): Check for __argv in <stdlib.h>.
26799         * modules/getprogname-tests: New file.
26800         * tests/test-getprogname.c: New file.
26801         Suggested by Gisle Vanem in
26802         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
26804 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
26806         flexmember: port better to GCC + valgrind
26807         With a char[] flexible array member in a struct with nontrivial
26808         alignment, GCC-generated code can access past the end of the
26809         array, because GCC assumes there are padding bytes to get the
26810         struct aligned.  So the common idiom of malloc (offsetof (struct
26811         s, m), n) does not properly allocate an n-byte trailing member, as
26812         malloc’s argument should be the next multiple of alignof (struct s).
26813         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
26814         Although C11 apparently permits this GCC optimization (i.e., there
26815         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
26816         See the thread containing:
26817         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
26818         * lib/flexmember.h: New file.
26819         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
26820         * lib/localename.c, lib/time_rz.c:
26821         Include flexmember.h.
26822         * lib/fnmatch_loop.c (struct patternlist):
26823         * lib/localename.c (struct hash_node):
26824         Use FLEXIBLE_ARRAY_MEMBER.
26825         * lib/fnmatch_loop.c (EXT):
26826         * lib/fts.c (fts_alloc):
26827         * lib/glob.c (glob_in_dir):
26828         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
26829         * lib/localename.c (gl_lock_define_initialized):
26830         * lib/time_rz.c (tzalloc):
26831         Use FLEXSIZEOF instead of offsetof.
26832         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
26833         Check that the size of the struct can be taken.
26834         * modules/flexmember (Files): Add lib/flexmember.h.
26835         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
26836         Add flexmember.
26838 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
26840         getprogname: port to Solaris 10
26841         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
26842         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
26843         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
26845         stdalign: correct mistake in alignof doc
26846         Problem reported by Joseph Myers in:
26847         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
26848         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
26849         alignof(S) where S is a structure containing a flexible array
26850         member.  The Gnulib substitute does not support this, but C11 does.
26852 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
26854         main.mk: remove sc_program_name, since there is no more need to
26855         use set_program_name in tools (getprogname is enough for most
26856         of the cases).
26857         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
26858         * top/maint.mk (sc_program_name): Remove.
26860 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
26862         Port tests away from progname, since modules that need the
26863         program name already depend on getprogname.
26864         * modules/acl-tests (Depends-on): Remove progname.
26865         * modules/argmatch (Depends-on): Likewise.
26866         * modules/argmatch-tests (Depends-on): Likewise.
26867         * modules/argp-tests (Depends-on): Likewise.
26868         * modules/argp-version-etc-tests (Depends-on): Likewise.
26869         * modules/array-list-tests (Depends-on): Likewise.
26870         * modules/array-oset-tests (Depends-on): Likewise.
26871         * modules/avltree-list-tests (Depends-on): Likewise.
26872         * modules/avltree-oset-tests (Depends-on): Likewise.
26873         * modules/avltreehash-list-tests (Depends-on): Likewise.
26874         * modules/carray-list-tests (Depends-on): Likewise.
26875         * modules/copy-file-tests (Depends-on): Likewise.
26876         * modules/exclude-tests (Depends-on): Likewise.
26877         * modules/fchownat-tests (Depends-on): Likewise.
26878         * modules/fdopendir-tests (Depends-on): Likewise.
26879         * modules/filenamecat-tests (Depends-on): Likewise.
26880         * modules/fstatat-tests (Depends-on): Likewise.
26881         * modules/fstrcmp-tests (Depends-on): Likewise.
26882         * modules/linked-list-tests (Depends-on): Likewise.
26883         * modules/linkedhash-list-tests (Depends-on): Likewise.
26884         * modules/mkdirat-tests (Depends-on): Likewise.
26885         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
26886         * modules/nonblocking-socket-tests (Depends-on): Likewise.
26887         * modules/obstack-printf-tests (Depends-on): Likewise.
26888         * modules/openat-tests (Depends-on): Likewise.
26889         * modules/parse-datetime-tests (Depends-on): Likewise.
26890         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
26891         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
26892         * modules/quotearg-simple-tests (Depends-on): Likewise.
26893         * modules/quotearg-tests (Depends-on): Likewise.
26894         * modules/rbtree-list-tests (Depends-on): Likewise.
26895         * modules/rbtree-oset-tests (Depends-on): Likewise.
26896         * modules/rbtreehash-list-tests (Depends-on): Likewise.
26897         * modules/spawn-pipe-tests (Depends-on): Likewise.
26898         * modules/system-quote-tests (Depends-on): Likewise.
26899         * modules/uniname/uniname-tests (Depends-on): Likewise.
26900         * modules/uninorm/nfc-tests (Depends-on): Likewise.
26901         * modules/uninorm/nfd-tests (Depends-on): Likewise.
26902         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
26903         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
26904         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
26905         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
26906         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
26907         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
26908         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
26909         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
26910         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
26911         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
26912         * modules/unlinkat-tests (Depends-on): Likewise.
26913         * modules/version-etc-tests (Depends-on): Likewise.
26914         * modules/xalloc-die-tests (Depends-on): Likewise.
26915         * modules/xmemdup0-tests (Depends-on): Likewise.
26916         * modules/xprintf-posix-tests (Depends-on): Likewise.
26917         * modules/xvasprintf-tests (Depends-on): Likewise.
26918         * tests/test-argmatch.c: Do not include progname.h.
26919         (main) Stop calling set_program_name.
26920         * tests/test-argp-version-etc.c: Likewise.
26921         * tests/test-argp.c: Likewise.
26922         * tests/test-argv-iter.c: Likewise.
26923         * tests/test-array_list.c: Likewise.
26924         * tests/test-array_oset.c: Likewise.
26925         * tests/test-avltree_list.c: Likewise.
26926         * tests/test-avltree_oset.c: Likewise.
26927         * tests/test-avltreehash_list.c: Likewise.
26928         * tests/test-carray_list.c: Likewise.
26929         * tests/test-copy-acl.c: Likewise.
26930         * tests/test-copy-file.c: Likewise.
26931         * tests/test-exclude.c: Likewise.
26932         * tests/test-fchownat.c: Likewise.
26933         * tests/test-fdopendir.c: Likewise.
26934         * tests/test-filenamecat.c: Likewise.
26935         * tests/test-fstatat.c: Likewise.
26936         * tests/test-fstrcmp.c: Likewise.
26937         * tests/test-linked_list.c: Likewise.
26938         * tests/test-linkedhash_list.c: Likewise.
26939         * tests/test-mkdirat.c: Likewise.
26940         * tests/test-nonblocking-pipe-main.c: Likewise.
26941         * tests/test-nonblocking-socket-main.c: Likewise.
26942         * tests/test-obstack-printf.c: Likewise.
26943         * tests/test-openat.c: Likewise.
26944         * tests/test-parse-datetime.c: Likewise.
26945         * tests/test-pipe-filter-gi1.c: Likewise.
26946         * tests/test-pipe-filter-gi2-main.c: Likewise.
26947         * tests/test-pipe-filter-ii1.c: Likewise.
26948         * tests/test-pipe-filter-ii2-main.c: Likewise.
26949         * tests/test-quotearg-simple.c: Likewise.
26950         * tests/test-quotearg.c: Likewise.
26951         * tests/test-rbtree_list.c: Likewise.
26952         * tests/test-rbtree_oset.c: Likewise.
26953         * tests/test-rbtreehash_list.c: Likewise.
26954         * tests/test-sameacls.c: Likewise.
26955         * tests/test-set-mode-acl.c: Likewise.
26956         * tests/test-spawn-pipe-main.c: Likewise.
26957         * tests/test-system-quote-main.c: Likewise.
26958         * tests/test-unlinkat.c: Likewise.
26959         * tests/test-version-etc.c: Likewise.
26960         * tests/test-xalloc-die.c: Likewise.
26961         * tests/test-xfprintf-posix.c: Likewise.
26962         * tests/test-xmemdup0.c: Likewise.
26963         * tests/test-xprintf-posix.c: Likewise.
26964         * tests/test-xvasprintf.c: Likewise.
26965         * tests/uniname/test-uninames.c: Likewise.
26966         * tests/uninorm/test-u32-nfc-big.c: Likewise.
26967         * tests/uninorm/test-u32-nfd-big.c: Likewise.
26968         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
26969         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
26970         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26971         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26972         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26973         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26974         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26975         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26976         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26977         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26978         * tests/test-c-stack.c: (program_name): Do not define.
26979         (main): Do not set program_name.
26980         * tests/test-closein.c: Likewise.
26981         * tests/test-xstrtol.c: Likewise.
26982         * tests/test-yesno.c: Likewise.
26984 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
26986         Port modules to use getprogname explicitly, instead of requiring
26987         progname to be used (or program_name to be provided).
26988         * lib/argmatch.c: Do not include progname.h.
26989         [TEST] (program_name): Do not define.
26990         [TEST] (main): Call getprogname instead of using program_name.
26991         * lib/c-stack.c: Do not include progname.h.
26992         (program_name): Do not define.
26993         (die): Call getprogname instead of using program_name.
26994         * lib/chdir-long.c: Do not include progname.h.
26995         [TEST_CHDIR] (main): Do not set program_name.
26996         * lib/error.c [!_LIBC]: Include progname.h.
26997         [!_LIBC] (program_name): Define using getprogname.
26998         * lib/euidaccess.c: Do not include progname.h.
26999         [TEST] (main): Do not set program_name.
27000         * lib/git-merge-changelog.c: Include getprogname.h instead of
27001         progname.h.
27002         (usage): Call getprogname instead of using program_name.
27003         (main): Likewise.  Stop calling set_program_name.
27004         * lib/group-member.c: Do not include progname.h.
27005         [TEST] (main): Do not set program_name.
27006         * modules/argmatch (Depends-on): Add getprogname.
27007         * modules/c-stack (Depends-on): Likewise.
27008         * modules/error (Depends-on): Likewise.
27009         * modules/git-merge-changelog (Depends-on): Likewise.
27010         Also remove progname.
27012 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
27014         * NEWS: Document the deprecation of the 'progname' module.
27016 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27018         getprogname: new module
27019         This provides a LGPL module for getting the name of the current
27020         program, using the same API found on *BSD systems.
27021         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
27022         * modules/getprogname: New files.
27023         * MODULES.html.sh (Misc): Add getprogname.
27025 2016-09-02  Jim Meyering  <meyering@fb.com>
27027         manywarnings: add -fno-common
27028         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
27029         to the list.  Quoting the manual, "Compiling with -fno-common is
27030         useful on targets for which it provides better performance, or if
27031         you wish to verify that the program will work on other systems that
27032         always treat uninitialized variable declarations this way [putting
27033         it in the data section]."  If diffutils had been using this sooner,
27034         it would have prevented this duplicate declaration issue:
27035         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
27037 2016-08-31  Simon Josefsson  <simon@josefsson.org>
27039         parse-datetime: Fix typo.
27040         * lib/parse-datetime.y (parse_datetime2): Fix typo.
27042 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
27044         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
27045         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
27046         GCC 5 and 6 that have __builtin_sub_overflow but not
27047         __builtin_sub_overflow_p.  With the recent changes, these
27048         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
27049         implementation than with INT_SUBTRACT_OVERFLOW implementation,
27050         since the former needs just one runtime comparison whereas the
27051         latter needs two.
27053         strverscmp: sync with glibc
27054         Although this doesn't exactly synchronize with glibc
27055         byte-for-byte, it makes the code behave the same as glibc.
27056         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
27057         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
27058         difference shouldn't matter in practical use.  All uses changed
27059         back to isdigit.
27060         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
27061         (next_state): Now unsigned char array; redo elements.
27062         (result_type): Now signed char array; redo elements.
27063         (__strverscmp): Fix glibc bug 9913 by using new states.
27064         * tests/test-strverscmp.c (main): Test glibc bug 9913.
27066 2016-08-29  Jim Meyering  <meyering@fb.com>
27068         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
27069         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
27070         similarly to how it was done to intprops.h.
27072 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
27074         intprops.h: port recent changes to GCC 6.2.0
27075         * lib/intprops.h (__has_builtin): Move earlier.
27076         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
27077         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
27078         the last argument can be null.  All uses changed.
27079         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
27080         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27081         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
27082         and it's not clear which GCC versions it works for.
27083         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
27084         its definiens.
27086         intprops.h: use __typeof__ with GCC 7
27087         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
27088         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
27089         This avoids computing the expression's value (which might overflow!).
27091 2016-08-29  Jim Meyering  <meyering@fb.com>
27093         intprops.h, xalloc-oversized.h: work with gcc 7
27094         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
27095         __builtin_mul_overflow each accept a NULL pointer as the third
27096         argument.  However in gcc 7, that is no longer accepted.
27097         Instead, one must use the "_p"-suffixed names, with which, the
27098         third parameter is no longer a pointer.
27099         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
27100         the definition: not true for gcc 7 and subsequent.
27101         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
27102         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27103         Provide new definitions for gcc 7 and subsequent.
27104         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
27105         that works with gcc-7.
27107         intprops.h: fix missing-backslash problems
27108         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
27109         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
27111 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27113         intprops: fix paren typo on old platforms
27114         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
27115         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
27116         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
27117         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
27118         && !defined LLONG_MAX]:
27119         Remove stray paren.
27121         intprops: port to OpenVMS
27122         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
27123         * doc/posix-headers/limits.texi: Document the problem.
27124         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
27125         Define if not already defined.
27127 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
27129         parse-datetime: improve debug implementation
27130         Follow-up to commit 12ad79069 ("add optional debug printing").
27131         Improve parse-datetime's debug implementation: remove macros,
27132         replace global debug flag variable with a function parameter,
27133         use nstrftime for formatting.
27134         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
27135         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
27136         (parse_datetime2): New function, accepts 'flags' parameter, supporting
27137         debug flag. Existing interface 'parse_datetime' left unmodified.
27138         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
27139         (struct parser_control): add 'parse_datetime_debug' member variable.
27140         (parse_datetime): Call new function 'parse_datetime2' without debug.
27141         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
27142         pc.parse_datetime_debug variable as needed.
27143         (to_year): Accept new flags parameter, instead of using global variable.
27144         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
27145         use struct 'debug' variable instead of global variable.
27146         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
27147         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
27148         correspnding functions directly instead of using macros.
27149         * modules/parse-datetime: Add gnulib's strftime module.
27151 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
27153         c-strcase-tests: port to EBCDIC
27154         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
27155         which assume ASCII encoding semantics to run only in ASCII
27156         mode, as they fail in EBCDIC.
27158         sigpipe-tests: fix typo
27159         * tests/test-sigpipe.sh: C, not B.
27161 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
27163         canonicalize-lgpl: fix errno after malloca fails
27164         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
27165         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
27166         * lib/canonicalize-lgpl.c (__realpath):
27167         Don't assume malloca sets errno on failure.
27169 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27171         strtod: port errno handling to z/OS
27172         * lib/strtod.c (strtod): Save and restore errno more reliably.
27174 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27176         strtod: port to z/OS
27177         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27178         implementation.
27180 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27182         strtod: port to z/OS
27183         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27184         implementation.
27186         regex, string: rename to avoid '__string'
27187         * lib/regex.h, lib/string.in.h: Do not use the identifier
27188         '__string', as it is effectively reserved by string.h on z/OS.
27190         c-strcase-tests, wcwidth-tests: depend on c-ctype
27191         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
27192         Add c-ctype.
27194 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27196         thread: port to z/OS
27197         * lib/glthread/thread.c, lib/glthread/thread.h:
27198         Rudimentary gl_thread support for z/OS.
27200         maint: port tests to z/OS errno behavior
27201         * tests/test-nonblocking-reader.h:
27202         * tests/test-nonblocking-writer.h:
27203         Accommodate z/OS errno code preferences. (I believe this should
27204         still be within spec; IBM is good at following the letter if not
27205         the spirit of such things.)
27207         maint: preprocessor changes to support z/OS
27208         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
27209         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
27210         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
27211         * tests/test-nonblocking-pipe.h:
27213         fclose, strstr-simple, wchar: port to z/OS
27214         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
27215         Changes to the Autoconf M4 code to support z/OS.  Note that
27216         fclose() is broken in a different way on z/OS than it is on other
27217         systems, thus the special-case in fclose.m4.
27219         iconv_open-utf-tests, iconv-tests: port to EBCDIC
27220         * tests/test-iconv-utf.c, tests/test-iconv.c:
27221         Added appropriately conditional #pragmas so that the test strings
27222         in test-iconv-utf.c are correctly interpreted in ASCII instead of
27223         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
27224         addressed in a more portable way by simply rewriting all the ASCII
27225         literal characters as octal escapes, but then you would lose the
27226         partial readability that the strings have now. Also, iconv_open()
27227         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
27229         c-strcase-tests, wcwidth-tests: port to EBCDIC
27230         * tests/test-c-strcasecmp.c: Include c-ctype.h.
27231         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
27232         * tests/test-wcwidth.c: Likewise.
27234 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27236         stdbool: don't require _Bool for C++
27237         Problem reported by David Seifert in:
27238         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
27239         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
27240         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
27241         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
27242         stricter about checking that bool and _Bool are compatible in C.
27244 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
27246         getdelim: remove dependency on realloc-posix
27247         * lib/canonicalize-lgpl.c (alloc_failed)
27248         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
27249         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
27250         Use __set_errno where needed, for consistency.
27251         * lib/getdelim.c (alloc_failed): New function.
27252         (getdelim): Use it.
27254 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
27256         parse-datetime: add optional debug printing
27257         Print parsing information, warnings, and errors to stderr.
27258         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
27259         * lib/parse-datetime.y:
27260         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
27261         (PROGRESS*): Same as DEBUG, for progress reporting.
27262         (dbg_printf): Print message to stderr, with 'date' prefix.
27263         (struct parser_control): Add 'debug_*_seen' variables.
27264         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
27265         (debug_print_current_time, debug_print_relateive_time): Prints the
27266         current/relative date/time value of parser_control.
27267         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
27268         (to_year): Warn about 2-digit year parsing.
27269         (yylex):   Warn about unrecognized words.
27270         (get_effective_timezone): Returns current timezone in minutes.
27271         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
27272         clearly and unambigiously as possible.
27273         (debug_mktime_not_ok): Print detailed information about failed
27274         date/time values.
27275         (parse_datetime): Add DEBUG messages for failures, warnings. Add
27276         PROGRESS messages for status messages.
27277         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
27279 2016-08-06  Jim Meyering  <meyering@fb.com>
27281         tests/init.sh: exclude dash with bad "local" semantics
27282         * tests/init.sh (gl_shell_test_script_): Add a function to
27283         eliminate a shell like "dash" (unlike bash, zsh) that has
27284         surprising/risky "local var='...'" semantics.  Inspired by
27285         the problem and discussion in https://bugs.gnu.org/24116#11.
27287 2016-08-02  Ján Tomko  <jtomko@redhat.com>
27289         maint.mk: expand the prohibit_doubled_word regex
27290         This check has a static list of words that are checked for
27291         repetitions.  Expand it before running the perl script to
27292         avoid using expensive captures.  This decreases the cost
27293         for libvirt from 1.66s to 0.66s.
27294         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
27295         (sc_prohibit_doubled_word): Use it.
27297 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27299         useless-if-before-free: skip non-matching lines early
27300         * build-aux/useless-if-before-free: First match each line with the
27301         simple/quick /\bif\b/ and reject if there is no match. This often
27302         saves the cost of the much more involved regular expression.
27303         For libvirt, this decreases the cost from 1.44s to 1.02s.
27305 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27307         maint.mk: speed up sc_po_check
27308         sc_po_check would skip files based on their names, or on the
27309         existence of files with derived names. Rewrite it to use perl
27310         instead of shell to make the check faster.
27311         * top/maint.mk (perl_translatable_files_list_): Define.
27312         (sc_po_check): Use it.
27314 2016-07-30  Ján Tomko  <jtomko@redhat.com>
27316         maint.mk: speed up require_config_h_first
27317         Instead of spawning three processes per file,
27318         rewrite the check in perl and run it once for all the files.
27319         * top/maint.mk (perl_config_h_first_): Define.
27320         (sc_require_config_h_first): Use it in place of shell code.
27322 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27324         maint.mk: speed up sc_po_check
27325         sc_po_check would skip files based on their names, or on the
27326         existence of files with derived names. Rewrite it to use perl
27327         instead of shell to make the check faster.
27328         * top/maint.mk (perl_translatable_files_list_): Define.
27329         (sc_po_check): Use it.
27331 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
27333         obstack: pacify GCC 6 with -Wnull-dereference
27334         Problem reported by Assaf Gordon in:
27335         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
27336         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
27337         Declare with __attribute_noreturn__.
27338         * lib/obstack.h (__attribute_noreturn__): New macro.
27340 2016-07-13  Eric Blake  <eblake@redhat.com>
27342         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
27343         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
27344         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
27346 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
27348         doc: mention glibc SSIZE_MAX buglet
27349         * doc/posix-headers/limits.texi (limits.h): Document the bug.
27351 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
27353         printf-posix: Fix mingw build
27354         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
27355         expression for detecting C symbol prefixes but forgot to qoute square
27356         brackets in the command line arguments for grep.  That way when
27357         building with mingw the condition was false although it ought to be
27358         true instead.  In particular scenarios this led to the following
27359         compile error:
27361             Cannot export rpl_printf: symbol not found
27362             Cannot export rpl_scanf: symbol not found
27363             collect2: error: ld returned 1 exit status
27365         Fix this by properly quoting square brackets.
27367 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
27369         mktime: call tzset as per POSIX
27370         Problem reported by Ludovic Courtès in:
27371         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
27372         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
27373         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
27375 2016-06-26  Pádraig Brady  <P@draigBrady.com>
27377         fts: handle readdir() errors
27378         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
27379         but also upon error when it will also set errno.  Therefore
27380         flag the error case from readdir().  We treat the case where
27381         no items are read the same as if the dir can't be accessed,
27382         i.e. by setting fts_errno to FTS_DNR.
27384 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
27386         intprops: port better to GCC 7
27387         GCC 7 __builtin_add_overflow supports a new usage form, where the
27388         last argument is a null pointer, and which merely returns 1 if an
27389         overflow would occur.  This is a constant expression if all
27390         arguments are constants, and should generate faster code when code
27391         needs to be generated.
27392         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
27393         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27394         Use builtin operations if available.
27395         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
27396         operations are available, as it's almost surely faster.
27398 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
27400         intprops-test: port to GCC 6
27401         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
27402         since the bug is not fixed in GCC 6.1.
27404 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
27406         xalloc-oversized: port to GCC 7; fewer warnings
27407         GCC 7 will have a better way to deal with integer overflow.
27408         Plus, fix a warnings problem reported by Tim Ruehsen in:
27409         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
27410         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
27411         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
27412         For GCC 5, use __xalloc_oversized if both args are constants,
27413         or if pedantic.
27415 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
27417         regex: port to Sun C
27418         Reported by Daiki Ueno.
27419         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
27420         __restrict, in prototype.  This fixes a problem I introduced in
27421         the 2016-02-19 merge from glibc.
27423 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27425         stdbool: Restore __bool_true_false_are_defined check
27426         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
27427         __bool_true_false_are_defined is still defined, even with C++11.
27429 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
27431         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
27432         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
27434 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27436         Use GCC_LINT, not lint
27437         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
27438         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
27439         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
27440         Document problem with lint and _Noreturn.
27441         * lib/diffseq.h (IF_LINT, IF_LINT2):
27442         * lib/fts.c (sccsid):
27443         * lib/getndelim2.c (IF_LINT):
27444         * lib/gl_anylinked_list2.h (gl_linked_iterator)
27445         (gl_linked_iterator_from_to):
27446         * lib/gl_anytree_list2.h (gl_tree_iterator)
27447         (gl_tree_iterator_from_to):
27448         * lib/gl_anytree_oset.h (gl_tree_iterator):
27449         * lib/gl_array_list.c (gl_array_iterator)
27450         (gl_array_iterator_from_to):
27451         * lib/gl_array_oset.c (gl_array_iterator):
27452         * lib/gl_carray_list.c (gl_carray_iterator)
27453         (gl_carray_iterator_from_to):
27454         * lib/idcache.c:
27455         * lib/inet_ntop.c (IF_LINT):
27456         * lib/regcomp.c (build_charclass_op, create_tree):
27457         * lib/regex_internal.c (re_acquire_state)
27458         (re_acquire_state_context):
27459         * lib/trigl.c (rcsid):
27460         * lib/trim.c (IF_LINT):
27461         * lib/vasnprintf.c (IF_LINT):
27462         * lib/verify.h (assume):
27463         Treat GCC_LINT like lint.
27465 2016-05-29  Bruno Haible  <bruno@clisp.org>
27467         secure_getenv: Port to many more platforms.
27468         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
27469         functions.
27470         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
27471         for non-BSD Unix platforms and for native Windows.
27472         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
27473         Prompted by a request from Nikos Mavrogiannopoulos.
27475 2016-05-27  Eric Blake  <eblake@redhat.com>
27477         canonicalize: Fix broken probe for realpath.
27478         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
27479         in logic introduced in 54615b95.
27481 2016-05-26  Eric Blake  <eblake@redhat.com>
27483         unsetenv: relax to LGPLv2+
27484         * modules/unsetenv (License): Match setenv license.
27486 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
27488         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
27489         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
27490         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
27491         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
27492         (commonarg, dirargs, dirs, infoarg, generate_ascii)
27493         (generate_html, generate_info, generate_tex, outdir)
27494         (source_extra, split, srcfile, texarg): Move above 'version'.
27495         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
27497 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27499         manywarnings: update for GCC 6.1
27500         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
27501         Add GCC 6.1 options that apply to C.
27502         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
27503         do not apply to C, are obsolescent, etc.
27505 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
27507         glob: size_t overflow checks
27508         * lib/glob.c (__has_builtin): New macro.
27509         (size_add_wrapv, glob_use_alloca): New static functions.
27510         (glob, glob_in_dir): Check for size_t overflow in several places,
27511         and fix some size_t checks that were not quite right.
27513         glob: don't assume INT_MAX < SIZE_MAX
27514         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
27515         latter is not portable to (probably theoretical) hosts where
27516         SIZE_MAX <= INT_MAX.
27518 2016-05-09  Bruno Haible  <bruno@clisp.org>
27520         Fix undefined behaviour in gettext.h.
27521         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
27522         pointer's value after the storage it points to has been freed.
27523         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
27524         Spotted by Coverity.
27526 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
27528         git-version-gen: avoid undefined shift
27529         Problem reported by Mosè Giordano in:
27530         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
27531         * build-aux/git-version-gen: Avoid undefined behavior if invoked
27532         with --prefix or --fallback but without a later argument.  While
27533         we're at it, omit unnecessary quotes.
27535 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
27537         glob: merge glibc changes into lib/glob.c
27538         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
27539         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
27540         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
27541           struct dirent [BZ #19779]
27542         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
27543           callback gl_readdir
27544         2015-10-20 Convert miscellaneous function definitions to prototype style
27545         2015-10-20 Convert 113 more function definitions to prototype style
27546           (files with assertions)
27547         2015-06-12 Fix getlogin_r namespace (bug 18527).
27548         2014-02-10 Use glibc_likely instead __builtin_expect.
27549         2013-10-20 When glob pattern contains a trailing slash match only
27550           directories. Fixes bug 10278.
27551         2013-09-04 glob: silence -Wattribute warnings
27552         2013-06-07 Avoid use of "register" as optimization hint.
27553         2012-09-25 Use size_t instead of int for internal variables in glob
27554           (bug 14621)
27555         2011-07-20 Check for overflows in expressions
27556         2011-05-28 Remove unused variable
27557         2011-05-22 Add a few more alloca size checks
27558         2010-03-27 Whitespace fixes
27559         2010-03-27 Fix one more issue with the glob patch
27560         2010-03-24 Fix glob with empty pattern
27561         2008-05-27 Remove useless more "if" tests before "free"
27562         * modules/glob (Depends-on): Add stdint.
27564 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
27566         mktime: port to stricter signed overflow checking
27567         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
27568         (long_int): Require width for INT_MAX * 3 * (seconds per year),
27569         instead of merely for INT_MAX * 2.  In practice platforms that
27570         do the latter also do the former.
27571         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
27572         (shr): New static function, replacing SHR.  All uses changed.
27573         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
27574         and TIME_T_MAX.  All uses changed.
27575         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
27576         Use long_int, not time_t.
27577         (long_int_avg): New static function, replacing time_t_avg.
27578         All uses changed.  Round toward positive infinity, as that
27579         generates slightly better code.
27580         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
27581         by INT_ADD_WRAPV.
27582         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
27583         (convert_time): New static function.
27584         (ranged_convert): Use it
27585         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
27586         Use simpler test for loop exit.
27587         (__mktime_internal): Store negative of guessed offset, to simplify
27588         overflow checking.  Remove no-longer-needed test for small time_t
27589         overflows.
27591         mktime: speed up DEBUG_MKTIME benchmarks
27592         Call tzset just once, at the start, rather than for every test
27593         case.  This lets us measure the CPU cost of mktime as opposed to
27594         that of tzset.  This is relevant when TZ is not set and glibc is
27595         being used.  This speeds up tests by a factor of 40 on my Fedora
27596         23 x86-64 platform.
27597         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
27598         to call tzset and as a sanity check.  Later on, use localtime_r
27599         instead of localtime.
27601         mktime: resurrect DEBUG_MKTIME testing
27602         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
27603         Include <string.h>, for strcmp.
27605         mktime: simplify DEBUG_MKTIME
27606         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
27607         Simplify later usage accordingly.
27609         Port mktime_internal offset to unsigned time_t
27610         This avoids some assumptions about wraparound arithmetic on
27611         signed integer overflow.
27612         * lib/mktime-internal.h (mktime_offset_t): New type.
27613         (mktime_internal): Use it in decl.
27614         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
27616         * lib/mktime.c (__mktime_internal, localtime_offset):
27617         * lib/timegm.c (timegm): Use it.
27618         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
27619         (gl_FUNC_MKTIME): Require it.
27621 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
27623         xstrtol: prohibit monstrosities like "1bB"
27624         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
27625         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
27626         "B" only if the first suffix needs a base.
27627         * tests/test-xstrtol.sh: Test this.
27629 2016-04-21  Pádraig Brady  <P@draigBrady.com>
27631         xstrtod: reinstate setting of *result upon ERANGE
27632         * lib/xstrtod.c (XSTRTOD): The user may decide to use
27633         the returned limits upon ERANGE, so allow and document that.
27635 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
27637         xstrtod: modify *result only if no errors
27638         * lib/xstrtod.c (XSTRTOD).
27640 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
27642         btowc: document problems in C locale
27643         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
27644         with mbrtowc.  See: http://bugs.gnu.org/23269#32
27646 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27648         mktime: improve integer overflow checking
27649         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
27650         (WRAPV): Remove; no longer needed.
27651         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
27652         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
27653         Remove.  Use intprops.h defns instead.
27654         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
27655         Use bool for Boolean, for clarity.
27656         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
27657         detect integer overflow.
27658         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
27660         intprops: check two's complement assumption
27661         Suggested by Eric Blake in:
27662         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
27663         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
27664         short, int, long, and (if available) long long are two's complement.
27665         * modules/intprops (Depends-on): Add 'verify'.
27667         intprops, mktime, strtol: assume two's complement
27668         These macros were not portable to every conforming C11 ones'
27669         complement platform.  It's not worth the hassle of porting to some
27670         platforms that use ones' complement or signed magnitude, as such
27671         platforms are almost purely theoretical nowadays and porting even
27672         to some of them makes the code harder to review for little
27673         practical benefit.  Problem reported by Florian Weimer in:
27674         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
27675         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
27676         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
27677         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
27678         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
27679         (TYPE_SIGNED_MAGNITUDE):
27680         Remove.  All uses rewritten to assume two's complement, which is
27681         all we can reasonably test nowadays anyway.
27682         * top/maint.mk (_intprops_names): Remove the removed macros.
27684 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
27686         stdint: port to strict C11 left shift
27687         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
27688         Pacify clang -Wshift-negative-value, which should be an issue only
27689         on clang setups where stdint.h does not conform to C11 or to C++11.
27690         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
27692 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
27694         mbrtowc: work around glibc bug#19932
27695         Fix mbrtowc so that it never returns -1 in the C locale,
27696         as this conflicts with a future version of POSIX
27697         http://austingroupbugs.net/view.php?id=663#c2738
27698         and causes problems with GNU grep: http://bugs.gnu.org/23234
27699         See glibc bug 19932:
27700         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
27701         * doc/posix-functions/mbrlen.texi (mbrlen):
27702         * doc/posix-functions/mbrtowc.texi (mbrtowc):
27703         Document the glibc bug.
27704         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
27705         Include hard-locale.h, locale.h.
27706         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
27707         if the bug is possible.
27708         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
27709         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
27710         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
27711         * modules/mbrtowc (Depends-on): Add hard-locale.
27712         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
27713         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
27714         * tests/test-mbrtowc5.sh: New file.
27716 2016-04-03  Pedro Alves  <palves@redhat.com>
27718         stdint: detect good enough pre-C++11 stdint.h in C++ mode
27719         When gnulib is configured in C++ mode for a system with a working C99
27720         implementation of stdint.h that predates C++11, gnulib ends up
27721         substituting stdint.h anyway.  This works on most targets, but on e.g.,
27722         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
27723         MinGW is LLP64.  Instead of trying to detect the right types, detect
27724         good-enough-pre-C++11 stdint.h and in such case define
27725         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
27726         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
27727         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
27728         conforms to C99.  If it does, check whether it hides symbols
27729         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
27730         does, define those macros in config.h.
27732 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27734         argp: merge changes from glibc
27735         Among other things, this should fix problems found by a Coverity
27736         scan and reported by Andrei Borzenkov:
27737         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
27738         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
27739         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
27740         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
27741         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
27742         * lib/argp.h:
27743         Merge changes from glibc.
27744         * tests/test-argp-2.sh: Adjust to match new behavior.
27746 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
27748         stddef: support configuring with g++
27749         Problem reported by Ángel González in:
27750         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
27751         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
27752         Do not define if _GCC_MAX_ALIGN_T is defined.
27754 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27756         test-framework-sh: minor cleanups
27757         * tests/init.sh (testdir_prefix_): Output a trailing newline,
27758         since strictly speaking POSIX requires this.
27759         (setup_): Do not use the variable 'fail', as that makes the
27760         trace output harder to read ('fail' is typically used by
27761         tests to mean the test failed).  Treat // portably.
27762         Check that new directory is not merely a sibling of the tmp dir.
27763         Avoid unnecessary invocation of tr.
27765         test-framework-sh: revert port to NetBSD 7.0
27766         It was a false alarm; I misinterpreted Assaf Gordon's report.
27767         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
27768         Restore.
27769         (test_dir_): Adjust to mktempd_ change.
27770         (mktempd_): Restore 2nd arg.  Use -t again.
27771         (base_template_, template_, nx_): Resurrect old code.
27773         Port better to Alpine Linux
27774         Its diff implementation does not support -c, but does support -U3.
27775         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
27776         * tests/init.sh (diff_opt_): New var.
27777         (compare_): Prefer diff -U3 to diff -c to plain diff.
27779 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
27781         test-framework-sh: port to NetBSD 7.0
27782         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
27783         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
27784         Remove.  All uses removed.
27785         (test_dir_): Adjust to mktempd_ change.
27786         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
27787         (base_template_, template_, nx_): Simplify by hardcoding.
27789 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
27791         gitlog-to-changelog: suppress ignored chatter
27792         * build-aux/gitlog-to-changelog: Do not warn about skipping
27793         an SHA if it would have been ignored anyway.
27795 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
27797         setlocale: add "sv" to Windows language table
27798         * lib/setlocale.c (language_table) [W32]: Add "sv".
27799         Reported in <https://savannah.gnu.org/bugs/?44588>.
27801 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
27803         sys_select: port to new Cygwin
27804         Problem reported by Ken Brown in:
27805         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
27806         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
27807         diagnostics.
27809 2016-03-17  Jim Meyering  <meyering@fb.com>
27811         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
27812         * tests/test-userspec.c (main): Remove unnecessary braces and fix
27813         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
27814           test-userspec.c:176:9: error: statement is indented as if it were \
27815             guarded by... [-Werror=misleading-indentation]
27816                    {
27817                    ^
27818           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
27819                  if (!diag && !T[i].result)
27820                  ^~
27822 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
27824         time_rz: port to clang -Wunused-const-variable
27825         * lib/time_rz.c (TZ): Remove.  All uses removed.
27827         std-gnu11: improve clang support
27828         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
27829         2016-03-15 Also try clang
27830         2016-03-15 Port C11 and C++11 testing to clang
27832         select: port more to Intel 2016.1.150 compiler
27833         Problem reported by Balázs Hajgató in:
27834         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
27835         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
27837 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
27839         select: try to port to 2016.1.150 compiler
27840         Problem reported by Balázs Hajgató in:
27841         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
27842         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
27843         POSIX specifies 'restrict'.
27845 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
27847         localename-tests: memory allocation fixes
27848         * tests/test-localename.c (test_locale_name)
27849         (test_locale_name_thread): Don't call freelocale on a locale
27850         that was the base of a successful newlocale, as that
27851         results in a double free.  Problem reported by Assaf Gordon.
27852         (test_locale_name_thread): Free saved names after use, to pacify
27853         gcc -fsanitize=address.
27855 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
27857         intprops: make .h file license match module
27858         * lib/intprops.h: Change the license wording to match glibc format.
27859         This is what is in modules/intprops anyway.  See:
27860         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
27862 2016-03-08  Eric Blake  <eblake@redhat.com>
27864         acl: fix missing return on Cygwin
27865         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
27866         fall off end of function. Fixes http://bugs.gnu.org/22949
27868 2016-03-05  Bruno Haible  <bruno@clisp.org>
27870         extern-inline: port to PGI CC
27871         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
27872         keyword 'inline'.
27873         Reported by Adam James Stewart in:
27874         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
27876 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
27878         signbit: port back to pre-C++11 GCC
27879         * lib/math.in.h (signbit): Do previous change only if
27880         __cplusplus < 201103.  See Jonathan Wakely in:
27881         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
27883 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
27885         mountlist: recognize autofs-mounted remote file systems, too
27886         Originally reported at: https://bugzilla.redhat.com/1309247
27887         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
27888         "-hosts" because it is used by autofs to mount remote file systems.
27890 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
27892         signbit: port to C++ with GCC 6
27893         * lib/math.in.h (signbit) [__cplusplus]:
27894         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
27895         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
27897         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
27899         regex: make it closer to libc
27900         Make Idx a signed type, rather than possibly unsigned.
27901         The unsignedness was not really buying us anything, since the code
27902         overflows for other reasons before getting to PTRDIFF_MAX.  Making
27903         it signed allows us to use -1 and -2 with abandon, like libc does,
27904         thus lessening the number of differences between gnulib and libc.
27905         Also, it should help avoid gratuitous warnings like the one
27906         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
27907         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
27910         regex: merge patches from libc
27912         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
27913         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
27914         Convert miscellaneous function definitions to prototype style.
27915         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
27916         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
27917         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
27918         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
27919         (re_search_internal):
27920         Convert to prototype-style function definition.
27921         Use internal_function for internal functions.
27923 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27925         stdalign: port to older HP and IBM cc
27926         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
27927         C compilers, by checking their version numbers.  These version
27928         numbers appear in MariaDB and in Qt code that dates way back and
27929         that conditiionally uses the 'aligned' attribute.
27931 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
27933         stdalign: port to clang 3.7.0
27934         Problem reported by Herbert J. Skuhra in:
27935         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
27936         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
27937         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
27938         https://llvm.org/bugs/show_bug.cgi?id=26547
27940 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
27942         readdir_r: now obsolescent
27943         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
27944         * lib/mountlist.c (read_file_system_list): Add a FIXME.
27946 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
27948         misc: port better to gcc -fsanitize=address
27949         Without these patches, ./configure CFLAGS='-fsanitize=address'
27950         would compute incorrect values.  This patch fixes some (but not all)
27951         test failures with recent glibc, with this configuration.
27952         * m4/acl.m4 (gl_ACL_GET_FILE):
27953         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
27954         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
27955         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
27956         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
27957         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
27958         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
27959         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
27960         * m4/getline.m4 (gl_FUNC_GETLINE):
27961         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
27962         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
27963         * m4/regex.m4 (gl_REGEX):
27964         * m4/strndup.m4 (gl_FUNC_STRNDUP):
27965         * tests/test-calloc-gnu.c (main):
27966         * tests/test-duplocale.c (main):
27967         * tests/test-getgroups.c (main):
27968         * tests/test-getline.c (main):
27969         * tests/test-inttostr.c (main):
27970         * tests/test-localename.c (test_locale_name)
27971         (test_locale_name_thread, test_locale_name_environ)
27972         (test_locale_name_default):
27973         * tests/test-regex.c (main):
27974         * tests/test-setlocale1.c (main):
27975         * tests/test-stat.h (test_stat_func):
27976         Free heap-allocated storage before exiting.
27977         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
27978         Don't match *_foo symbols inserted by AddressSanitizer.
27979         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
27981 2016-02-02  Jim Meyering  <meyering@fb.com>
27983         verify-tests: also remove stray test-verify.Tpo
27984         * modules/verify-tests (Makefile.am): Arrange for "make clean"
27985         to remove the test-verify.Tpo file that is left behind by
27986         the automake-generated rule upon compilation failure.
27987         Otherwise, that .Tpo file would cause a failed "make distcheck"
27988         at least for grep.
27990 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
27992         std-gnu11: new module
27993         This makes it easier for applications to prefer C11 and C++11
27994         to older variants, when compiling C and C++ code.
27995         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
27996         a nontrivial chunk of GPLed Autoconf source code.
27997         * COPYING: Mention the m4/*.m4 copyright situation.
27998         * MODULES.html.sh (std-gnu11): New module.
27999         * m4/std-gnu11.m4, modules/std-gnu11: New files.
28001 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28003         get-permissions, strftime: fix grammar in comments
28004         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
28005         some grammar fixes Alan Mackenzie made to GNU Emacs.
28007 2016-01-25  Daiki Ueno  <ueno@gnu.org>
28009         gettext: mark as obsolete
28010         Suggested by Paul Eggert in:
28011         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
28012         * modules/gettext (Status): Mark as obsolete.
28013         (Notice): Suggest to use 'gettext-h' instead.
28014         * modules/gettext-h (Description): Suggest GNU gettext, instead of
28015         the 'gettext' module.
28017 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28019         gnulib-tool: don't give up on ln -s so easily
28020         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
28021         because an earlier one failed.  The targets could be on different
28022         file systems.  Problem reported by KO Myung-Hun in:
28023         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
28025         closedir: fix OS/2-related typos
28026         Problem reported by KO Myung-Hun in:
28027         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
28028         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
28029         in the last couple of changes.
28031 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
28033         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
28034         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
28035         copying a directory.
28037 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28039         regex: treat [x] as x if x is a unibyte encoding error
28040         Problem reported by Aharon Robbins in:
28041         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
28042         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
28043         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
28045         closedir, dirfd, opendir: port to OpenSolaris 5.10
28046         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
28047         * m4/dirfd.m4 (gl_FUNC_DIRFD):
28048         * m4/opendir.m4 (gl_FUNC_OPENDIR):
28049         Don't use ${word##pat} substitution, as it doesn't work in
28050         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
28051         http://bugs.gnu.org/22443#11
28053 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28055         bootstrap: use American spelling
28056         * build-aux/bootstrap: Honor American spelling.
28058 2016-01-22  Karl Berry  <karl@freefriends.org>
28060         * doc/posix-functions/localtime.texi,
28061         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
28063 2016-01-21  Bruno Haible  <bruno@clisp.org>
28065         hash-pjw-bare: fix comment
28066         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
28068         wcwidth: Replace also on OpenBSD 5.8
28069         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
28070         * doc/posix-functions/wcwidth.texi: Update.
28072 2016-01-20  Pádraig Brady  <P@draigBrady.com>
28074         gnu-web-doc-update: fix addition of new files
28075         If there were already added (emnpty) dirs,
28076         then cvs aborts the add with the message:
28077           cvs [add aborted]: there is a version in <./dirname> already
28078         * build-aux/gnu-web-doc-update: Add directories separately
28079         to the addition of files, to avoid the above issue
28080         impacting the addition of files.
28082 2016-01-19  Daiki Ueno  <ueno@gnu.org>
28084         utimens-tests: avoid pulling gettext .m4 files
28085         Although this is not the right fix to the original problem:
28086         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
28087         it makes it possible again for consumer projects to use arbitrary
28088         version of gettext, through the steps described at:
28089         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
28090         See here for details:
28091         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
28092         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
28093         'gettext'.
28094         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
28095         'gettext'.
28097 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28099         regex: pacify static checkers
28100         Problem and draft fix reported by Aharon Robbins in:
28101         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28102         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
28103         Clear memory to pacify static checkers.
28105         regex: fix [ diagnostic
28106         Problem and fix reported by Aharon Robbins in:
28107         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28108         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
28110         regex: fix memory leaks
28111         Problem and draft fix reported by Aharon Robbins in:
28112         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28113         * lib/regcomp.c (build_range_exp, build_charclass_op)
28114         * lib/regex_internal.c (re_dfa_add_node):
28115         Fix memory leak on failure.
28117 2016-01-18  Pádraig Brady  <P@draigBrady.com>
28119         fts: don't unconditionally use leaf optimization for NFS
28120         NFS st_nlink are not accurate on all implementations,
28121         leading to aborts() if that assumption is made.
28122         See <https://bugzilla.redhat.com/1299169>
28123         * lib/fts.c (leaf_optimization_applies): Remove NFS from
28124         the white list, and document the issue.
28126 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28127             KO Myung-Hun  <komh@chollian.net>
28129         gnulib-tool: don't assume ln -s works
28130         * gnulib-tool (func_ln_s): New function.
28131         (func_ln): Use it.
28133 2016-01-15  KO Myung-Hun  <komh@chollian.net>
28135         utimes: detect utimes() correctly on OS/2 kLIBC
28136         utimes() of OS/2 kLIBC has some limitations.
28137         1. OS/2 itself supports a file date since 1980 year in local time.
28138         2. OS/2 itself supports only even seconds for a file time.
28139         3. utimes() of OS/2 kLIBC does not work on an opened file.
28140         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
28141         * doc/posix-functions/utimes.texi: Document the above limitations of
28142         utimes() on OS/2 kLIBC.
28144 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28145             KO Myung-Hun  <komh@chollian.net>
28147         openat_proc_name: port to OS/2 kLIBC
28148         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
28149         instead of /proc/self/fd.
28150         * lib/openat-proc.c (openat_proc_name):
28151         Don't assume file name length is less than INT_MAX.
28152         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
28154 2016-01-14  KO Myung-Hun  <komh@chollian.net>
28156         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
28157         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
28158         definitions of intptr_t and uintptr_t (which use int and unsigned)
28159         to avoid clashes with declarations of system functions like sbrk.
28160         * lib/stdint.in.h (intptr_t, uintptr_t): Check
28161         _INTPTR_T_DECLARED before defining them.
28163         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
28164         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
28165         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
28166         Declare on kLIBC.
28167         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
28168         fd associated with dirp.
28169         (_gl_register_dirp_fd): New. Register fd associated with dirp to
28170         dirp_fd_list.
28171         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
28172         (dirfd): Implemented for kLIBC.
28173         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
28174         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
28175         succeeds.
28176         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
28177         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28178         (REPLACE_DIRFD): Define to 1 if replaced.
28179         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
28180         * modules/closedir (Depends-on): Add dirfd.
28181         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
28182         condition.
28183         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
28184         * modules/opendir (Depends-on): Add dirfd.
28186         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
28187         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
28188         * lib/dup.c (dup_nothrow): New.
28189         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
28190         (klibc_dup2): New.
28191         * lib/fcntl.c (klibc_fcntl): New.
28192         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
28193         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
28194         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
28195         fd.
28197         pipe_filter_ii_execute: port to OS/2 kLIBC
28198         Pipes on kLIBC do not support O_NONBLOCK like Win32.
28199         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
28200         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
28201         Reuse Win32 code on OS/2 kLIBC.
28202         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
28203         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
28205         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
28206         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
28207         static inline function.  The implementation of wcwidth in wcwidth.c
28208         causes a "conflicting types" error.
28209         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
28211         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
28212         spawn() on OS/2 kLIBC is not silly like one on Windows
28213         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
28214         empty string on OS/2 kLIBC.
28216         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
28217         On OS/2 kLIBC, select() works only on sockets.
28218         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
28220         binary-io: don't put fd in binary mode if it is a console on EMX
28221         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
28222         a console on EMX.
28224 2016-01-15  Pádraig Brady  <P@draigBrady.com>
28226         doc: mention unfixed issues with unsupported localtime() values
28227         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
28228         returns nonsense for localtime(2^56).
28229         * doc/posix-functions/localtime_r.texi: Likewise.
28231 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28233         doc: mention setlocale() issues on OpenBSD
28234         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
28235         never fails, and the need to check categories individually.
28237 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28239         sig2str: list all signals on FreeBSD >= 7
28240         FreeBSD >= 7 is contravening POSIX by not defining NSIG
28241         to the maximal statically defined signal value.
28242         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
28243         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
28244         where available, even when NSIG is defined.
28246 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
28248         acl-permissions: port to USE_ACL==0 platforms
28249         I ran into this problem when building bleeding-edge GNU Emacs
28250         with gcc -fsanitize=address on Fedora 23.  On this platform
28251         the ACL library does not pass the 'configure' test and Emacs
28252         then does not build due in part to what appear to be typos in the
28253         ACL part of Gnulib.
28254         * lib/acl-internal.c (free_permission_context):
28255         * lib/acl-internal.h (struct permission_context):
28256         Test whether USE_ACL is nonzero, not whether it is defined.
28258 2016-01-12  Martin Sebor  <msebor@redhat.com>
28260         mktime: rename macro to avoid glibc clash
28261         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
28262         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
28264 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
28266         Port "$@" to OpenIndiana ksh93
28267         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
28268         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
28269         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
28270         bug long-dead shells, so remove the workaround.
28271         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
28272         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28273         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
28274         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
28275         Use "$@" instead of ${1+"$@"}.
28277         Port Universal Time settings to strict POSIX
28278         * build-aux/announce-gen, build-aux/bootstrap:
28279         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
28280         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28281         * build-aux/gnupload, build-aux/mkinstalldirs:
28282         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
28283         * build-aux/update-copyright, build-aux/useless-if-before-free:
28284         * build-aux/vc-list-files, tests/test-strftime.c:
28285         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
28286         but POSIX says the behavior of TZ="UTC" is undefined.
28288 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
28290         msvc-inval: fix problem with unset shell var
28291         Problem reported by Karl Berry in:
28292         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
28293         * modules/msvc-inval (Depends-on):
28294         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
28295         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
28297 2016-01-01  Pádraig Brady  <P@draigBrady.com>
28299         tests: for compare_(), use cmp -s where available
28300         * tests/init.sh (compare_): Only fall back to cmp without
28301         the POSIX defined -s option, where this is not available.
28303 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
28305         version-etc: new year
28306         * build-aux/gendocs.sh (version):
28307         * doc/gendocs_template:
28308         * doc/gendocs_template_min:
28309         * doc/gnulib.texi:
28310         * lib/version-etc.c (COPYRIGHT_YEAR):
28311         Update copyright dates by hand in templates and the like.
28312         * all files: Run 'make update-copyright'.
28314 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
28316         human: fix output buffer overrun by 1
28317         * lib/human.c (human_readable): Fix off-by-one typo in buffer
28318         calculation that could lead to a one-byte buffer overrun.
28320 2015-12-28  Daiki Ueno  <ueno@gnu.org>
28322         maint: fix operator precedence in mbrtowc test
28323         This is a fix for test breakage introduced by commit 45228d96; the
28324         equality expression must be parenthesized when negated with '!',
28325         otherwise we always get:
28327           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
28329         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
28330         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28332 2015-12-23  James Youngman  <jay@gnu.org>
28334         regexprops-generic: update from regex.h
28335         * doc/regexprops-generic.texi: update by running the regexprops binary
28336         from findutils (the command line is 'regexprops "Regular Expressions"
28337         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
28338         gnulib with GNU grep had made this document out-of-date.
28340 2015-12-23  Pádraig Brady  <P@draigBrady.com>
28342         strftime-tests: avoid false failure on OS X
28343         * tests/test-strftime.c (struct localtime_rz_test): Add an
28344         ahistorical member which is used to warn rather than fail
28345         when tm_isdst isn't set for such entries.  This is the case for
28346         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
28348 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
28350         fts: ensure leaf optimization is used for NFS
28351         NFS provides usable dirent.d_type but not necessarily for all entries
28352         of large directories.  See <https://bugzilla.redhat.com/1252549>
28353         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
28355 2015-12-20  Pádraig Brady  <P@draigBrady.com>
28357         fts: enable leaf optimization for XFS
28358         XFS provides usable dirent.d_type only for DT_DIR,
28359         but the noleaf optimization still applies.
28360         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
28362 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
28364         intprops: comment fix
28365         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
28366         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
28368         intprops-test: work around GCC bug 68971
28369         Problem reported by Pádraig Brady in:
28370         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
28371         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
28372         (main): Add a case that better tests 64-bit long in this area.
28374 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
28376         gnulib-tool: allow multiple --local-dir usage
28377         * gnulib-tool: Use --local-dir to construct compound
28378         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
28379         PATH_SEPARATOR early.
28380         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
28381         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
28382         func_determine_path_separator because that needs to be detected
28383         earlier now.
28384         (func_determine_path_separator): New function.
28385         (func_path_foreach, func_path_foreach_inner): New functions.
28386         (func_path_prepend, func_path_append): Likewise.
28387         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
28388         (func_lookup_file, func_all_modules): Use new functions to work
28389         with local_gnulib_path.
28390         (func_modules_in_dir, func_exists_module): New callbacks for
28391         func_path_foreach.
28392         (func_exists_module, func_get_tests_module): Likewise.
28393         (func_is_local_file, func_should_symlink): New helper methods.
28394         (func_add_file, func_update_file): Use new func_should_symlink
28395         instead, DRY.
28396         (func_reconstruct_cached_local_gnulib_path): New helper.
28397         (func_reconstruct_cached_dir): New callback.
28398         (func_import): The cached_local_gnulib_dir renamed to
28399         cached_local_gnulib_path similarly to local_gnulib_dir.
28400         Use new func_reconstruct_cached_local_gnulib_path.
28401         (func_count_relative_local_gnulib_path): New sub-method.
28402         (func_create_testdir): Use func_should_symlink, DRY.
28403         (func_create_megatestdir): Use new functions to work with
28404         local_gnulib_path correctly.
28405         (func_append_local_dir): New helper.
28407 2015-12-08  Pádraig Brady  <P@draigBrady.com>
28409         fix freadptr to work with ungetc on all uClibc configs
28410         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
28411         where GNU coreutils cut(1) generates invalid output on uClibc
28412         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
28413         * lib/freadptr.c (freadptr): Return NULL if there are
28414         ungotten chars.  In this case freadseek() will iterate
28415         again to process the ungotten character.
28417 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
28419         xalloc-oversized: improve performance with GCC 5
28420         * lib/xalloc-oversized.h (xalloc_oversized):
28421         Improve performance with GCC 5 by using __builtin_mul_overflow.
28423 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
28425         intprops: new public macro EXPR_SIGNED
28426         Emacs can use this macro, so make it public.
28427         * doc/intprops.texi (Arithmetic Type Properties): Rename from
28428         'Integer Type Determination', since some of these macros apply
28429         to non-integer types.  Clarify what kinds of constant expressions
28430         these macros return.  Say when the arguments can be non-integers.
28431         Mention newly published macro EXPR_SIGNED.
28432         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
28433         make it public.  All uses changed.
28435         intprops: fix typo in clang port
28436         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
28437         '__builtin_add_overflow' that is not caught by compiler.
28439 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
28441         test-timespec: fix typo in previous change
28442         * tests/test-timespec.c (main): Fix typo that reduced test quality.
28444         timespec-sub: fix overflow bug; add tests
28445         * lib/timespec-add.c (timespec_add):
28446         * lib/timespec-sub.c (timespec_sub):
28447         Work even if time_t is narrower than int (a theoretical
28448         possibility).  Redo code for a bit more clarity.
28449         * lib/timespec-sub.c (timespec_sub):
28450         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
28451         * modules/timespec-tests, tests/test-timespec.c: New files.
28453         intprops-test: suppress -Woverlength-strings
28454         Problem reported by Pádraig Brady in:
28455         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
28456         It is not worth the hassle to port this test to compilers that
28457         cannot handle long strings in diagnostics.
28458         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
28460 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28462         quotearg: add quotearg_n_style_colon()
28463         This quotes with default options of the specified style,
28464         but with quoting enabled for instances of ':'.
28465         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
28466         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
28468 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28470         intprops: revise _WRAPV macros, revert _OVERFLOW
28471         The incompatible changes to the _OVERFLOW macros were too much of
28472         a hassle in practice, so revert them.  Instead, change the new
28473         _WRAPV macros to make them closer in behavior to GCC 5's new
28474         builtin_add_overflow etc. functions.  No other software was using
28475         these newly-added macros yet, so this should be OK.
28476         * NEWS: Revert previous change, since the incompatible change
28477         has been reverted, and nobody used the incompatible version.
28478         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
28479         Document revised behavior.
28480         (Integer Range Overflow): Adjust example to match above revisions.
28481         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
28482         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
28483         these can be used in integer constant expressions again.
28484         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
28485         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
28486         needed.
28487         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28488         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28489         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
28490         Remove, as they did not seem that useful.
28491         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
28492         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
28493         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
28494         Support new semantics.
28495         (__has_builtin): New macro, if not alreay defined.
28496         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
28497         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28498         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28499         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28500         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
28501         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
28502         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
28503         New macros.
28504         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
28506 2015-11-03  Jim Meyering  <meyering@fb.com>
28508         intprops: add parentheses for when OP has precedence lower than "-"
28509         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
28510         "a OP b" must be parenthesized for when OP is like "<<", which has
28511         lower precedence than the following "-". Reported by Pádraig Brady.
28513 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28515         quotearg: constify get_quoting_style parameters
28516         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
28517         * lib/quotearg.c (get_quoting_style): Likewise.
28519 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28521         quotearg: add support for $'' shell escaping
28522         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
28523         items and descriptions.
28524         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
28525         above types by quoting like "shell", but using $'...' syntax
28526         for non printable characters, which should provide unambiguous
28527         printable output for any input.
28528         * tests/test-quotearg-simple.c: Update accordingly.
28530 2015-11-02  Pádraig Brady  <P@draigBrady.com>
28532         maint: use a more standard return from mbrtowc test
28533         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
28534         from the test program as this is non standard and often
28535         indicates an unhandled case in the test program.
28536         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28538 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28540         intprops: add WRAPV and const flavors for GCC 5
28541         If available, use GCC 5's builtin functions for efficient integer
28542         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
28543         and safely compute the low-order bits of the correct answer.
28544         A downside of these efficient functions is that they cannot be
28545         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
28546         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
28547         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
28548         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
28549         Document the changes.
28550         (Wraparound Arithmetic): New section.
28551         (Integer Range Overflow):
28552         Put this subsection last, since it's least useful.
28553         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
28554         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
28555         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
28556         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28557         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28558         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
28559         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
28560         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
28561         New macros.
28562         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
28563         Generate calls to GCC builtins if available, for speed.
28564         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28565         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28566         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28567         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
28568         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
28569         (CHECK_QUOTIENT, CHECK_REMAINDER):
28570         Test WRAPV and CONST flavors (when available) too.
28572 2015-10-30  Pádraig Brady  <P@draigBrady.com>
28574         doc: use extended timezone format in iso-8601 example
28575         * doc/parse-datetime.texi: The standard states that extended format
28576         is to be used consistently throughout.
28577         Note that lib/parse-datetime.y can handle either tz format.
28579 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
28581         stdalign: port to Sun C 5.9
28582         * doc/posix-headers/stdalign.texi: Document this.
28583         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
28584         __attribute__ ((__aligned__ (...))).
28586 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
28588         time_rz: fix comment about tzalloc
28589         * lib/time_rz.c (tzalloc): Fix comment.
28591 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
28593         stdalign: work around pre-4.9 GCC x86 bug
28594         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
28595         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
28596         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
28598 2015-10-18  Pádraig Brady  <P@draigBrady.com>
28600         maint.mk: sc_tight_scope: remove extraneous expressions
28601         * top/maint.mk (tight_scope): This is not really required since
28602         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
28603         that matches all nm entries.  But it does remove extraneous entries
28604         that may be confusing or cause issue in future maintenance.
28606 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
28608         time_rz: return NULL if localtime_r fails
28609         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
28610         while still attempting to pacify bleeding-edge GCC.
28612         fts: port to C11 alignof
28613         * doc/posix-headers/stdalign.texi (stdalign.h):
28614         Document the C11 restriction.
28615         * lib/fts.c: Include stddef.h, for max_align_t.
28616         (fts_alloc): Align using max_align_t, not FTSENT.
28617         * modules/fts (Depends-on): Add stddef.
28619 2015-10-18  Jim Meyering  <meyering@fb.com>
28621         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
28622         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
28623         would see this:
28625         lib/time_rz.c: In function 'localtime_rz':
28626         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
28627           [-Werror=nonnull]
28628                    if (tm && !save_abbr (tz, tm))
28629                        ^
28631         That was complaining about "tm" because it is a parameter that was
28632         declared with the __nonnull__ attribute.
28633         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
28634         result of localtime_r.
28636 2015-10-17  Jim Meyering  <meyering@fb.com>
28638         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
28639         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
28640         name-extraction regexp mistakenly used \S+, and would mistakenly
28641         extract "*F" from "extern int *F()" rather than the desired "F".
28642         Use \w+ instead.
28644 2015-10-17  Jim Meyering  <meyering@fb.com>
28646         maint.mk: sc_tight_scope: factor and support OS X
28647         * top/maint.mk (_gl_tight_scope): Address three issues:
28648         - factor out four instances of code that wraps a string in "^...$"
28649         - allow nm-reported symbol names to have an optional leading "_"
28650         - add "main" to the list of ignored variable names, because on os x,
28651         "main" has nm-reported type "S" in the variable-checking section.
28653 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
28655         safe-alloc-tests: fix typo in license header
28656         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
28658 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
28660         copy-file: fix mem leak in error case
28661         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
28662         upon error opening or performing I/O to the src and dest files.
28664 2015-10-15  Mike Frysinger  <vapier@chromium.org>
28666         localename: control langinfo.h inclusion
28667         This header is only used to work around buggy behavior in old
28668         versions of glibc, so do not include it all the time.  Otherwise
28669         we get build failures on systems that do not provide langinfo.h.
28670         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
28671         in the source later on.
28672         The patch was originally submitted to gettext as:
28673         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
28675 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28677         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
28678         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
28679         * lib/u64.c, lib/unistd.c:
28680         Append 'typedef int dummy;', to pacify compilers that are picky
28681         about empty translation units.
28683 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
28685         accept4-tests: fix to avoid non portable flags
28686         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
28687         as they are the only documented ones, and passing others may trigger
28688         EINVAL (seen on FreeBSD 10.1-RELEASE).
28689         * doc/glibc-functions/accept4.texi: Mention that we don't provide
28690         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
28692 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
28694         gnulib-tool: fix tests of 'extensions' module
28695         This complements f8fe25fab60e3c687a124 commit.
28696         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
28697         emitting of initial gl_EARLY macros.
28698         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
28699         replaced with func_emit_pre_early_macros call.
28701 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
28703         unicase/locale-language: fix typo in utf-8 cookie
28704         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
28705         Problem reported by Zbigniew Jędrzejewski-Szmek.
28707 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
28709         xalloc: do not worry about GCC 5 warning on 32 bit
28710         * lib/xalloc.h: Revert previous change.
28711         I found a better way to fix this in coreutils.
28713 2015-10-02  Pádraig Brady  <P@draigBrady.com>
28715         xalloc: avoid GCC 5.1 warning on 32 bit
28716         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
28717         xalloc_oversized(), which was seen to give this warning
28718         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
28719         when simplifying conditional".
28721 2015-10-02  Daiki Ueno  <ueno@gnu.org>
28723         uniname/uniname-tests: avoid compiler warnings
28724         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
28725         unused local variables.
28726         (test_alias_lookup): Fix alias name display in failure cases.
28728 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
28730         c-ctype: do not worry about EBCDIC + char signed
28731         Drop support for EBCDIC with char being signed, as this breaks too
28732         many programs.  Problem reported by Ben Pfaff in:
28733         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
28734         * lib/c-ctype.h: Verify that we are not using EBCDIC with
28735         char being signed.
28736         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
28737         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
28738         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
28739         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
28740         * tests/test-c-ctype.c (test_all):
28741         Simplify by assuming standard char values cannot be negative.
28742         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
28744 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28746         c-ctype: port better to z/OS EBCDIC
28747         Problems reported by Daniel Richard G. in:
28748         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
28749         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
28750         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
28751         (_C_CTYPE_OTHER_CNTRL): New macro.
28752         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
28753         from SCHAR_MIN, as the functions are defined only from values
28754         promoted from char or from unsigned char, not necessarily from
28755         signed char.
28757 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
28759         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
28761         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
28762         and ARFLAGS variables.  Doing this unconditionally could break
28763         later Automake's AM_PROG_AR invocation (at least it's
28764         AC_CHECK_TOOLS call to detect correct 'ar' binary).
28766         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
28767         Amsterdam Compiler Kit, so make the previous code to have effects
28768         only on ACK, and rather automatically call the Automake's
28769         AM_PROG_AR as soon as possible to decide other cases.
28771         References:
28772         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
28774         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
28775         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
28776         is possible, keep setting AR/ARFLAGS to reasonable defaults.
28777         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
28778         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
28779         'extensions' module is used.
28780         * modules/extensions (configure.ac-early): Remove as this snippet
28781         is added to gnulib-comp.m4 earlier anyway.
28783 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28785         sockets: MS Windows initalization fixes
28786         Problem reported by Test User in:
28787         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
28788         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
28789         Correct the endianness.
28790         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
28791         number mismatch, not just on <.  Cleanup before any such failure.
28793 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
28795         gc: fix detection of installed libgcrypt version
28796         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
28797         at least as recent as 1.4.4.  The previously used macro is not
28798         available now, since modules were removed in version 1.6.0.
28800 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
28802         c-ctype: rewrite to use inline functions
28803         This simplifies maintenance, since it makes for just one
28804         implementation of each function, letting the compiler have the fun
28805         of optimization.  In practice this works well nowadays with GCC.
28806         E.g., c_isascii might need only three instructions even though the
28807         source code lists every ASCII character individually in a large
28808         switch statement.
28809         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
28810         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
28811         * NEWS: Document the API change.
28812         * lib/c-ctype.c: Drastically simplify, since this now just expands
28813         inline functions.
28814         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
28815         (C_CTYPE_INLINE): New macro.
28816         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
28817         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
28818         Verify that either ASCII or EBCDIC is being used.
28819         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
28820         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
28821         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
28822         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
28823         New private macros.
28824         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
28825         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
28826         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
28827         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
28828         (c_tolower, c_toupper): When converting, return the unsigned char,
28829         as that is what z/OS does.
28830         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
28831         of some c-ctype.h macros.
28832         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
28833         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
28834         c_tolower promotion to be compatible with z/OS.
28836 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
28838         gitlog-to-changelog: trim only trailing whitespaces
28839         This is fix for --format regression introduced by commit
28840         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
28841         doubled %n string) had no effect anymore.  This format
28842         specification has been used e.g. by GNU paxuitils (commit
28843         edfd8bcc3).
28845         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
28846         newlines in commmit messages.
28848 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
28850         Test that c_iscntrl agrees with iscntrl, etc.
28851         Suggested by Daniel Richard G. in:
28852         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
28853         * modules/c-ctype-tests (Depends-on): Add ctype.
28854         * tests/test-c-ctype.c: Include <ctype.h>.
28855         (NCHARS): New constant.
28856         (test_agree_with_C_locale): New function.
28857         (main): Use it.
28858         (test_all): Use named constants.
28860         c-ctype: improve c_isascii testing
28861         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
28862         Add a test to count the number of ASCII characters.
28864 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28866         savewd: remove SAVEWD_CHDIR_READABLE
28867         It was problematic in the light of file systems that ignore umask.
28868         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
28869         * NEWS: Document this.
28870         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
28871         successful, -1 (setting errno) on failure, rather than something
28872         more complicated than that.
28873         * lib/mkdir-p.c (make_dir_parents):
28874         Do not use SAVEWD_CHDIR_READABLE.
28875         * lib/savewd.c (savewd_chdir):
28876         Remove support for SAVEWD_CHDIR_READABLE.
28877         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
28879         c-ctype: port better to EBCDIC
28880         Problems reported by Daniel Richard G. in
28881         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
28882         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
28883         Include "verify.h".
28884         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
28885         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
28886         Define as enum constants with value false, if not defined, so that
28887         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
28888         code more portable, as both branches of the 'if' are compiled on
28889         all platforms.
28890         (C_CTYPE_EBCDIC): New constant.
28891         Verify that the character set is either ASCII or EBCDIC.
28892         (to_char): New static function.
28893         (c_isascii, c_iscntrl):
28894         Assume standard control-character assignments for EBCDIC.
28895         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
28896         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
28897         Rewrite to use 'if' instead of 'ifdef'.
28898         Use to_char if non-ASCII.  Prefer <= to >=.
28899         Prefer true and false to 1 and 0, for booleans.
28900         (c_iscntrl): Use 'if', not 'ifdef'.
28901         * modules/c-ctype (Depends-on): Add verify.
28902         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
28903         (to_char): New function.
28904         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
28906 2015-09-21  Pádraig Brady  <P@draigBrady.com>
28908         nanosleep: fix return code for interrupted replacement
28909         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
28910         that we return -1 in the case the call is interrupted by a signal,
28911         rather than the current value of 1.
28912         Diagnosed and tested by Daniel Richard G.
28914 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
28916         Diagnose ERE '()|\1'
28917         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
28918         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
28919         track of the set of previously-completed subexpressions available
28920         before the first alternative, and restore this set just before
28921         parsing each subsequent alternative.  This lets us diagnose the
28922         invalid back-reference in the ERE '()|\1'.
28924         regex: merge patches from libc
28926         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
28927         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
28928         * lib/regex_internal.h:
28929         Include <libc-lock.h> instead of <bits/libc-lock.h>.
28931         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
28932         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
28933         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
28934         wcscoll.
28935         * lib/regexec.c (check_node_accept_bytes): Likewise.
28937         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
28938         Fix regex wcrtomb namespace (bug 18496).
28939         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
28940         instead of wcrtomb.
28942         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
28943         Fix regex wctype namespace (bug 18495).
28944         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
28945         instead of towlower.
28946         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
28947         instead of iswlower.  Call __towupper instead of towupper.
28948         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
28949         instead of iswalnum.
28951         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
28952         * lib/regcomp.c (parse_bracket_exp): Initialize type to
28953         COLL_SYM in a couple of places to avoid uninitialized variable
28954         wanings on tilegx gcc 4.8.2.
28956         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
28957         * lib/regex_internal.h: Remove NOT_IN_libc.
28959         2014-11-17  Andreas Schwab  <schwab@suse.de>
28960         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
28962         2014-09-11  Roland McGrath  <roland@hack.frob.com>
28963         Move findidx nested functions to top-level.
28964         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
28965         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
28966         Pass new arguments to findidx.
28967         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
28968         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
28969         Don't #include it inside the function.  Pass new arguments to findidx.
28970         * lib/regex_internal.h:
28971         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
28972         (re_string_elem_size_at): Don't #include it inside the function.
28973         Pass new arguments to findidx.
28975         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
28976         Check if DEBUG is defined in regex_internal.c
28977         * lib/regex_internal.c: Check if DEBUG is defined and is set.
28979 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
28981         ceill: detect buggy OpenBSD implementation
28982         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
28983         which returns zero for small values.  Discussed here:
28984         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
28986 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
28988         mountlist: add me_mntroot field on Linux machines
28989         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
28990         mount_entry so Linux machines based on /proc/self/mountinfo can
28991         distinguish between bind mounts and original mounts.  In reality bind
28992         mounts aren't treated differently than mountroot=/ mounts by the
28993         kernel, but the user often wants these bind mounts distinguished.
28994         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
28995         More details at https://pad.lv/1432871
28997 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
28999         doc: Describe to use multiple instances of gnulib
29000         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
29001         instances of gnulib with different modules can be used, for example one
29002         for a lib and another one for associated tools.
29004 2015-09-01  Pádraig Brady  <P@draigBrady.com>
29006         base32: mark function as __attribute__ const
29007         * lib/base32.h (isbase32): Mark __attribute__ const as
29008         suggested by GCC, and consistent with the base64 module.
29010 2015-08-20  Daiki Ueno  <ueno@gnu.org>
29012         gnulib-tool: don't transform binary files with sed
29013         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
29014         .mo and .class files.
29015         Reported by Denis Denisov.
29017 2015-08-10  Daiki Ueno  <ueno@gnu.org>
29019         gperf: respect silent rules
29020         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
29021         V_GPERF_0 for silent rules.
29022         * modules/iconv_open (Makefile.am): Use V_GPERF.
29023         * modules/unicase/locale-language (Makefile.am): Likewise.
29024         * modules/unicase/special-casing (Makefile.am): Likewise.
29025         * modules/unictype/category-byname (Makefile.am): Likewise.
29026         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
29027         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
29028         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
29029         * modules/unictype/property-byname (Makefile.am): Likewise.
29030         * modules/unictype/scripts (Makefile.am): Likewise.
29031         * modules/uninorm/composition (Makefile.am): Likewise.
29033 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
29035         Improve port of stdalign to C++11
29036         Problem reported by Sundaram in:
29037         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
29038         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
29039         (__alignas_is_defined): Define if C++11 or newer.
29041 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
29043         pmccabe2html: fix gawk regex escaping
29044         * build-aux/pmccabe2html: Add one more backslash to properly
29045         escape the gsub replacement value.  Fixes this error:
29046         gawk: ./build-aux/pmccabe2html:425: \
29047         warning: escape sequence `\&' treated as plain `&'
29049 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
29051         time_rz: port to pedantic memcpy
29052         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
29053         that reject memcpy (..., NULL, 0).
29055 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
29057         time_rz: port better to MinGW
29058         Don't change tzname, as this makes MinGW dump core (Bug#21020).
29059         Instead, store the tzname copy in the struct tm_zone object.
29060         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
29061         * lib/strftime.c [!_LIBC]:
29062         * lib/time_rz.c: Include time-internal.h.
29063         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
29064         name from *TZ rather than from TZNAME, doable because *TZ now has
29065         a tzname_copy member.
29066         * lib/time-internal.h: New file, with contents taken from
29067         lib/time_rz.c.  It's separate because strftime.c now accesses
29068         struct tm_zone members.
29069         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29070         New member tzname_copy.
29071         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
29072         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29073         Initialize tzname_copy member.
29074         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
29075         in tzname_copy member.
29076         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
29077         (restore_tzname): Remove; no longer needed.  All calls removed.
29078         * modules/time_rz (Files): Add lib/time-internal.h.
29080         time: port __need_time_t to MinGW
29081         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
29082         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
29084 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
29086         strftime: fix newly-introduced bug on Solaris
29087         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
29088         consistently at the start, rather than doing some of the setup at
29089         the start and some in the %Z format spec.  This is cleaner, and
29090         works better with time_rz on platforms like Solaris where struct
29091         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
29092         mktime_z and localtime_rz can mess up the tzname cache.
29094         test-strftime: test for Solaris bug
29095         * modules/strftime-tests (Depends-on): Add strerror.
29096         * tests/test-strftime.c: Include <errno.h>.
29097         (posixtm_test): New function, containing the old 'main'.
29098         (struct tzalloc_test, struct localtime_rz_test): New types.
29099         (TZ, LT): New static vars.
29100         (tzalloc_test): New function.
29101         (main): Rewrite in terms of posixtm_test and tzalloc_test.
29103         time_rz: port to Solaris etc.
29104         Works around a tzname problem on platforms like Solaris that have
29105         tzname but not tm_zone, by setting tzname at the appropriate time
29106         and restoring it later.
29107         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
29108         New static vars.
29109         (save_abbr) [HAVE_TZNAME]: Set them.
29110         (revert_tz) [HAVE_TZNAME]: Clear or use them.
29111         (restore_tzname): New function.
29112         (localtime_rz, mktime_z): Use it.
29114         time_rz: now LGPL
29115         * modules/time_rz (License): Now LGPL, because strftime depends on it.
29117         time_rz: make a constant 'const'
29118         * lib/time_rz.c (local_tz): Now const.
29120         time_rz: fix off-by-one typo
29121         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
29123 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
29125         fprintftime, strftime: use timezone_t args
29126         * NEWS: Document the change.
29127         * lib/fprintftime.h (fprintftime):
29128         * lib/strftime.c (extra_args) [my_strftime]:
29129         * lib/strftime.h (nstrftime):
29130         Time zone arg is now of type timezone_t, not int.
29131         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
29132         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
29133         (my_strftime) [emacs && !my_strftime]:
29134         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
29135         Remove; Emacs doesn't need this any more.
29136         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
29137         fprintftime and nstrftime to call tzset.
29138         (ut) [!my_strftime]: Remove, replacing with ...
29139         (tz) [!my_stftime]: ... this new macro.  All uses changed.
29140         (strftime_case_): Use localtime_rz and mktime_z instead
29141         of localtime_r and mktime.
29142         * modules/fprintftime (Depends-on): Add time_rz.
29143         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
29144         * tests/test-strftime.c (main): Adjust to new nstrftime API.
29146         time_rz: new module
29147         * MODULES.html.sh: Add time_rz.
29148         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
29149         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
29150         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
29151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
29152         New var HAVE_TIMEZONE_T (default 0).
29153         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
29154         New var GNULIB_TIME_RZ (default 0).
29155         * modules/time (time.h): Substitute the new vars.
29157         flexmember: license is now unlimited
29158         * modules/flexmember (License): Change to unlimited,
29159         since its only source file gives an unlimited license.
29161 2015-07-15  Eric Blake  <eblake@redhat.com>
29163         maint: update copyright paper procedures
29164         * config/srclist.txt: Drop outdated files.
29165         * doc/Copyright/conditions.txt: Update to latest.
29166         * doc/Copyright/assign.changes.manual: Delete.
29167         * doc/Copyright/assign.future.manual: Likewise.
29168         * doc/Copyright/assign.manual: Likewise.
29169         * doc/Copyright/assign.translation.manual: Likewise.
29170         * doc/Copyright/disclaim.changes.manual: Likewise.
29171         * doc/Copyright/disclaim.manual: Likewise.
29172         * doc/Copyright/disclaim.program: Likewise.
29174 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29176         localename: fix link error on Illumos
29177         Illumos defines __sun, but does not have getlocalename_l nor the
29178         equivalent.  This partially reverts commit 387c214.
29179         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
29180         available, as well as uselocale.
29181         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
29182         use getlocalename_l if it is not available.
29184 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29186         unistr/uN-strtok-tests: avoid a trivial leak
29187         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
29188         input and delim after the multibyte delimiter tests.
29190 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
29192         file-has-acl, acl-permissions: fix HP-UX typos
29193         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
29194         * lib/file-has-acl.c (file_has_acl):
29195         * lib/set-permissions.c (context_acl_from_mode)
29196         (context_aclv_from_mode, set_acls):
29197         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
29198         They were introduced by the recent ACL changes.
29200         regex: match current GNU grep behavior
29201         These symbols have not matched GNU grep behavior for quite some time.
29202         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
29203         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
29204         Change to match current GNU behavior.
29205         Simplify by expressing it as differences from POSIX BREs and EREs.
29206         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
29208 2015-07-03  Jim Meyering  <meyering@fb.com>
29210         set-permissions.c: adjust acl_from_mode's cpp guard
29211         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
29212         directives identical to those guarding the sole use.
29213         Otherwise, on some systems, we'd get a warning about
29214         the function being defined but not used.
29215         Also, filter through cppi to correct misleading indentation
29216         of cpp directives.
29218 2015-07-03  Pádraig Brady  <P@draigBrady.com>
29220         tests: restrict shells to those that support 'local'
29221         The local keyword is very widely supported and used
29222         in tests in coreutils and grep at least.  Therefore
29223         restrict to testing with shells that support it.
29224         This mainly excludes /bin/sh on Solaris.
29225         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
29227 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
29228         and Daiki Ueno  <ueno@gnu.org>
29230         unistr/uN-strtok: handle multibyte delimiters
29231         Previously, uN_strtok moved PTR to the next unit to the token end.
29232         When DELIM contained a multibyte character, the new position could
29233         be a middle of a multibyte character.
29234         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
29235         after the token.
29236         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
29237         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
29238         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
29239         * modules/unistr/u8-strtok (Depends-on): Depend on
29240         unistr/u8-strmblen.
29241         * modules/unistr/u16-strtok (Depends-on): Depend on
29242         unistr/u16-strmblen.
29243         * modules/unistr/u32-strtok (Depends-on): Depend on
29244         unistr/u32-strmblen.
29245         * tests/unistr/test-u-strtok.h: New file.
29246         * tests/unistr/test-u8-strtok.c: New file.
29247         * tests/unistr/test-u16-strtok.c: New file.
29248         * tests/unistr/test-u32-strtok.c: New file.
29249         * modules/unistr/u8-strtok-tests: New file.
29250         * modules/unistr/u32-strtok-tests: New file.
29251         * modules/unistr/u16-strtok-tests: New file.
29253 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
29255         update-copyright: fix test failure with perl >= 5.22 (trivial)
29256         * build-aux/update-copyright: Escape a literal left curly bracket,
29257         required with perl >= 5.22
29259 2015-07-02  Daiki Ueno  <ueno@gnu.org>
29261         u{16,32}-strstr-tests: relax timeout condition
29262         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
29263         tests can take longer than 5 seconds to complete.
29264         Reported by Dagobert Michelsen in:
29265         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
29266         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
29267         seconds to 10 seconds.
29268         * tests/unistr/test-u32-strstr.c (main): Likewise.
29270 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29272         gnulib-common.m4: change the ARFLAGS default to 'cr'
29273         In some GNU/Linux distributions people started to compile 'ar'
29274         binary with --enable-deterministic-archives (binutils project).
29275         That, however, in combination with previous autotools long time
29276         working default AR{_,}FLAGS=cru causes warnings on such
29277         installations:
29278         ar: `u' modifier ignored since `D' is the default (see `U')
29279         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
29280         set already.
29282 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29284         selinux-h: avoid double free after *getfilecon()
29285         Originally reported by Ben Shelton on bug-tar:
29286         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
29287         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
29288         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
29289         param should be freed by freecon(3) (regardless the return value).
29291 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
29293         fix pty related tests issues on Windows (trivial)
29294         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
29295         however it's still present in tests/ subdirectory of the final project.
29296         Therefore avoid it to pass `make check`.
29297         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
29298         will just return -ENOSYS, so avoid this non applicable test allowing
29299         the build to proceed.
29301 2015-07-01  Pádraig Brady  <P@draigBrady.com>
29303         acl: fix definition of acl_from_mode on FreeBSD
29304         This was causing basic coreutils copy operations to fail
29305         with ENOTSUP or ENOENT error messages.
29306         * lib/acl-internal.h (acl_from_mode): Only define when
29307         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
29308         of acl_from_mode() defined in lib/set-permissions.c to
29309         be used on FreeBSD at least.
29310         * lib/set-permissions.c: Fix up comment spelling,
29311         and a redundant variable assignment; noticed in passing.
29313 2015-06-30  Pádraig Brady  <P@draigBrady.com>
29315         readutmp: port to FreeBSD >= 9
29316         * lib/readutmp.h: Map utmpxname() to setutxdb().
29317         With that coreutils who(1) and pinky(1) tests pass.
29319 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
29321         mgetgroups: port to strict OS X
29322         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
29323         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
29324         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
29325         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
29327 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
29329         mgetgroups: port to strict OS X
29330         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
29331         Document the getgrouplist problem.
29332         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
29333         New macro.
29334         (mgetgroups): Use it.
29335         * m4/mgetgroups.m4 (gl_MGETGROUPS):
29336         Check for OS X signature for getgrouplist.
29338 2015-06-29  Jim Meyering  <meyering@fb.com>
29340         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
29341         It started like this when building coreutils' latest on OS X,
29342         invoking ./configure with a nonempty --cache=.cache:
29344           lib/linkat.c:46:42: error: operator '||' has no right operand
29345           lib/linkat.c: In function 'rpl_linkat':
29346           lib/linkat.c:330:27: error: #if with no expression
29348         Here's linkat.c's line 46:
29350           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
29352         Here's some context:
29354           $ grep linkat_nofoll .cache
29355           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
29356           $ grep LINKAT_SYM lib/config.h
29357           #define LINKAT_SYMLINK_NOTSUP
29359         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
29360         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
29361         but that violates a tenet of AC_CACHE_CHECK: it must
29362         have no side effect other than setting its cache variable.
29364         What happens is that when the cache is set, we'd skip the
29365         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
29366         defined to whatever value it happened to have in configure's
29367         environment.  In my case, it was not defined, so this later code:
29369           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
29370             [Define to 1 if linkat can create hardlinks to symlinks])
29372         would emit code with an empty RHS.
29374         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
29375         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
29377 2015-06-28  Jim Meyering  <meyering@fb.com>
29379         mountlist: avoid an unused-label warning on OS X
29380         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
29381         Building on OS X, I saw a warning about the "free_then_fail" label
29382         being unused.  Give it the _GL_UNUSED_LABEL attribute.
29384         error.c: correct printf-style format: %d -> %u
29385         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
29386         rather than %d, to match the type of "line_number", unsigned int.
29388 2015-06-25  Pádraig Brady  <P@draigBrady.com>
29390         fts: avoid reading beyond the heap allocation
29391         GCC 5.1.1 with -O2 and -fsanitize=address reports
29392         a read of size 4 from a heap object of size 3 is indeed invalid,
29393         though this may be due to incorrect padding assumptions by GCC, see:
29394         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
29395         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
29396         * modules/fts: Depend on stdalign.
29398 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29400         savedir: avoid undefined behavior in qsort call
29401         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29402         "runtime error: null pointer passed as argument 1,
29403          which is declared to never be null"
29404         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
29406 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29408         userspec: avoid undefined behavior in gettext call
29409         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29410         "runtime error: null pointer passed as argument 2,
29411          which is declared to never be null"
29412         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
29414 2015-06-20  Glenn Morris  <rgm@gnu.org>
29416         gitlog-to-changelog: improve gitmerge.el commits
29417         Let the Emacs ChangeLog generation process exclude "skipped"
29418         messages from merge commits (Bug#20717).
29419         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
29421 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29423         wchar: fix MinGW compilation warnings
29424         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
29425         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
29426         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
29428 2015-06-20  Daiki Ueno  <ueno@gnu.org>
29430         uniname/uniname-tests: use pristine data files
29431         For copyright and maintenance reasons, use the data files from UCD
29432         without modification.
29433         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
29434         (getfield): Remove.
29435         (aliases_count): New global variable.
29436         (fill_names): Skip comments and empty lines in the input.  Don't
29437         use getfield.
29438         (fill_aliases): Likewise.
29439         (main): Change the expected command line arguments to:
29440         NAMES... ["--" ALIASES...].
29441         * tests/uniname/test-uninames.sh: Adjust to the change in
29442         test-uninames.c.
29443         * tests/uniname/UnicodeDataNames.txt: Remove.
29444         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
29445         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
29446         file from Unicode 8.0.0.
29448 2015-06-19  Pádraig Brady  <P@draigBrady.com>
29450         linked-list, linkedhash-list: avoid compiler warnings
29451         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
29452         -Werror=suggest-attribute=pure (from GCC 5.1.1).
29454 2015-06-19  Daiki Ueno  <ueno@gnu.org>
29456         libunistring: bump minimum version to 0.9.6
29457         * all modules depending on updated Unicode data: Regenerate.
29458         The modules are listed by a script that does:
29459         - for each file listed by: git show --oneline --name-only 705f4efc
29460           - deduce the containing modules, based on "Files:"
29461         - deduce the modules which depend on the containing modules, based
29462           on "Depends-on:"
29464 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29466         uniname/uniname: update to Unicode 8.0.0
29467         * lib/uniname/uninames.h: Regenerate.
29468         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
29469         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
29471 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29473         libunistring: update to Unicode 8.0.0
29474         * lib/gen-uni-tables.c (SIZEOF): New macro.
29475         (output_numeric): Increase the maximum number of fractions from
29476         128 to 160.  Increase the level3 value width from 7 bits to 8
29477         bits.  Use SIZEOF instead of a hard-coded integer.
29478         (output_blocks): Decrease the cut-off threshold from 0x30000 to
29479         0x28000.
29480         (fill_blocks): Increase the maximum number of blocks from 256 to
29481         384.  Use SIZEOF instead of a hard-coded integer.
29482         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
29483         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
29484         value width.
29485         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
29486         a new case added to LBP22.
29487         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
29488         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
29489         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
29490         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
29491         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
29492         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29493         lib/uniwidth/width.c.
29494         * all generated files under lib/uni* and tests/uni*: Regenerate.
29496 2015-06-16  Pádraig Brady  <P@draigBrady.com>
29498         gnu-web-doc-update: add --mirror to remove stale files
29499         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
29500         out of date files from the CVS server.  Since this is usually
29501         appropriate, a prompt is given when the option is not specified,
29502         along with the `cvs remove` command that would be run.
29504 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
29506         acl-permissions: pacify -Wsuggest-attribute=const
29507         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
29508         * lib/acl-internal.h (free_permission_context):
29509         Declare with attribute const if ! (defined USE_ACL &&
29510         (HAVE_ACL_GET_FILE || defined GETACL)).
29512         fsync: document AIX misbehavior
29513         * doc/posix-functions/fsync.texi (fsync):
29514         Document failure on AIX with read-only file descriptor.
29516 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
29518         stdio: Don't redefine gets when using C++
29519         * lib/stdio.in.h (gets): Disable warning on C++.
29521 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
29523         acl-permissions: port to AIX, C89 HP-UX
29524         Problems reported by Michael Felt.
29525         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
29526         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
29527         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
29528         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
29529         Add cast for AIX, whose system calls are declared to accept
29530         char * even though the arguments are really char const *.
29531         * lib/get-permissions.c (get_permissions):
29532         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
29533         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
29534         that broke a build.
29535         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
29536         Rework types to pacify xlc.
29538 2015-06-03  Pádraig Brady  <P@draigBrady.com>
29540         vasprintf-posix: avoid compiling vasnprintf where possible
29541         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
29542         module where not required.  For example on a GNU/Linux system
29543         when gnulib-tool is run with the --conditional-dependencies option.
29545 2015-06-02  Pádraig Brady  <P@draigBrady.com>
29547         file-has-acl: fix build on Mac OS X 10
29548         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
29549         which has an incompatible 6 parameter getxattr() call.
29550         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
29551         call on Mac OS X >= 10.4.
29552         * doc/glibc-functions/fgetxattr.texi: Likewise.
29553         * lib/file-has-acl.c: Revert to more complete combined check.
29554         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
29555         Reported by Jack Howarth.
29557 2015-06-02  Pádraig Brady  <P@draigBrady.com>
29559         prefix-gnulib-mk: remove no longer needed special case
29560         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
29561         continued lib_SOURCES lines are no longer present,
29562         so special case handling of such entries is not required.
29564 2015-06-01  Pádraig Brady  <P@draigBrady.com>
29566         acl: don't depend on the deprecated qacl module
29567         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
29569 2015-06-01  Pádraig Brady  <P@draigBrady.com>
29571         gnulib-tool: concatenate lib_SOURCES to a single line
29572         * gnulib-tool: Refactor the line merging sed logic,
29573         and use that to output a single lib_SOURCES line for each module.
29574         gnulib using projects often postprocess this output to prepend
29575         subdir paths to each item, and having a single line simplifies this
29576         processing allowing better decoupling from the gnulib-tool output.
29578 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
29580         pthread_sigmask: discount system version if a simple macro (trivial)
29581         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
29582         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
29583         function to ensure it's available.
29585 2015-05-31  Pádraig Brady  <P@draigBrady.com>
29587         readlinkat: avoid OS X 10.10 trailing slash bug
29588         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
29589         has this bug.
29590         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
29591         that OS X 10.10 has this function.
29592         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
29593         as done for readlink().
29594         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
29595         trailing slash bug, and assume readlinkat() has the same issue.
29596         Also fix a typo where $gl_cv_decl_readlink_works was tested,
29597         rather than the correct $gl_cv_decl_readlinkat_works.
29599 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
29601         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
29602         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
29603         module rewrite.
29605         acl-permissions: Fix build on Solaris and Cygwin
29606         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
29607         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
29608         ace_entries variables have moved into struct permission_context but
29609         they were still accessed as local variables here.
29611 2015-05-29  Pádraig Brady  <P@draigBrady.com>
29613         linkat: avoid OS X 10.10 trailing slash with symlink bug
29614         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
29615         causes the symlink to be dereferenced, and if it points
29616         to a non existent file, that file will be created as
29617         a hard link to "path1".
29618         This fixes a test failure in test-linkat.c.
29619         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
29620         this case.  The existing workaround in linkat.c for
29621         trailing slash issues, suffices for this case.
29622         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
29623         the list of platforms with trailing slash issues.
29625 2015-05-28  Pádraig Brady  <P@draigBrady.com>
29627         unlinkat: handle ignoring of ".." on Darwin 14
29628         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
29629         on Mac OS X 10.10, where it ignores paths with a trailing "..",
29630         so handle in the same manner.
29631         * m4/unlinkat.m4: Comment on this Darwin issue.
29632         * doc/posix-functions/unlink.texi: Update the latest version
29633         where the issue was seen.
29634         * doc/posix-functions/unlinkat.texi: Mention this issue.
29635         Fixes a test failure in test-unlinkat.c.
29637 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
29639         qacl: split into qcopy-acl and qset-acl
29640         Emacs needs the former, but not the latter.
29641         * modules/acl-permissions: New file, containing most of the old qacl.
29642         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
29643         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
29644         * modules/qcopy-acl, modules/qset-acl: New files.
29645         * MODULES.html.sh (File system functions):
29646         Mention the new modules, and mention qacl while we're at it.
29648 2015-05-27  Glenn Morris  <rgm@gnu.org>
29650         gitlog-to-changelog: new option --ignore-line
29651         (This patch is imported from the GNU Emacs master.)
29652         This option ignores individual commit lines matching a pattern.
29653         * build-aux/gitlog-to-changelog: Add --ignore-line option.
29655 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
29657         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
29658         Implement get_permissions and set_permissions primitives for getting all
29659         the permissions of a file, storing them, and later setting them. (In the
29660         minimal case, the permissions consist only of a file mode.) Reimplement
29661         qset_acl and qcopy_acl based on these new primitives: this avoids code
29662         duplication and makes error handling more consistent.
29663         The Solaris and Cygwin code still uses duplicate code paths for setting
29664         a file mode while making sure that no acls exist and setting an explicit
29665         acl; this is no worse than before, but could be cleaned up.  The AIX
29666         code still doesn't read ACLs, it only makes sure that acls don't get in
29667         the way when setting a file mode.
29668         * lib/acl-internal.h (struct permission_context): New data structure.
29669         (get_permissions, set_permissions, free_permission_context): Declare.
29670         * lib/acl-internal.c (free_permission_context): New helper function.
29671         * lib/get-permissions.c (get_permissions): New helper function split off
29672         from qcopy_acl.
29673         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
29674         AIX, set a file's permissions based only on a file mode.
29675         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
29676         other platforms construct a temporary acl from the file mode and set
29677         that acl in the same way as setting an acl read from the source file.
29678         This should help avoid code duplication and inconsistent / buggy
29679         behavior.
29680         (set_acls): New helper function Split off from qcopy_acl.
29681         (chmod_or_fchmod): Moved here from qset-acl.c.
29682         (set_permissions): New helper function.
29683         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
29684         set_permissions.
29685         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
29686         * modules/qacl: Add get-permissions.c and set-permissions.c.
29688         file-has-acl: Split feature tests again (Bug#20667)
29689         * lib/file-has-acl.c: Instead of testing for
29690         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
29691         define them when needed.
29692         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
29693         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
29695 2015-05-27  Pádraig Brady  <P@draigBrady.com>
29697         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
29698         This avoids a conflict with "FORTIFY_SOURCE" variants
29699         of the string functions when they're replaced on NetBSD-6.0.1
29700         and Darwin-14.3.0 at least.
29701         * lib/string.in.h: Avoid including our "lib/string.h" while
29702         including the system <string.h>.
29704 2015-05-26  Eric Blake  <eblake@redhat.com>
29706         stdio: limit __gnu_printf__ witness to gcc 4.4+
29707         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
29708         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
29710         error: use correct printf attributes on mingw
29711         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
29713         inttypes: force correct mingw PRIdMAX even without <stdio.h>
29714         * modules/inttypes (Depends-on): Require extensions, so that mingw
29715         always uses GNU style inttypes.
29716         * lib/inttypes.in.h: On mingw, include <stdio.h>.
29718         stdio: fix probe on mingw under gcc 5.1
29719         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
29720         around new gcc preprocessor rules.
29722 2015-05-07  Glenn Morris  <rgm@gnu.org>
29724         gitlog-to-changelog: parse "Tiny-change"
29725         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
29726         "Copyright-paperwork-exempt".  (Bug#20324)
29728 2015-05-06  Pádraig Brady  <P@draigBrady.com>
29730         doc: document glibc posix_fallocate() issues
29731         * doc/posix-functions/posix_fallocate.texi: Mention the
29732         glibc efficiency problems and issues with NFS.
29734 2015-05-05  Karl Berry  <karl@freefriends.org>
29736         * build-aux/gendocs.sh (usage): document new css default
29737         for HTML (--htmlarg).
29739 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
29741         extern-inline: no need for workaround in GCC 5.1
29742         * doc/extern-inline.texi (extern inline):
29743         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
29744         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
29745         around these bugs in GCC 5.1 and later.  Maybe in a decade or
29746         two we can remove these workarounds.
29748 2015-04-28  Pádraig Brady  <P@draigBrady.com>
29750         eealloc, pagealign_alloc, xalloc: avoid clang warnings
29751         Avoid [-Wunknown-attributes] warnings like:
29752         warning: unknown attribute '__alloc_size__' ignored
29753         * lib/xalloc.h: Don't use the __alloc_size__  attribute
29754         with clang, as support has been fully removed as of clang 3.5:
29755         https://github.com/llvm-mirror/clang/commit/c047507a
29756         * lib/eealloc.h: Likewise.
29757         * lib/pagealign_alloc.h: Likewise.
29759 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29761         tests: pacify GCC 5.1's stricter printf checking
29762         * tests/test-dirname.c (main):
29763         * tests/test-getaddrinfo.c (simple):
29764         * tests/test-getlogin.c (main):
29765         * tests/test-getndelim2.c (main):
29766         * tests/test-inttostr.c (CK):
29767         * tests/test-md5.c (main):
29768         * tests/test-read-file.c (main):
29769         * tests/test-sha1.c (main):
29770         Fix mismatches between printf format and value signedness.
29771         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
29772         Remove, as CAST_VAL always returned a value of type uintmax_t.
29774         fts: port to GCC 5.1 with --enable-gcc-warnings
29775         Without this fix, GCC 5.1 (correctly) warns about a subscript
29776         error on the fts_name component of FTSENT.  It's actually a
29777         flexible member, so define it that way on C99 or later hosts.
29778         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
29779         structure that now has a flexible array member.
29780         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
29781         (FTSENT): fts_name is now flexible on C99-or-later platforms.
29782         * modules/fts (Depends-on): Add flexmember.
29784 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
29786         file-has-acl: port to CentOS 6
29787         Problem reported by Tom G. Christensen in:
29788         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
29789         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
29790         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
29791         HAVE_GETXATTR.
29792         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
29793         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
29794         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
29795         file-has-acl.c actually needs.
29797 2015-04-26  Pádraig Brady  <P@draigBrady.com>
29799         file-has-acl: always return false when ACLs aren't supported
29800         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
29801         change the GNU/Linux getxattr path, to transform "not supported"
29802         errors to a false return rather than an error.  This is handled
29803         within file_has_acl() due to the platform specific tests to
29804         determine if ACLs are not supported.
29806 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
29808         gettext: propagate po/Makefile.in.in too
29809         * build-aux/po/Makefile.in.in: Copy from latest gettext.
29810         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
29811         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
29812         between Makefile.in.in and the gettext-runtime m4 files.
29814 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
29816         file-has-acl: new module, split from acl
29817         And add a new module file-has-acl-tests to match.
29818         I ran into a problem with the recent changes to the acl module,
29819         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
29820         When using the fixed version with Emacs, I discovered that
29821         file-has-acl wasn't separated out well enough for Emacs (e.g., it
29822         had multiple libraries, but needed only one), so I fixed that too.
29823         * NEWS: Document this incompatible change.
29824         * modules/file-has-acl, modules/file-has-acl-tests: New files.
29825         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
29826         Initialize gl_need_lib_has_acl.
29827         (gl_FUNC_ACL): Require it.
29828         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
29829         Move the file-has-acl.c-relevant stuff to ...
29830         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
29831         use_xattrs = 0' typo, and omit some needless work.  Set
29832         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
29833         when gl_FUNC_ACL is called.
29834         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
29835         (Link): Remove $(LIB_HAS_ACL).
29836         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
29837         (check_PROGRAMS): Move stuff relevant to file-has-acl to
29838         modules/file-has-acl-tests.
29839         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
29841         manywarnings: add GCC 5.1 warnings
29842         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
29843         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
29844         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
29845         -Wsuggest-override, -Wuse-without-only.  Change
29846         -Wnormalized=... operands to match 5.1.
29847         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
29848         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
29849         -Wdiscarded-qualifiers, -Wformat-signedness,
29850         -Wincompatible-pointer-types, -Wint-conversion,
29851         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
29852         -Wshift-count-negative, -Wshift-count-overflow,
29853         -Wsizeof-array-argument, -Wsuggest-final-methods,
29854         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
29855         and add -Warray-bounds=2 as a special case.
29857 2015-04-21  Simon Josefsson  <simon@josefsson.org>
29859         doc: update FDL template to match FDL examples.
29860         * doc/alloca-opt.texi:
29861         * doc/alloca.texi:
29862         * doc/c-ctype.texi:
29863         * doc/c-strcase.texi:
29864         * doc/c-strcaseeq.texi:
29865         * doc/c-strcasestr.texi:
29866         * doc/c-strstr.texi:
29867         * doc/c-strtod.texi:
29868         * doc/c-strtold.texi:
29869         * doc/ctime.texi:
29870         * doc/error.texi:
29871         * doc/gcd.texi:
29872         * doc/gnulib-tool.texi:
29873         * doc/inet_ntoa.texi:
29874         * doc/intprops.texi:
29875         * doc/lib-symbol-visibility.texi:
29876         * doc/maintain.texi:
29877         * doc/parse-datetime.texi:
29878         * doc/quote.texi:
29879         * doc/regexprops-generic.texi:
29880         * doc/standards.texi: Remove spurious 'with' in FDL license
29881         template.
29883 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
29885         lstat: fix cross-compilation 'ln -s' problem
29886         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
29887         Have the test program call 'symlink' rather than a separate
29888         script run 'ln -s'; this is more likely to work in
29889         cross-compilation environments.  Reported by Pavel Fedin in:
29890         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
29892 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
29894         gendocs.sh: default to a common CSS style sheet for HTML output
29895         * build-aux/gendocs.sh (htmlarg): Change default value.
29897 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
29899         gnulib-tool: output bold attribute more portably
29900         * gnulib-tool (func_show_module_list): Change hexadecimal
29901         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
29902         encoded numbers as arguments to `printf' is not portable,
29903         and is not claimed by POSIX.  This is the case with FreeBSD.
29905 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
29907         qacl: Simplify HP-UX acl_nontrivial check
29908         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
29909         acl_nontrivial. Check if the acl has at most three entries instead (it must
29910         have exactly three entries according to the HP-UX documentation). Ignore
29911         uids and gids as long as an entry is either for a user (i.e., the owner),
29912         a group (i.e., the owning group), or others.
29913         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
29914         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
29916 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
29918         acl: On Linux, check for acls without libacl
29919         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
29920         library function to check for the presence of acls, avoiding a library.
29921         * lib/file-has-acl.c: Include xattr headers if we have them.
29922         (file_has_acl): On Linux, use getxattr().
29923         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
29924         file_has_acl(). Check for xattr headers and getxattr().
29926 2015-04-14  Ángel González  <keisial@gmail.com>
29928         tempname: avoid unused parameter warnings (trivial)
29929         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
29930         (try_nocreate): Likewise.
29932 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
29934         fseeko: fix build failure on NetBSD >= 6 (trivial)
29935         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
29936         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
29938 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
29940         gitlog-to-changelog: port to MS-Windows
29941         * build-aux/gitlog-to-changelog (git_dir_option):
29942         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
29943         MS-Windows Perl.  Reported by Eli Zaretskii in:
29944         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
29946 2015-04-07  Karl Berry  <karl@gnu.org>
29948         gendocs: new option --tex for passing args to texi2dvi.
29949         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
29950         (TEXI2DVI): cut to just command name.
29951         (usage): mention new option, and update copyright.
29952         <generate_tex>: use it.
29954 2015-04-07  Karl Berry  <karl@gnu.org>
29956         * config/srclistvars.sh (GETTEXT): new definition.
29957         * config/srclist.txt: use it for gettext .m4 files.
29958         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
29959         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
29960         and continuing into April.
29962 2015-04-07  Daiki Ueno  <ueno@gnu.org>
29964         uniname/uniname-tests: fix failure due to alias
29965         Reported by Jack Howarth in:
29966         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
29967         * tests/uniname/test-uninames.c (name_has_alias): New function.
29968         (test_inverse_lookup): Exclude character name with valid alias,
29969         from randomly generated character names.
29970         (main): Fill unicode_aliases before calling test functions.
29972 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
29974         hash: remove deprecated hash_insert0 function
29975         * lib/hash.h (hash_insert0): Remove deprecated function.
29976         * lib/hash.c (hash_insert0): Likewise.
29978 2015-04-02  Pádraig Brady  <P@draigBrady.com>
29980         mountlist: remove dependency on libmount
29981         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
29982         directly, rather than depending on libmount, which has many
29983         dependencies due to its dependence on libselinux, as detailed at:
29984         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
29985         Note we restrict this to __linux__ as that's probably where this
29986         interface will remain.  If ever porting, it would be best
29987         to first pull the makedev() wrapper from coreutils to a gnulib module.
29988         Note also we don't add a getline dependency to the mountlist module,
29989         as all Linux versions are sufficient.
29991 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
29993         stddef: port to pre-C11 GCC on x86
29994         On this platform, max_align_t should have an alignment of 8 even
29995         though the storage alignments of double, long, etc. max out at 4.
29996         Inspired by a comment of Andreas Schwab's here:
29997         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
29998         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
29999         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
30000         * tests/test-stddef.c: Test __alignof__ too, if available.
30002 2015-03-24  Pádraig Brady  <P@draigBrady.com>
30004         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
30005         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
30007 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
30009         yesno: make EOL optional in ENABLE_NLS case also (trival)
30010         * lib/yesno.c (yesno): Check for EOL before replacing.
30011         * tests/test-yesno.sh: Add a test case (test along with gettext).
30013 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
30015         fdopendir-tests: test it does not close its arg
30016         * tests/test-fdopendir.c (main): Test that fdopendir does not
30017         close its argument.  From a suggestion by David Grayson in:
30018         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
30020 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30022         gitlog-to-changelog: trim trailing white space
30023         * build-aux/gitlog-to-changelog (main):
30024         Trim trailing white space from commit message lines.
30025         This is helpful for processing the GNU Emacs repository,
30026         which dates back to 1985 and contains a lot of such lines.
30028         gitlog-to-changelog: new option --ignore-matching
30029         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
30030         Support new option --ignore-matching=PAT, which ignores all
30031         commit messages whose first line matches PAT.
30033 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30035         fdopendir: port better to MinGW
30036         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
30037         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
30038         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
30039         * modules/fdopendir (Depends-on): Add dirfd.
30041 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
30043         fdopendir: fix typo in comment
30044         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
30046 2015-03-09  Eric Blake  <eblake@redhat.com>
30048         error: document all entry points provided
30049         * doc/glibc-functions/error_print_progname.texi
30050         (error_print_progname): Mention the error module.
30051         * doc/glibc-functions/error_at_line.texi (error_at_line):
30052         Likewise.
30053         * doc/glibc-functions/error_message_count.texi
30054         (error_message_count): Likewise.
30055         * doc/glibc-functions/error_one_per_line.texi
30056         (error_one_per_line): Likewise.
30058 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30060         vasnprintf: pacify clang 3.5.0
30061         Problem reported by Werner Lemberg in:
30062         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
30063         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
30064         The casts aren't needed, since the characters in question are ASCII.
30066 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30068         glob, etc.: port to MSVC v18 on MS-Windows 8.1
30069         * lib/dirent--.h (GNULIB_defined_opendir):
30070         * lib/dirent.in.h (GNULIB_defined_opendir)
30071         (GNULIB_defined_closedir):
30072         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
30073         #undef only if Gnulib defined it.
30075         poll: port to MSVC v18 on MS-Windows 8.1
30076         Problem reported by Gisle Vanem in:
30077         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
30078         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
30079         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
30080         Add sys_socket.
30082 2015-02-24  Pádraig Brady  <P@draigBrady.com>
30084         tests: support stderr verification with returns_()
30085         * tests/init.sh (returns_): Disable tracing for this wrapper
30086         function, so that stderr of the wrapped command is unchanged,
30087         allowing for verification of the contents.
30089 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
30091         passfd: avoid valgrind uninitalised data warning
30092         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
30093         to include just the fd we've initialized, rather than including
30094         the extra space used for alignment.
30096 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
30098         uniwbrk/u32-wordbreaks-tests: fix copyright
30099         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
30101         dup2: doc and test for Android bug
30102         Reported by Kevin Cernekee in:
30103         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
30104         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30105         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
30107 2015-02-23  Kevin Cernekee  <cernekee@google.com>
30109         Replace dup2() on Android
30110         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
30111         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
30112         fails.  Using rpl_dup2() fixes this because it has an explicit test
30113         for this condition.
30115 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
30117         Android doesn't define RLIM_SAVED_*
30118         Portability problem reported by Kevin Cernekee in:
30119         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
30120         * doc/posix-headers/sys_resource.texi (sys/resource.h):
30121         Mention the portability problem.
30122         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
30123         Define if not defined.
30124         * m4/dup2.m4 (gl_FUNC_DUP2):
30125         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30126         Likewise.
30128 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30130         vasnprintf-posix-tests: use consistent test
30131         * tests/test-vasnprintf-posix.c (test_function):
30132         Use "<" in assert instead of "<=", for consistency with other tests.
30134 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30136         printf, isinf, etc.: noncanonical != NaN
30137         Do not require that isinf, printf, etc. treat noncanonical
30138         values as NaNs.  Instead, require only that they do not crash.
30139         Problem reported by Joseph Myers in:
30140         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
30141         * doc/posix-functions/dprintf.texi (dprintf):
30142         * doc/posix-functions/fprintf.texi (fprintf):
30143         * doc/posix-functions/isfinite.texi (isfinite):
30144         * doc/posix-functions/isinf.texi (isinf):
30145         * doc/posix-functions/isnan.texi (isnan):
30146         * doc/posix-functions/printf.texi (printf):
30147         * doc/posix-functions/snprintf.texi (snprintf):
30148         * doc/posix-functions/sprintf.texi (sprintf):
30149         * doc/posix-functions/vdprintf.texi (vdprintf):
30150         * doc/posix-functions/vfprintf.texi (vfprintf):
30151         * doc/posix-functions/vprintf.texi (vprintf):
30152         * doc/posix-functions/vsnprintf.texi (vsnprintf):
30153         * doc/posix-functions/vsprintf.texi (vsprintf):
30154         Document this.
30155         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
30156         * m4/isinf.m4 (gl_ISINFL_WORKS):
30157         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
30158         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
30159         * tests/test-isfinite.c (test_isfinitel):
30160         * tests/test-isinf.c (test_isinfl):
30161         * tests/test-isnan.c (test_long_double):
30162         * tests/test-isnanl.h (main):
30163         * tests/test-snprintf-posix.h (test_function):
30164         * tests/test-sprintf-posix.h (test_function):
30165         * tests/test-vasnprintf-posix.c (test_function):
30166         * tests/test-vasprintf-posix.c (test_function):
30167         Test only that noncanonical values do not cause crashes, not that
30168         they are treated as NaNs.  In some cases this means a larger
30169         output buffer is needed.
30171 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
30173         fts: remove redundant close() (trivial)
30174         * lib/fts.c (fts_read): Remove redundant call to close().
30175         Spotted by coverity.
30177 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30179         getdtablesize: port better for Android
30180         Problem reported by Kevin Cernekee in:
30181         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
30182         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
30183         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
30184         Instead, just use getrlimit, taking care to avoid Cygwin bug.
30186         poll: fixes for large fds
30187         * lib/poll.c (poll): Don't check directly for NFD too large.
30188         Don't rely on undefined behavior in FD_SET when an arg exceeds
30189         FD_SETSIZE.  Always set revents afterwards, even if to zero.
30190         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
30191         as that makes the test a bit stricter.
30193 2015-02-19  Kevin Cernekee  <cernekee@google.com>
30195         fcntl: Fix cross compiling
30196         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
30197         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
30199 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
30201         dup2, fcntl: cross-compile better for Android
30202         Problem reported by Kevin Cernekee in:
30203         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
30204         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
30205         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
30206         there's little need to cross-compile for older kernels nowadays.
30207         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
30208         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
30210 2015-02-18  Pádraig Brady  <P@draigBrady.com>
30212         getopt: don't crash on memory exhaustion
30213         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
30214         memory exhaustion.  In the _LIBC case we use alloca() as is
30215         already done in glibc, so we don't need to consider the separate
30216         error path in that awkward case.  Also fix a memory leak when
30217         ambiguous options are present.
30218         Reported by Tobias Stoeckmann
30220 2015-02-17  Mike Miller  <mtmiller@ieee.org>
30222         tempname: allow compilation with C++ (trivial)
30223         * lib/tempname.h [C++]: Specify extern "C" linkage.
30224         * lib/tempname.h (try_tempname):
30225         * lib/tempname.c (__try_tempname, __gen_tempname):
30226         Rename 'try' to 'tryfunc'.
30228 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
30230         dup2, fcntl: port to AIX
30231         * m4/dup2.m4 (gl_FUNC_DUP2):
30232         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30233         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
30234         The former works on AIX 7.1 but the latter does not.
30235         Also, this may work better with Android; see:
30236         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
30238 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30240         getdtablesize, dup2, fcntl: port to Android
30241         Problem reported by Kevin Cernekee in:
30242         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
30243         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
30244         Mention that getdtablesize doesn't work on Android.
30245         * lib/getdtablesize.c: Use getrlimit substitute only if
30246         getdtablesize is declared.  This should suffice for Cygwin
30247         while not breaking Android.
30248         * m4/dup2.m4 (gl_FUNC_DUP2):
30249         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30250         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
30251         standardized but the latter is not, and sysconf works on Android.
30252         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
30253         Also check that getdtablesize is declared.
30254         This removes the need for a special case for Android.
30256 2015-02-16  Kevin Cernekee  <cernekee@google.com>
30258         localename: Implement gl_locale_name_thread_unsafe for Android
30259         * lib/localename.c: Android API level >= 21 supports two hardcoded
30260         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
30261         the internal __locale_t struct.
30263 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
30265         fts: avoid crash when a cycle is added while traversing
30266         This could be triggered by auto-mounting a recursive bind mount.
30267         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
30268         * lib/fts.c (fts_read): Avoid removing the original hash table item
30269         when leaving a directory that caused a cycle, and preserve the FTS_DC
30270         flag.
30272 2015-02-16  Daiki Ueno  <ueno@gnu.org>
30274         uniname/uniname: support character alias
30275         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
30276         Generate one-way mapping from aliases to codepoints in the
30277         generated tables.  Special case variation selectors to reduce
30278         table size.
30279         * lib/uniname/uniname.c (unicode_character_name): Special case
30280         variation selectors.
30281         (unicode_name_character): Special case variation selectors and
30282         their aliases.
30283         * lib/uniname/uninames.h: Regenerate.
30284         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
30285         * modules/uniname/uniname-tests (Files): Add
30286         tests/uniname/NameAliases.txt.
30287         * tests/uniname/test-uninames.c: Mark as static.
30288         (ALIASLEN): Define.
30289         (struct unicode_alias): New struct.
30290         (unicode_aliases): New variable.
30291         (fill_aliases): New function.
30292         (test_alias_lookup): New test function.
30293         (main): Run the 'test_alias_lookup' test if the second argument is
30294         given.
30295         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
30296         second argument.
30298 2015-02-11  Kevin Cernekee  <cernekee@google.com>
30300         Fix FILE struct compatibility with Android API level >= 21
30301         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
30302         __sferror.  Recent versions of Bionic's stdio.h no longer define
30303         __sferror.
30304         * lib/fbufmode.c: Likewise.
30305         * lib/fflush.c: Likewise.
30306         * lib/fpurge.c: Likewise.
30307         * lib/freadable.c: Likewise.
30308         * lib/freadahead.c: Likewise.
30309         * lib/freading.c: Likewise.
30310         * lib/freadptr.c: Likewise.
30311         * lib/freadseek.c: Likewise.
30312         * lib/fseeko.c: Likewise.
30313         * lib/fseterr.c: Likewise.
30314         * lib/fwritable.c: Likewise.
30316         Assume unbroken ungetc() on Android
30317         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
30318         test case passed when running on an Android host, and the code
30319         hasn't really changed since 2009.
30321         getdtablesize: Fix Android build
30322         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
30323         versions have this symbol in the .so library (at least 32-bit
30324         platforms) but are missing the declaration in the header file,
30325         causing the m4 logic to guess incorrectly.
30327         localename: Fix Android build
30328         * modules/localename (Depends-on): Add langinfo.
30330         getugroups: Fix Android build
30331         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
30332         functions.
30334         euidaccess: Fix Android build
30335         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
30336         AT_EACCESS gets declared.
30338         linkat_nofollow: Add fallback case for cross compiling
30339         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
30341         net_if: Handle content-free <net/if.h> system headers
30342         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
30343         struct if_nameindex.  If not, enable the replacement header.
30345         signal_h: Fix Android build
30346         * lib/signal.in.h: Add Android to the list of platforms that declare
30347         pthread_sigmask() in <pthread.h> instead of <signal.h>.
30349         duplocale: Fix Android build of duplocale-tests
30350         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
30351         is included by test-duplocale.c (but not by duplocale.c).
30352         * modules/duplocale-tests (configure.ac): Check for monetary.h.
30353         * tests/test-duplocale.c: Skip test if monetary.h is absent.
30354         * doc/posix-headers/monetary.texi: Add Android to the list of
30355         platforms missing monetary.h.
30357 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30359         tests: avoid recent -Werror=unused-variable regression in test-locale
30360         * tests/test-locale.c (main): Reference the variable to avoid the
30361         "unused variable" warning.
30363 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30365         maint: various whitespace cleanups in tempname
30366         * lib/tempname.c: Normalize spacing and line length.
30367         * lib/tempname.h: Likewise.
30368         * modules/tempname: Likewise.
30370 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30372         tests: provide returns_() to simplify exit status checking
30373         * tests/init.sh (returns_): A new function for use in tests,
30374         to allow for easier checking of return values, where you expect
30375         a command to exit with failure status.  By checking for a particular
30376         exit code, you don't hide any crashes for example.
30378 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30380         mountlist: only use libmount when specified
30381         There are currently many shared libs dependencies introduced by
30382         libmount with associated runtime and virt mem overhead.
30383         Therefore don't enable by default.
30384         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
30386 2015-02-08  Daiki Ueno  <ueno@gnu.org>
30388         uniname/unimame-tests: don't link with -lunistring
30389         * modules/uniname/uniname-tests (Makefile.am): Don't link against
30390         $(LIBUNISTRING).  Document the rationale why we need to
30391         conditionalize the test.
30393 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30395         fstrcmp: don't assume strlen < INT_MAX
30396         * lib/fstrcmp.c: Include stddef.h and stdint.h.
30397         (uintptr_t): Remove, as we're now assuming stdint.
30398         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
30399         Prefer ptrdiff_t to int when the value could exceed INT_MAX
30400         if the input string is long.
30401         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
30402         uintptr_t to size_t when the underlying value is a pointer casted
30403         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
30404         * modules/fstrcmp (Depends-on): Add stdint.
30406         diffseq: prefer ptrdiff_t to ssize_t
30407         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
30408         ptrdiff_t is the natural type for signed indexes.
30409         On a few older platforms, ssize_t is narrower than size_t.
30411         xalloc: fix typo that suppressed warnings
30412         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
30413         This typo, introduced a couple of years ago, mistakenly suppressed
30414         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
30415         -Wmissing-declarations warnings.
30417         full-read: fix license notice typo
30418         * lib/full-read.h: Remove a stray line in the license notice.
30419         Reported by Sam Ellis in: http://bugs.gnu.org/19808
30421         crypto/gc: fix a -Wswitch warning
30422         Reported by Bruce Korb in:
30423         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
30424         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
30426 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30428         gnulib-tool: fix handling of patch(1) diagnostics
30429         * gnulib-tool: Send diagnostics from patch(1) to stderr,
30430         as otherwise gnulib-tool will reparse that output and attempt
30431         to lookup modules.
30433 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30435         bootstrap: exit immediately upon gnulib-tool failure
30436         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
30437         This was noticed when gnulib-tool exited early due to failure
30438         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
30439         but various confusing errors were then given as the build proceeded.
30441 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
30443         symlinkat: include all required header files
30444         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
30445         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
30446         Reported at https://savannah.gnu.org/bugs/index.php?44151
30447         and by Jack Howarth.
30449 2015-01-29  Pádraig Brady  <P@draigBrady.com>
30451         localename: support Solaris 12 and illumos
30452         * lib/localename.c (gl_locale_name_thread_unsafe): call
30453         getlocalename_l() on newer __sun platforms.
30454         Reported by Alexander Pyhalov.
30455         Fix suggested by Rich Burridge.
30457 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
30459         locale: fix tests on illumos (trivial)
30460         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
30461         so move from global scope to main().
30463 2015-01-24  Daiki Ueno  <ueno@gnu.org>
30465         unictype: avoid undefined left-shift behavior
30466         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
30467         gcc's -fsanitize=shift and running its tests triggered:
30468           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
30469             places cannot be represented in type 'int'
30470         Cast LHS to 'unsigned int' after integer promotion.
30471         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
30472         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
30474 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30476         libunistring: bump version of unitypes dependants
30477         Due to the header file search order, all the headers which depend
30478         on unitypes.h need to be generated, when the preinstalled
30479         libunistring is older.
30480         * modules/unicase/base (configure.ac): Bump minimum version to
30481         0.9.4.
30482         * modules/uniconv/base (configure.ac): Likewise.
30483         * modules/unilbrk/base (configure.ac): Likewise.
30484         * modules/uninorm/base (configure.ac): Likewise.
30485         * modules/unistdio/base (configure.ac): Likewise.
30486         * modules/unistr/base (configure.ac): Likewise.
30487         * modules/uniwbrk/base (configure.ac): Likewise.
30488         * modules/uniwidth/base (configure.ac): Likewise.
30490 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30492         unictype/category-none: fix link with libunistring
30493         Since _UC_CATEGORY_NONE is not a public symbol, it will be
30494         prefixed with "libstring_" when compiled as part of libunistring.
30495         To avoid undefined symbol at link time, increase the minimum
30496         version when the dependant modules are updated.
30497         * modules/unictype/category-none (configure.ac): Bump minimum
30498         version to 0.9.5.
30500 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30502         unitypes: fix build with installed libunistring
30503         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
30504         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
30505         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
30507 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30509         time: port to MinGW32 3.21
30510         Problem reported by Eli Zaretskii in:
30511         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
30512         * lib/time.in.h:
30513         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
30514         * modules/time (Depends-on):
30515         Fall back on unistd.h if the other include files don't define
30516         struct timespec.
30518         update-copyright: apply to self
30519         * build-aux/update-copyright: Fix copyright date.  How ironic!
30521 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30523         libunistring: update to Unicode 7.0.0
30524         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
30525         Manichaean names.
30526         * lib/unictype/joininggroup_name.h: Likewise.
30527         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
30528         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
30529         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
30530         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
30531         (fill_arabicshaping, joining_group_as_c_identifier): Support those
30532         enum values.
30533         (is_property_alphabetic): Accept newly added characters to
30534         cuneiform numeric signs.
30535         (is_property_default_ignorable_code_point): Reject U+0605.
30536         (FIELDLEN): Increase from 120 to 160.
30537         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
30538         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
30539         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
30540         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
30541         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
30542         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
30543         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
30544         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
30545         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
30546         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
30547         U+1E8D0..U+1E8D6.
30548         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
30549         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30550         lib/uniwidth/width.c.
30551         * all generated files under lib/uni* and tests/uni*: Regenerate.
30553 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30555         libunistring: update to Unicode 6.3.0
30556         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
30557         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
30558         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
30559         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
30560         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
30561         Update WB5, WB9, WB10, WB13a, and WB13b.
30562         * tests/uniwbrk/test-uc-wordbreaks.c
30563         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
30564         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
30565         (UC_BIDI_PDI): New enumeration values.
30566         (bidi_category_byname): Support those enum values.
30567         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
30568         dedicated property assigned.
30569         (is_property_case_ignorable): Check 0x0027.
30570         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
30571         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
30572         (output_wbp): Support those enum values.
30573         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
30574         (UC_BIDI_PDI): New enumeration values.
30575         * lib/unictype/bidi_byname.gperf: Add those property names.
30576         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
30577         U+180E, U+1A1B, and U+2066..U+2069.
30578         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30579         lib/uniwidth/width.c.
30580         * all generated files under lib/uni* and tests/uni*: Regenerate.
30582 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30584         libunistring: update to Unicode 6.2.0
30585         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
30586         (unilbrk_table): Adjust table size.
30587         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
30588         for LBP_RI.
30589         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
30590         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
30591         Normalize table index skipping ignored properties.
30592         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
30593         WBP_EXTEND and WBP_FORMAT, which are now computed without using
30594         the table.
30595         * lib/uniwbrk/wbrktable.h: Adjust table size.
30596         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
30597         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
30598         Support rule GB8a.
30599         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
30600         * tests/unigbrk/test-uc-is-grapheme-break.c
30601         (graphemebreakproperty_to_string): Support GBP_RI.
30602         * tests/uniwbrk/test-uc-wordbreaks.c
30603         (wordbreakproperty_to_string): Support WBP_RI.
30604         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
30605         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
30606         (output_lbp): Support LBP_RI.  Adjust some characters changed from
30607         LBP_AL to LBP_ID.
30608         (output_lbp): Support LBP_RI.
30609         (WBP_RI): New enumeration value.
30610         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
30611         (output_wbp): Support WBP_RI.
30612         (GBP_RI): New enumeration value.
30613         (output_gbp_test, fill_org_gbp): Support GBP_RI.
30614         * all generated files under lib/uni* and tests/uni*: Regenerate.
30616 2015-01-14  Daiki Ueno  <ueno@gnu.org>
30618         libunistring: update to Unicode 6.1.0
30619         * lib/gen-uni-tables.c (output_joining_group): Switch to
30620         3-level table to accommodate joining groups defined with higher
30621         codepoint value.  Since there are only 88 groups defined in
30622         Unicode 7.0.0, use 7-bit packed format for level3 entries.
30623         (get_lbp): Update for Unicode 6.1.0.
30624         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
30625         3-level table.
30626         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
30627         joining group name.
30628         * lib/unictype/joininggroup_name.h: Likewise.
30629         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
30630         (unilbrk_table): Adjust table size.
30631         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
30632         for LBP_HL.
30633         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
30634         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
30635         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
30636         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
30637         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
30638         U+302E..U+302F.
30639         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30640         lib/uniwidth/width.c.
30641         * all generated files under lib/uni* and tests/uni*: Regenerate.
30642         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
30644 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30646         uniwbrk/u32-wordbreaks-tests: add conformance test
30647         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
30648         tests/uniwbrk/test-uc-wordbreaks.c,
30649         tests/uniwbrk/test-uc-wordbreaks.sh, and
30650         tests/uniwbrk/WordBreakTest.txt.
30651         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
30652         test-uc-wordbreaks to $(check_PROGRAMS), and define
30653         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
30654         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
30655         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
30657 2015-01-15  Daiki Ueno  <ueno@gnu.org>
30659         uniwbrk: ignore Extended/Format characters at BOL not BOS
30660         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
30661         characters if the previous character property is one of
30662         WBP_NEWLINE, WBP_CR, and WBP_LF.
30664 2015-01-11  Jim Meyering  <meyering@fb.com>
30666         test-strstr.c: avoid a trivial leak
30667         * tests/test-strstr.c (main): Free haystack.
30669         update-copyright: recognize groff's \(co marker
30670         * build-aux/update-copyright (circle_c_re): Also accept
30671         uses of \(co, as found in gzip.1.
30673 2015-01-08  Pádraig Brady  <P@draigBrady.com>
30675         maint.mk: fix compatibility with OS X nm
30676         * top/maint.mk (_gl_tight_scope): Use the -g option to
30677         show exported items rather than the -e option which is
30678         ignored on all platforms except OS X where it gives an error.
30679         Reported by Assaf Gordon.
30681 2015-01-07  KO Myung-Hun  <komh@chollian.net>
30683         localcharset: improve charset detection on OS/2
30684         Use system codepage when appropriate.  Map OS/2 codepages to
30685         GNU canonical charset names if possible.
30686         * lib/config.charset: Don't output aliases if "$os" is os2*.
30687         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
30688         result for OS/2.
30689         (locale_charset) [OS2]: Use system codepage if codeset is omitted
30690         from the locale name which is neither "C" nor "POSIX".
30692 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
30694         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
30695         This reverts the last patch but one, as it shouldn't be needed now
30696         that the typo is fixed.
30697         * lib/count-leading-zeros.h (count_leading_zeros_ll):
30698         * lib/count-trailing-zeros.h:
30699         * lib/count-one-bits.h:
30700         Go back to using 64-bit intrinsics.
30702         count-leading-zeros: fix pragma typos
30703         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
30704         Fix typos in declaration of intrinsics when _MSC_VER.
30706 2015-01-06  Pádraig Brady  <P@draigBrady.com>
30708         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
30709         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
30710         intrinsics in this case.
30711         * lib/count-trailing-zeros.h: Likewise.
30712         * lib/count-one-bits.h: Likewise.
30714 2015-01-06  Daiki Ueno  <ueno@gnu.org>
30716         uniname/uniname: update to Unicode 7.0.0
30717         To accommodate new characters added since Unicode 5.1.0, this
30718         changes the internal representation of codepoint ranges.
30719         Previously, we grouped codepoint ranges by manually assigned 4-bit
30720         tag, which only allowed 16 groups.  This removes the limitation by
30721         switching to binary search on a table.  For the detail rationale
30722         and the benchmark results, see:
30723         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
30724         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
30725         to INDEX, as it no longer represents a codepoint.
30726         (range): New struct.
30727         (main): Switch to intervals list from a bit-pattern based
30728         classification.
30729         * lib/uniname/uninames.h: Regenerate.
30730         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
30731         * modules/uniname/base (configure.ac): Bump minimum version to
30732         0.9.5.
30733         * modules/uniname/uniname (configure.ac): Bump minimum version to
30734         0.9.5.
30736 2015-01-05  Eric Blake  <eblake@redhat.com>
30738         doc: update INSTALL from autoconf
30739         * doc/install.texi: Resync from autoconf.
30740         * doc/INSTALL: Reflect recent autoconf update.
30741         * doc/INSTALL.ISO: Likewise.
30742         * doc/INSTALL.UTF-8: Likewise.
30744         stdio: fix use of PRIdMAX on modern mingw
30745         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
30746         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
30747         to work with modern mingw.
30749 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
30751         pthread: detect git mingw builds with only partial pollution
30752         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
30753         pollution, as seen temporarily in Fedora 21.
30755 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
30757         lib-symbol-versions: cache script check
30758         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
30759         Cache the check for linker version scripts.
30760         From a suggestion by Christophe Curis in:
30761         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
30763 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
30765         maint: fix grammar nits in propername (trivial change)
30766         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
30767         and use an adequate verb and tense.
30769 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
30771         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
30772         * module/gendocs: Add 'doc/gendocs_template_min'.
30774         * build-aux/gendocs.sh: Change email addresses and upstream URLs
30775         from to Gnulib's.
30776         (scripturl, templateurl): Adjust accordingly.
30778 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30780         gendocs: copyright date and version fix
30781         Reported by Karl Berry in:
30782         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
30783         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
30784         Fix copyright date.
30785         * build-aux/gendocs.sh (scriptversion): Update.
30787 2015-01-01  Karl Berry  <karl@gnu.org>
30789         * doc/install.texi,
30790         * build-aux/mdate-sh,
30791         * build-aux/depcomp,
30792         * build-aux/config.guess,
30793         * build-aux/config.sub,
30794         * build-aux/ar-lib,
30795         * build-aux/compile: revert copyright updates (some from last
30796         year) in slaved files.
30798 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30800         version-etc: new year
30801         * doc/gnulib.texi:
30802         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
30803         * all files: Run 'make update-copyright'.
30805 2014-12-30  Pádraig Brady  <P@draigBrady.com>
30807         xstrtol: ensure errno is reset
30808         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
30809         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
30811         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
30813 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
30815         utimens: fix dependency typo
30816         * modules/utimens (Depends-on): Remove 'assure'.
30817         This bug was introduced in the recent 'assure' patch.
30819 2014-12-22  Eric Blake  <eblake@redhat.com>
30821         docs: mention why libgen.h is bad
30822         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
30824 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
30826         assure: new module
30827         This works better than 'assert' when compiling with -DNDEBUG,
30828         as it avoids some compiler diagnostics in that case.
30829         Reported by Norihiro Tanaka in:
30830         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
30831         * MODULES.html.sh (func_all_modules): Add 'assure'.
30832         * lib/assure.h, modules/assure: New files.
30833         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
30834         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
30835         Prefer 'assure' to 'assert'.
30836         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
30837         * modules/chdir-long, modules/cycle-check, modules/fchdir:
30838         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
30839         Depend on 'assure'.
30841 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
30843         stdalign: port better to HP compilers
30844         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
30845         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
30847         stdalign: work around Apple GCC 4.0 bug
30848         Reported by David Fang in:
30849         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
30850         * lib/stdalign.in.h (_Alignas):
30851         * m4/stdalign.m4 (gl_STDALIGN_H):
30852         Do not use aligned attribute with GCC 4.0 on Apple.
30854 2014-12-16  Pádraig Brady  <P@draigBrady.com>
30856         getcwd: fix test failure on OS X 10.9
30857         * m4/getcwd-path-max.m4: Avoid the replacement if it
30858         won't be effective due to the PATH_MAX limitation of lstat().
30859         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
30860         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
30861         for this case for use in tests, and also exclude this
30862         case when setting REPLACE_GETCWD.
30863         * tests/test-getcwd.c (test_long_name): Restrict the
30864         tested path length so that lstat() will not be passed
30865         a path greater than PATH_MAX.
30866         Also key a test condition on HAVE_OPENAT_SUPPORT rather
30867         than AT_FDCWD, since the latter is set unconditionally
30868         since Sep 2009 in commit 52c658e9.
30870 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
30872         parse-datetime: avoid a compiler warning with byacc (trivial)
30873         * lib/parse-datetime.y (yylex): Use the same prototype in the
30874         function definition as the declaration, to avoid a -Wstrict-prototypes
30875         warning seen when using byacc.
30877 2014-12-12  Daiki Ueno  <ueno@gnu.org>
30879         unicase/locale-language-tests: fix LOCALE_FR test
30880         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
30881         a French locale with traditional encoding.
30882         Reported by umerqayam in:
30883         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
30885 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
30887         stddef: support C11's max_align_t
30888         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
30889         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
30890         Do not undef, as that might cause max_align_t to be defined twice.
30891         Instead, change use to check for _GL_STDDEF_WINT_T too.
30892         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
30893         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
30894         Check for max_align_t.
30895         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
30896         * modules/stddef-tests (Depends-on): Add stdalign.
30897         * tests/test-stddef.c: Test max_align_t.
30899 2014-12-11  Daiki Ueno  <ueno@gnu.org>
30901         unistd: fix iOS check conditional
30902         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
30903         as 0 or 1 in <TargetConditionals.h>, and the previous check always
30904         yielded true on non-iOS environment.
30905         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
30906         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
30907         they are defined.
30909 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
30911         posixtm: avoid compiler warning in a better way
30912         * lib/posixtm.c (IF_LINT): Remove.
30913         (year, posix_time_parse):
30914         Return true (not 0) if successful.  All callers changed.
30915         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
30917 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
30919         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
30920         started with '/' on EMX.
30922 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
30924         freopen: workaround freopen() on OS/2 kLIBC
30925         * lib/freopen.c (rpl_freopen): Workaround.
30926         * m4/freopen.m4: Add os2* case.
30928         get_shared_library_fullname: port to EMX
30929         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
30930         on EMX, respectively.
30931         (_DLL_InitTerm): New on EMX.
30932         (get_shared_library_fullname): Implement on EMX.
30934         find_executable: port to EMX
30935         * lib/progreloc.c (find_executable): Implement on EMX.
30937         sched: check struct sched_param in spawn.h as well
30938         * lib/sched.in.h: Include spawn.h on kLIBC.
30939         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
30941 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
30943         bootstrap: Allow perl modules in $buildreq
30944         * build-aux/bootstrap: Add case for perl modules.
30946 2014-12-08  Pádraig Brady  <P@draigBrady.com>
30948         apply _GL_ATTRIBUTE_PURE to some inline functions
30949         clang 3.4.2 flagged these inline functions as pure
30950         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
30951         * lib/sig-handler.h (get_handler): Likewise.
30952         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
30953         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
30955 2014-12-06  Pádraig Brady  <P@draigBrady.com>
30957         vasnprintf: fix potential use after free
30958         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
30959         flagged by clang-analyzer 3.4.2.
30961 2014-12-05  Pádraig Brady  <P@draigBrady.com>
30963         filevercmp, posixtm: avoid compiler warnings with -O3
30964         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
30965         * lib/posixtm.c: (IF_LINT): Define.
30966         (posix_time_parse): Use it to void a "may be used uninitialized"
30967         warning, seen only with -O3.
30969 2014-12-05  Bruno Haible  <bruno@clisp.org>
30971         Fix LDBL80_WORDS macro on big endian platforms.
30972         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
30973         LDBL80_WORDS macro.
30974         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30975         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30976         * tests/test-isfinite.c (test_isfinitel): Likewise.
30977         * tests/test-isinf.c (test_isinfl): Likewise.
30978         * tests/test-isnan.c (test_long_double): Likewise.
30979         * tests/test-isnanl.h (main): Likewise.
30980         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
30981         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
30982         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
30983         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
30984         Reported by Pádraig Brady.
30986 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
30988         git-version-gen: do not print new line characters
30989         * build-aux/git-version-gen: Use printf instead of echo and tr.
30991         gnulib-tool: recognize x:* as an absolute path
30992         * gnulib-tool (func_gnulib_dir): Add ?:* case.
30993         (func_relconcat): Likewise.
30995 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
30997         argp: avoid extraneous translation and mem leak with empty pre doc
30998         * lib/argp-help.c (argp_doc): Never translate the empty string,
30999         when "\v" is the first or last character of the string, as that
31000         has a reserved meaning to return the header info from a po file.
31001         This also fixes a small memory leak in the !post case.
31002         The issue can be seen with this command for example:
31003         LC_MESSAGES=en_US grub2-mknetdir --help
31005 2014-11-27  Daiki Ueno  <ueno@gnu.org>
31007         uniname/uniname-tests: skip if system's libunistring is used
31008         * modules/uniname/uniname-tests (Makefile.am): Skip test if
31009         uniname/uniname module is not compiled.
31011 2014-11-27  Pádraig Brady  <P@draigBrady.com>
31013         printf: fix configure check on big endian systems
31014         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
31016 2014-11-22  Daiki Ueno  <ueno@gnu.org>
31018         pipe-filter-gi, pipe-filter-ii: port to AIX
31019         On AIX 7.1, 'select' is defined as static and cannot be referred
31020         to from inline function.
31021         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
31022         the definition...
31023         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
31024         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
31026 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31028         gitlog-to-changelog: add --until
31029         * build-aux/gitlog-to-changelog: Support new --until option.
31030         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
31032 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31034         extern-inline: update commentary about GCC bugs
31035         * m4/extern-inline.m4: Add another GCC bug number to comments.
31037 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31039         gen-uni-tables: untabify
31040         * lib/gen-uni-tables.c: Untabify.
31042 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31044         gen-uni-tables: check out-of-range values added to 3-level tables
31045         * lib/gen-uni-tables.c (output_category, output_bidi_category)
31046         (output_joining_type, output_ident_category): Check out-of-range
31047         values added to 3-level tables.
31049 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31051         gen-uni-tables: utilize 'assert'
31052         * lib/gen-uni-tables.c: Include <assert.h>.
31053         (output_category, output_combclass, output_decimal_digit_test)
31054         (output_decimal_digit, output_digit_test, output_digit)
31055         (output_numeric, get_mirror_value, fill_properties)
31056         (fill_property30, is_property_alphabetic)
31057         (is_property_default_ignorable_code_point)
31058         (is_property_uppercase, is_property_lowercase)
31059         (is_property_cased, is_property_case_ignorable)
31060         (is_property_changes_when_lowercased, is_property_iso_control)
31061         (is_property_math, fill_arabicshaping, output_joining_group)
31062         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
31063         (output_wbp, fill_org_gbp, get_decomposition)
31064         (output_decomposition, fill_composition_exclusions)
31065         (debug_output_composition_tables, output_composition_tables)
31066         (redistribute_casefolding_rules, output_casing_rules): Use
31067         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
31068         reporting.
31070 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31072         gen-uni-tables: cosmetic improvements
31073         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
31074         variables specification.
31075         (is_outdigit): Remove unused function.
31077 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
31079         fcntl-h-tests: port to PA-RISC GNU/Linux
31080         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
31082 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
31084         fts: port to C89
31085         Problem reported for MSVC 16 by Gisle Vanem in:
31086         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
31087         * lib/fts.c (fts_build): Avoid declaration before statement.
31089 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31091         unistd: port to iOS
31092         Problem reported by André Klitzing in:
31093         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
31094         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
31096 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
31098         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
31099         Problem reported by Alan Modra in:
31100         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
31101         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
31102         Always cast the function arg, reverting this part of the previous
31103         change.
31105 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
31107         obstack: avoid potentially-nonportable function casts
31108         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
31109         Remove, replacing with ...
31110         (call_chunkfun, call_freefun): New static functions.
31111         All uses changed.  Avoid potentially-nonportable casts.
31112         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
31113         (_obstack_begin_worker): Omit last two args, since they
31114         rely on potentially-nonportable casts.  All callers changed.
31115         * lib/obstack.h (_OBSTACK_CAST): New macro.
31116         Use it everywhere the old API used a potentially-nonportable cast.
31117         The new API doesn't cast.
31118         (struct obstack): Use unions rather than requiring
31119         potentially-nonportable casts.
31120         (obstack_chunkfun, obstack_freefun): Return void.
31122 2014-11-03  Alan Modra  <amodra@gmail.com>
31124         obstack: fix macro return values
31125         * lib/obstack.h (obstack_next_free): Return void *.
31126         (obstack_1grow_fast, obstack_blank_fast): Return void.
31127         For __GNUC__ macros:
31128         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
31129         For !__GNUC__ macros:
31130         (obstack_make_room, obstack_grow, obstack_grow0)
31131         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
31133 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31135         obstack: do not assume system-supplied obstack is size_t safe
31136         * m4/obstack.m4: New file.
31137         * modules/obstack (Files): Add it.
31139         obstack: port to platforms that #define __alignof__
31140         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
31141         not if !_LIBC.  We don't know of any platforms that #define
31142         __alignof__, but it might be useful in tests.  Conversely,
31143         glibc assumes GCC.
31145 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31147         linkat: don't unconditionally replace on GNU/Linux
31148         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
31149         was redundant for a few reasons.  It was present to support compiling
31150         on new systems but running on the old narrow window of Linux 2.6.1[67].
31151         It setup and cleaned up test files which weren't actually used.
31152         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
31153         implicit in the following check.
31155 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31157         linkat: wrap to handle symlinks on OS X 10.10
31158         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
31159         but not usable because it doesn't support creating hardlinks
31160         to symlinks.  Therefore add a generic test for this capability
31161         and fallback to our emulation if linkat() fails with ENOTSUP.
31163 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
31165         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
31166         * doc/posix-functions/open.texi (open):
31167         * doc/posix-functions/openat.texi (openat):
31168         Document that these functions do not set errno to ELOOP when
31169         a symlink is opened with O_NOFOLLOW.
31171 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
31173         obstack: add NEWS entry for recent incompatible changes
31174         * NEWS: Describe recent changes.
31176 2014-10-30  Pádraig Brady  <P@draigBrady.com>
31178         mountlist: don't use libmount to decide on dummy/remote
31179         * lib/mountlist.c (read_file_system_list): Don't use the libmount
31180         routines to determine whether a file system is dummy or remote,
31181         as they're not currently compatible.  For example the remoteness
31182         is determined on file system type (for which the list seems incomplete),
31183         rather than simply checking for a ':' in the device name.
31184         Also libmount currently determines that 'tmpfs' is a dummy file system
31185         even though it has associated storage.
31187 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
31189         obstack: prefer __alignof__ to alignof
31190         This is for portability to pre-4.7 GCC when compiling glibc.
31191         See Joseph S. Myers in:
31192         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
31193         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
31194         New macro, defined by including and using <alignof.h>.
31195         (MAX): New macro.
31196         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
31197         Do not use enums as they are not portable to some broken compilers.
31198         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
31200         obstack: prefer alignof to calculating alignments by hand
31201         * lib/obstack.c: Include <stdalign.h>.
31202         (struct fooalign): Remove.
31203         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
31204         * modules/obstack (Depends-on): Add stdalign.
31206 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
31208         obstack: use size_t alignments and check for overflow
31209         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
31210         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
31211         * lib/obstack.h (struct obstack.alignment_mask):
31212         Use _OBSTACK_SIZE_T, not int, for alignments.
31213         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
31214         overflows, e.g., when adding the alignment.
31216 2014-10-29  Alan Modra  <amodra@gmail.com>
31218         obstack: 64-bit obstack support, part 3
31219         This finally enables full 64-bit obstack support.  The glibc
31220         shared library specific code is removed from obstack.c too, and
31221         the error handling code conditionally compiled under control of
31222         another macro, _OBSTACK_NO_ERROR_HANDLER.
31223         * lib/obstack.h: Include string.h earlier.
31224         (_OBSTACK_INTERFACE_VERSION): Define.
31225         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
31226         * lib/obstack.c: Don't include shlib-compat.h.
31227         (OBSTACK_INTERFACE_VERSION): Delete.
31228         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
31229         glibc code is compatible with version 2.  Don't include stdio.h for
31230         __GNU_LIBRARY.
31231         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
31232         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
31233         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
31234         glibc shared library specific source.
31236         obstack: 64-bit obstack support, part 2
31237         This gets us 4G obstack support, without changing ABI
31238         compatibility, apart from possibly introducing some
31239         signed/unsigned comparison warnings in code that uses obstack.h.
31240         a) Replace "int" size parameters, return values, and macro local vars
31241            with _OBSTACK_SIZE_T, an "unsigned int" for now.
31242         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
31243         c) Make all obstack macros checking available room use obstack_room.
31244            "next_free + desired > chunk_limit" may wrap the lhs for chunks
31245            allocated near the top of memory.
31246         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
31247         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
31248         in place of "int" size parameters, return values and local vars.
31249         (_CHUNK_SIZE_T): Define.
31250         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
31251         union use an _OBSTACK_SIZE_T integer type.
31252         For __GNUC__ versions of the following macros...
31253         (obstack_room): Rename local var.
31254         (obstack_make_room): Use obstack_room.
31255         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31256         obstack_int_grow, obstack_blank): Likewise.
31257         (obstack_finish): Use unsigned comparison when comparing aligned
31258         next_free against chunk_limit.
31259         (obstack_free): Cast OBJ to remove possible const qualifier.
31260         For !__GNUC__ versions of the following macros...
31261         (obstack_make_room): Use obstack_room.
31262         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31263         obstack_int_grow, obstack_blank): Likewise.
31264         (obstack_finish): Use unsigned comparision when comparing aligned
31265         next_free against chunk_limit.
31266         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
31267         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
31268         _OBSTACK_SIZE_T.
31269         (_obstack_begin, _obstack_begin_1): Likewise.
31270         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
31271         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
31273         obstack: 64-bit obstack support, part 1
31274         a) Correct calls to alloc function, to use a size_t arg.  "long" is
31275            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
31276            and "size_t" 64 bits.
31277         b) Consolidate _obstack_begin and _obstack_begin1 code.
31278         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
31279         use "size_t" rather than "long".
31280         (_obstack_begin, _obstack_begin1): Likewise.
31281         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
31282         obstack_chunkfun): Update alloc function casts.
31283         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
31284         (chunkfun_type, freefun_type): New typdefs.
31285         (_obstack_begin_worker): Split out from ..
31286         (_obstack_begin, _obstack_begin_1): ..here.
31288         obstack: tidy part 2
31289         a) Don't be concerned about "not polluting the namespace with stddef.h
31290            symbols" in obstack.h, since gnulib string.h includes stddef.h
31291            anyway, and it seems unlikely that anyone would care.
31292         b) Don't roll our own slow memcpy in _obstack_newchunk.
31293         c) Rename obstack_free to _obstack_free.  This makes the naming
31294            consistent with other obstack functions and obviates the need for
31295            __obstack_free.  Ancient obstack.c defined both obstack_free and
31296            _obstack_free.  We continue to do that for _LIBC via an alias.
31297         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
31298            is clever, but nowadays gcc warns on undefined macros.  You'll get
31299            an undefined macro warning if simulating an old gcc with -U__GNUC__
31300            -U__GNUC_MINOR__ -D__GNUC__=1.
31301         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
31302         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
31303         (__obstack_free): Delete, update refs.
31304         (_obstack_free): Rename from obstack_free.
31305         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
31306         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
31307         * lib/obstack.c: Don't include stddef.h.
31308         (COPYING_UNIT): Delete.
31309         (_obstack_begin): Formatting fix.
31310         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
31311         (_obstack_free): Rename from __obstack_free, update alias.  Move
31312         undef of obstack_free to where it is needed.
31314         obstack: tidy part 1
31315         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
31316            to me, and result in overlong lines after later patches.
31317         b) Move error handling code, to avoid a forward declaration and to
31318            simplify later patches in this series.
31319         * lib/obstack.h (struct obstack <temp>): Rename fields of union
31320         and update all uses.
31321         * lib/obstack.c: Include stdlib.h earlier.
31322         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
31323         in file.
31324         (print_and_abort): Remove now redundant forward declaration.
31326 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31328         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
31329         Without this change, in bleeding-edge fileutils Autoconf complains
31330         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
31331         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
31332         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
31333         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
31335 2014-10-24  Daiki Ueno  <ueno@gnu.org>
31337         iconv: avoid false detection of non-working iconv
31338         The INBUF arguments of iconv can be either 'const char **'
31339         or 'char **'.  If CC is g++, the difference causes a compile error
31340         and thus leads to a false detection of non-working iconv.
31341         Reported by Eli Zaretskii and Werner LEMBERG in:
31342         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
31343         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
31344         iconv.  Bump serial number.
31346 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31348         bootstrap: print more diagnostics for missing programs
31349         * build-aux/bootstrap: only suppress stderr when checking for
31350         alternative program names.  This supports programs issuing non
31351         standard error messages.
31353 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31355         bootstrap: only update the gnulib submodule
31356         * build-aux/bootstrap: Restrict the "submodule update" command
31357         to the gnulib path.
31359 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31361         symlinkat: port to AIX 7.1
31362         * doc/posix-functions/symlinkat.texi (symlinkat):
31363         Mention AIX porting problem.
31364         * lib/symlinkat.c: Always include errno.h.
31365         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
31366         * lib/unistd.in.h (symlinkat): Add replacement machinery.
31367         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
31368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
31369         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
31370         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
31371         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
31373         readlinkat: port to AIX 7.1
31374         * doc/posix-functions/readlink.texi (readlink):
31375         * doc/posix-functions/readlinkat.texi (readlinkat):
31376         Mention AIX porting problem.
31377         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
31378         New function.
31379         * lib/unistd.in.h (readlinkat): Add replacement machinery.
31380         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
31381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
31382         * modules/readlinkat (configure.ac): Also compile replacement
31383         if REPLACE_READLINKAT.
31384         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
31386 2014-10-12  Karl Berry  <karl@gnu.org>
31388         * doc/posix-functions/dirname.texi: remove spurious {.
31390 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
31392         basename, dirname: Improve documentation.
31393         * doc/posix-functions/basename.texi: Mention dirname module and
31394         base_name() function.
31395         * doc/posix-functions/dirname.texi: Mention dir_name() and
31396         mdir_name() functions.
31397         Suggested by Werner LEMBERG <wl@gnu.org>.
31399 2014-09-24  Jim Meyering  <meyering@fb.com>
31401         exclude: declare exclude_patopts static
31402         * lib/exclude.c (exclude_patopts): Declare static,
31403         to avoid triggering a -Wmissing-prototypes warning.
31404         The alternative (declaring it in the .h file) would
31405         require publicizing the private "struct patopts".
31407 2014-09-21  Werner Lemberg  <wl@gnu.org>
31409         dirname: support compilation with C++
31410         * lib/dirname.h: Add necessary C linkage declarations.
31412 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
31414         qsort_r: include <config.h>
31415         Problem reported by Tom G. Christensen in:
31416         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
31417         * lib/qsort.c [!_LIBC]: Include <config.h> first.
31419 2014-09-16  Dylan Cali  <calid1984@gmail.com>
31421         avltree-list: avoid compiler warnings (trivial)
31422         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31423         -Werror=suggest-attribute=pure.
31424         * lib/gl_array_list.c: Likewise.
31425         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
31426         declaration to avoid -Werror=missing-prototypes.  This is not added
31427         to a header as only exported for tests.  Add (void) to the
31428         check_invariants() call to indicate we're discarding the result
31429         in this context which avoids -Werror=unused-value.  Note we don't
31430         use ignore_value here to avoid a dependency as we know we'll not
31431         be adding __attribute__((warn_unused_result)) to check_invariants().
31432         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
31434 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
31436         qsort_r: new module, for GNU-style qsort_r
31437         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
31439 2014-09-15  Werner LEMBERG  <wl@gnu.org>
31441         strerror_r-posix: support compilation with C++
31442         * lib/strerror_r.c: Add necessary C linkage declarations.
31444 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
31446         fcntl-h: fix compilation with Intel C++ compiler (trivial)
31447         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
31449 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
31451         mountlist: use /proc/self/mountinfo when available
31452         Use libmount to propagate device IDs provided by Linux in
31453         /proc/self/mountinfo.  This will give more accurate output when
31454         using df in chroot'ed environments as the device IDs are not
31455         determined by stat() which may be inaccurate within the chroot.
31456         * lib/mountlist.c (read_file_system_list): Use the libmount routines
31457         from util-linux to parse "/proc/self/mountinfo" or fall back to
31458         standard getmntent() processing.
31459         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
31460         getmntent() is used, as is the case on GNU/Linux.
31462 2014-09-07  Eric Wong  <normalperson@yhbt.net>
31464         users.txt: add cmogstored
31465         cmogstored has used gnulib since the beginning in 2012 to support
31466         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
31468 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31470         Trivial change.
31471         * gnulib-tool: Use same options as build-aux/bootstrap to download
31472         PO files.
31474 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31476         Trivial change.
31477         * gnulib-tool: Fallback to wget when rsync of PO files fails.
31479 2014-09-04  Eric Blake  <eblake@redhat.com>
31481         maintainer-makefile: add syntax check for useless ';;'
31482         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
31484 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
31486         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
31487         Problem reported by Assaf Gordon in:
31488         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
31489         Apparently Ubuntu is doing some fancy link-time optimization
31490         that doesn't work with -lpthread but does work with -pthread.
31491         Work around the bug by preferring -pthread to -lpthread.
31492         * m4/pthread.m4 (gl_PTHREAD_CHECK):
31493         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
31494         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
31495         Treat -pthread like -lpthread.
31497 2014-09-04  Eric Blake  <eblake@redhat.com>
31499         error: drop spurious semicolon
31500         * lib/error.c (__error_at_line): Fix ';;'.
31502 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
31504         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
31505         * m4/gnulib-common.m4 (AC_C_RESTRICT):
31506         Override AC_C_RESTRICT unconditionally.
31507         Update from autoconf, incorporating:
31508         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
31509         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
31511 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31513         manywarnings: add GCC 4.9 warnings
31514         Also, make it easier to maintain this in the future.
31515         * build-aux/gcc-warning.spec: Add -Wabi-tag,
31516         -Wconditionally-supported, -Wdelete-incomplete,
31517         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
31518         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
31519         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
31520         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
31521         only for older GCC versions that need them.  Handle
31522         -Wnormalized=nfc specially, so that the 'comm' command used
31523         for maintenance doesn't get confused.
31525 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
31527         vasnprintf: fix bugs in width computation
31528         * lib/vasnprintf.c (VASNPRINTF):
31529         Rework previous change, which introduced a bug,
31530         to avoid the warning in a different way.
31531         Avoid undefined behavior if the width arg is less than -INT_MAX.
31532         Avoid unnecessary use of HAS_WIDTH local.
31534 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
31536         vasnprintf: Avoid signed/unsigned comparison warning.
31537         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
31538         compare end addr of generated string w/ maximum end addr.
31540 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
31542         parse-datetime: Avoid pointer difference.
31543         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
31544         instead of calculating difference of pointers.  This removes an
31545         annoying warning, devoid of any use.
31547 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31549         qsort_r: new module, for GNU-style qsort_r
31550         This works even on FreeBSD, which has an incompatible qsort_r API.
31551         * MODULES.html.sh: Add it.
31552         * doc/glibc-functions/qsort_r.texi: It's now supported.
31553         * lib/qsort.c: New file, taken from glibc with minor changes
31554         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
31555         removed.
31556         * lib/qsort_r.c: New file, compiled only on FreeBSD.
31557         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
31558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
31559         * modules/qsort_r, modules/qsort_r-tests: New files.
31560         * modules/stdlib (Makefile): Set up its defaults.
31561         * tests/test-qsort_r.c: New file.
31563 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
31565         vla: new module
31566         GNU RCS can use this, mostly for documentation I expect.  See:
31567         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
31568         * MODULES.html.sh: Add vla.
31569         * lib/vla.h, modules/vla: New files.
31571 2014-08-07  Daiki Ueno  <ueno@gnu.org>
31573         localename: make gl_locale_name_thread really thread-safe on Windows
31574         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
31575         "glthread/lock.h".
31576         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
31577         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
31579 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
31581         getpass: don't assume struct termios
31582         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
31583         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
31584         * lib/getpass.c (getpass): Port to systems lacking struct termios.
31586         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
31587         Problem reported by Jonas 'Sortie' Termansen in:
31588         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
31589         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
31590         Implement via sysconf for platforms that lack getdtablesize.
31592         vararrays: modernize AC_C_VARARRAYS for C11
31593         This backports a change I recently made to Autoconf.
31594         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
31595         VLAs are not supported, as this is what C11 does.  The old macro
31596         HAVE_C_VARARRAYS is still defined if they are supported, but is
31597         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
31599 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
31601         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
31602         * build-aux/install-reloc (func_create_wrapper): Also wrap
31603         strerror-override, stat, stat.
31605 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
31607         sys_select: fix FD_ZERO problem on Solaris 10
31608         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
31609         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
31610         to expand to an expression that invoked memset without necessarily
31611         including <string.h>.  The problem was that the first include
31612         defined _SYS_TIME_H, causing the second include to short-circuit.
31613         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
31614         Also, fix what appears to be a cut-and-paste typo, by replacing
31615         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
31616         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
31618         accept: document Solaris 10 type glitch
31619         * doc/posix-functions/accept.texi (accept): Mention that
31620         Solaris 10 'accept' takes void * last arg, not socklen_t *.
31622 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
31624         extern-inline: port to FreeBSD, DragonFly
31625         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
31626         is present if either __DragonFly__ or __FreeBSD__ is defined.
31627         FreeBSD problem reported by Andrey Borzenkov in:
31628         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
31629         Also, worry about __APPLE__ only if __MACH__ is also defined,
31630         as this is more consistent with the rest of gnulib.
31631         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
31632         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
31634 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
31636         regex: Make #if/#ifdef usage consistent for DEBUG
31637         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
31638         of the inconsistent usage of #if and #ifdef as that works with
31639         both Glibc and Gnulib's style.
31641 2014-07-31  Eric Blake  <eblake@redhat.com>
31643         openat-die: use _Noreturn markup
31644         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
31645         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
31646         _Noreturn.
31648 2014-07-30  Eric Blake  <eblake@redhat.com>
31650         test-open: port to cygwin, which lacks Fortify
31651         * tests/test-open.h (ALWAYS_INLINE): New macro.
31652         (__always_inline): Don't abuse internal symbol on non-glibc.
31654 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
31656         localename: Enforce declarations before statements.
31657         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
31658         first statement.
31660 2014-07-18  Jim Meyering  <meyering@fb.com>
31662         test-userspec: don't look up numeric user names
31663         * tests/test-userspec.c: I found a system for which getpwnam("0")
31664         returned a pointer to a non-root user's entry, and that made the
31665         test fail.
31666         (T): Prefix each numeric input with "+", to inhibit lookup.
31668 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
31670         localcharset, localename: MS-Windows support for non-default locales
31671         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
31672         falling back on the default system codepage, try extracting
31673         the codepage from what 'setlocale' returns.  This allows to
31674         take into account changes of the codeset due to non-default
31675         locale set by a previous call to 'setlocale'.
31676         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
31677         Define if not already defined.
31678         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
31679         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
31680         current locale by calling 'setlocale', then converting the
31681         locale name into LCID by calling 'get_lcid'.  This allows to
31682         take into account changes in the current locale from the
31683         default one, in contrast to GetThreadLocale.
31685 2014-07-14  Daiki Ueno  <ueno@gnu.org>
31687         announce-gen: avoid failure when Digest::SHA is installed
31688         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
31689         Digest::SHA1->new in print_checksums fails.
31690         * build-aux/announce-gen (digest_classes): New associative array
31691         for available message digest implementations.
31692         (print_locations): Use it.
31694 2014-07-13  Pádraig Brady  <P@draigBrady.com>
31696         gettext: revert "update macros to version 0.19"
31697         This reverts commit 9b9370ca, as it currently requires that
31698         developers of any project that explicitly uses the gettext module
31699         or implicitly uses it through the utimens-tests or
31700         futimens-tests modules, use gettext >= 0.19.
31701         However there are some stability and availablity issues with
31702         that version at present.  We can reinstate this soon, when stability
31703         is addressed and packages are more readily available.
31705 2014-07-12  Jim Meyering  <meyering@fb.com>
31707         regex: don't deref NULL upon heap allocation failure
31708         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
31709         failure in one more place.
31710         To trigger the segfault, configure grep -with-included-regex,
31711         build it, and run these commands:
31712         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
31713         I discovered this while replying to a private report from
31714         Jens Schleusener about excessive memory consumption by grep
31715         when using a regular expression like the one above.
31717 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
31719         regex: fix memory leak in compiler
31720         Fix by Andreas Schwab in:
31721         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
31722         * lib/regcomp.c (parse_reg_exp): Deallocate partially
31723         constructed tree before returning error.
31725 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
31727         announce-gen: avoid perl warnings
31728         * build-aux/announce-gen: add two minor checks to avoid
31729         "use of uninitialized value" warnings when command-line parameters are
31730         missing.
31732 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
31734         localename: avoid -Wsuggest-attribute={const,pure} warnings
31735         * lib/localename.c (string_has): Tag internal function as pure.
31736         * lib/localename.h (gl_locale_name_default): Tag extern declaration
31737         as const when appropriate.
31739 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
31741         nl_langinfo: Fix last change.
31742         * lib/nl_langinfo.c (includes): Drop redundant include.
31744 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
31746         error: Fix -Wundef warnings in glibc
31747         * lib/error.c [_LIBC]: Define default macros for
31748         glibc.
31749         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
31750         Check _LIBC before STRERROR_R_CHAR_P.
31752         error: Sync from glibc master
31753         * lib/error.c [_LIBC]: Remove INTUSE usage.
31754         (error_tail): Remove unused macro ALLOCA_LIMIT.
31755         Fix potential buffer overflow.  Fix potential NULL dereference
31756         in strcmp.
31758 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
31760         nl_langinfo: fix build under mingw
31761         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
31763 2014-07-09  Andrew D Warshall  <warshall@99main.com>
31765         mountlist: do not classify a bind-mounted dir entry as "dummy"
31766         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
31767         1-argument getmntent() (instead of assuming absence).
31769 2014-07-08  Eric Blake  <eblake@redhat.com>
31771         maint.mk: less syntax-check noise when SIGPIPE is ignored
31772         * top/maint.mk (_sc_header_without_use)
31773         (sc_require_config_h_first): Parse full list.
31775 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
31776             Paul Eggert  <eggert@cs.ucla.edu>
31778         nl_langinfo: CODESET on MS-Windows and more items from localeconv
31779         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
31780         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
31781         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
31782         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
31783         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
31784         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
31785         Include <stdio.h> if Microsoft Windows.
31786         Include <time.h> if !REPLACE_NL_LANGINFO.
31787         (ctype_codeset): New function, taken from rpl_nl_langinfo,
31788         and with improvements for Microsoft Windows.
31789         (rpl_nl_langinfo): Use it.
31790         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
31791         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
31792         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
31793         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
31794         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
31795         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
31796         corresponding values returned by 'localeconv'.  Compute the values
31797         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
31798         'strftime' with a suitable struct tm value.
31800 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
31802         Bruno Haible has stepped down as maintainer.
31803         See Karl Berry in:
31804         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
31805         Daiki Ueno has volunteered to maintain libunistring; see:
31806         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
31807         * modules/gen-uni-tables, modules/libunistring:
31808         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
31809         * modules/unicase/base, modules/unicase/cased:
31810         * modules/unicase/empty-prefix-context:
31811         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
31812         * modules/unicase/locale-language, modules/unicase/special-casing:
31813         * modules/unicase/tocasefold, modules/unicase/tolower:
31814         * modules/unicase/totitle, modules/unicase/toupper:
31815         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
31816         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
31817         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
31818         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
31819         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
31820         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
31821         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
31822         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
31823         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
31824         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
31825         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
31826         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
31827         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
31828         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
31829         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
31830         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
31831         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
31832         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
31833         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
31834         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
31835         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
31836         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
31837         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
31838         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
31839         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
31840         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
31841         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
31842         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
31843         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
31844         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
31845         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
31846         * modules/unicase/ulc-casexfrm, modules/unicodeio:
31847         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
31848         * modules/uniconv/u16-conv-to-enc:
31849         * modules/uniconv/u16-strconv-from-enc:
31850         * modules/uniconv/u16-strconv-from-locale:
31851         * modules/uniconv/u16-strconv-to-enc:
31852         * modules/uniconv/u16-strconv-to-locale:
31853         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
31854         * modules/uniconv/u32-strconv-from-enc:
31855         * modules/uniconv/u32-strconv-from-locale:
31856         * modules/uniconv/u32-strconv-to-enc:
31857         * modules/uniconv/u32-strconv-to-locale:
31858         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
31859         * modules/uniconv/u8-strconv-from-enc:
31860         * modules/uniconv/u8-strconv-from-locale:
31861         * modules/uniconv/u8-strconv-to-enc:
31862         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
31863         * modules/unictype/bidicategory-all:
31864         * modules/unictype/bidicategory-byname:
31865         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
31866         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
31867         * modules/unictype/bidiclass-byname:
31868         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
31869         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
31870         * modules/unictype/block-all, modules/unictype/block-list:
31871         * modules/unictype/block-of, modules/unictype/block-test:
31872         * modules/unictype/category-C, modules/unictype/category-Cc:
31873         * modules/unictype/category-Cf, modules/unictype/category-Cn:
31874         * modules/unictype/category-Co, modules/unictype/category-Cs:
31875         * modules/unictype/category-L, modules/unictype/category-LC:
31876         * modules/unictype/category-Ll, modules/unictype/category-Lm:
31877         * modules/unictype/category-Lo, modules/unictype/category-Lt:
31878         * modules/unictype/category-Lu, modules/unictype/category-M:
31879         * modules/unictype/category-Mc, modules/unictype/category-Me:
31880         * modules/unictype/category-Mn, modules/unictype/category-N:
31881         * modules/unictype/category-Nd, modules/unictype/category-Nl:
31882         * modules/unictype/category-No, modules/unictype/category-P:
31883         * modules/unictype/category-Pc, modules/unictype/category-Pd:
31884         * modules/unictype/category-Pe, modules/unictype/category-Pf:
31885         * modules/unictype/category-Pi, modules/unictype/category-Po:
31886         * modules/unictype/category-Ps, modules/unictype/category-S:
31887         * modules/unictype/category-Sc, modules/unictype/category-Sk:
31888         * modules/unictype/category-Sm, modules/unictype/category-So:
31889         * modules/unictype/category-Z, modules/unictype/category-Zl:
31890         * modules/unictype/category-Zp, modules/unictype/category-Zs:
31891         * modules/unictype/category-all, modules/unictype/category-and:
31892         * modules/unictype/category-and-not, modules/unictype/category-byname:
31893         * modules/unictype/category-longname, modules/unictype/category-name:
31894         * modules/unictype/category-none, modules/unictype/category-of:
31895         * modules/unictype/category-or, modules/unictype/category-test:
31896         * modules/unictype/category-test-withtable:
31897         * modules/unictype/combining-class:
31898         * modules/unictype/combining-class-all:
31899         * modules/unictype/combining-class-byname:
31900         * modules/unictype/combining-class-longname:
31901         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
31902         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
31903         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
31904         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
31905         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
31906         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
31907         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
31908         * modules/unictype/digit, modules/unictype/joininggroup-all:
31909         * modules/unictype/joininggroup-byname:
31910         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
31911         * modules/unictype/joiningtype-all:
31912         * modules/unictype/joiningtype-byname:
31913         * modules/unictype/joiningtype-longname:
31914         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
31915         * modules/unictype/mirror, modules/unictype/numeric:
31916         * modules/unictype/property-all, modules/unictype/property-alphabetic:
31917         * modules/unictype/property-ascii-hex-digit:
31918         * modules/unictype/property-bidi-arabic-digit:
31919         * modules/unictype/property-bidi-arabic-right-to-left:
31920         * modules/unictype/property-bidi-block-separator:
31921         * modules/unictype/property-bidi-boundary-neutral:
31922         * modules/unictype/property-bidi-common-separator:
31923         * modules/unictype/property-bidi-control:
31924         * modules/unictype/property-bidi-embedding-or-override:
31925         * modules/unictype/property-bidi-eur-num-separator:
31926         * modules/unictype/property-bidi-eur-num-terminator:
31927         * modules/unictype/property-bidi-european-digit:
31928         * modules/unictype/property-bidi-hebrew-right-to-left:
31929         * modules/unictype/property-bidi-left-to-right:
31930         * modules/unictype/property-bidi-non-spacing-mark:
31931         * modules/unictype/property-bidi-other-neutral:
31932         * modules/unictype/property-bidi-pdf:
31933         * modules/unictype/property-bidi-segment-separator:
31934         * modules/unictype/property-bidi-whitespace:
31935         * modules/unictype/property-byname:
31936         * modules/unictype/property-case-ignorable:
31937         * modules/unictype/property-cased:
31938         * modules/unictype/property-changes-when-casefolded:
31939         * modules/unictype/property-changes-when-casemapped:
31940         * modules/unictype/property-changes-when-lowercased:
31941         * modules/unictype/property-changes-when-titlecased:
31942         * modules/unictype/property-changes-when-uppercased:
31943         * modules/unictype/property-combining:
31944         * modules/unictype/property-composite:
31945         * modules/unictype/property-currency-symbol:
31946         * modules/unictype/property-dash:
31947         * modules/unictype/property-decimal-digit:
31948         * modules/unictype/property-default-ignorable-code-point:
31949         * modules/unictype/property-deprecated:
31950         * modules/unictype/property-diacritic:
31951         * modules/unictype/property-extender:
31952         * modules/unictype/property-format-control:
31953         * modules/unictype/property-grapheme-base:
31954         * modules/unictype/property-grapheme-extend:
31955         * modules/unictype/property-grapheme-link:
31956         * modules/unictype/property-hex-digit:
31957         * modules/unictype/property-hyphen:
31958         * modules/unictype/property-id-continue:
31959         * modules/unictype/property-id-start:
31960         * modules/unictype/property-ideographic:
31961         * modules/unictype/property-ids-binary-operator:
31962         * modules/unictype/property-ids-trinary-operator:
31963         * modules/unictype/property-ignorable-control:
31964         * modules/unictype/property-iso-control:
31965         * modules/unictype/property-join-control:
31966         * modules/unictype/property-left-of-pair:
31967         * modules/unictype/property-line-separator:
31968         * modules/unictype/property-logical-order-exception:
31969         * modules/unictype/property-lowercase, modules/unictype/property-math:
31970         * modules/unictype/property-non-break:
31971         * modules/unictype/property-not-a-character:
31972         * modules/unictype/property-numeric:
31973         * modules/unictype/property-other-alphabetic:
31974         * modules/unictype/property-other-default-ignorable-code-point:
31975         * modules/unictype/property-other-grapheme-extend:
31976         * modules/unictype/property-other-id-continue:
31977         * modules/unictype/property-other-id-start:
31978         * modules/unictype/property-other-lowercase:
31979         * modules/unictype/property-other-math:
31980         * modules/unictype/property-other-uppercase:
31981         * modules/unictype/property-paired-punctuation:
31982         * modules/unictype/property-paragraph-separator:
31983         * modules/unictype/property-pattern-syntax:
31984         * modules/unictype/property-pattern-white-space:
31985         * modules/unictype/property-private-use:
31986         * modules/unictype/property-punctuation:
31987         * modules/unictype/property-quotation-mark:
31988         * modules/unictype/property-radical:
31989         * modules/unictype/property-sentence-terminal:
31990         * modules/unictype/property-soft-dotted:
31991         * modules/unictype/property-space:
31992         * modules/unictype/property-terminal-punctuation:
31993         * modules/unictype/property-test, modules/unictype/property-titlecase:
31994         * modules/unictype/property-unassigned-code-value:
31995         * modules/unictype/property-unified-ideograph:
31996         * modules/unictype/property-uppercase:
31997         * modules/unictype/property-variation-selector:
31998         * modules/unictype/property-white-space:
31999         * modules/unictype/property-xid-continue:
32000         * modules/unictype/property-xid-start:
32001         * modules/unictype/property-zero-width, modules/unictype/scripts:
32002         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
32003         * modules/unictype/syntax-c-whitespace:
32004         * modules/unictype/syntax-java-ident:
32005         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
32006         * modules/unigbrk/u16-grapheme-breaks:
32007         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
32008         * modules/unigbrk/u32-grapheme-breaks:
32009         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
32010         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
32011         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
32012         * modules/unigbrk/uc-is-grapheme-break:
32013         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
32014         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
32015         * modules/unilbrk/u16-width-linebreaks:
32016         * modules/unilbrk/u32-possible-linebreaks:
32017         * modules/unilbrk/u32-width-linebreaks:
32018         * modules/unilbrk/u8-possible-linebreaks:
32019         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
32020         * modules/unilbrk/ulc-possible-linebreaks:
32021         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
32022         * modules/uniname/uniname, modules/uninorm/base:
32023         * modules/uninorm/canonical-decomposition:
32024         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
32025         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
32026         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
32027         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
32028         * modules/uninorm/nfkc, modules/uninorm/nfkd:
32029         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
32030         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
32031         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
32032         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
32033         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
32034         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
32035         * modules/unistdio/base, modules/unistdio/u-printf-args:
32036         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
32037         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
32038         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
32039         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
32040         * modules/unistdio/u16-u16-sprintf:
32041         * modules/unistdio/u16-u16-vasnprintf:
32042         * modules/unistdio/u16-u16-vasprintf:
32043         * modules/unistdio/u16-u16-vsnprintf:
32044         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
32045         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
32046         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
32047         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
32048         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
32049         * modules/unistdio/u32-u32-asnprintf:
32050         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
32051         * modules/unistdio/u32-u32-sprintf:
32052         * modules/unistdio/u32-u32-vasnprintf:
32053         * modules/unistdio/u32-u32-vasprintf:
32054         * modules/unistdio/u32-u32-vsnprintf:
32055         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
32056         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
32057         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
32058         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
32059         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
32060         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
32061         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
32062         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
32063         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
32064         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
32065         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
32066         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
32067         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
32068         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
32069         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
32070         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
32071         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
32072         * modules/unistr/u16-check, modules/unistr/u16-chr:
32073         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
32074         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
32075         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
32076         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
32077         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
32078         * modules/unistr/u16-move, modules/unistr/u16-next:
32079         * modules/unistr/u16-prev, modules/unistr/u16-set:
32080         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
32081         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
32082         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
32083         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
32084         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
32085         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
32086         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
32087         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
32088         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
32089         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
32090         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
32091         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
32092         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
32093         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
32094         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
32095         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
32096         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
32097         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
32098         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
32099         * modules/unistr/u32-next, modules/unistr/u32-prev:
32100         * modules/unistr/u32-set, modules/unistr/u32-startswith:
32101         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
32102         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
32103         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
32104         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
32105         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
32106         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
32107         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
32108         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
32109         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
32110         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
32111         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
32112         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
32113         * modules/unistr/u8-check, modules/unistr/u8-chr:
32114         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
32115         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
32116         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
32117         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
32118         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
32119         * modules/unistr/u8-next, modules/unistr/u8-prev:
32120         * modules/unistr/u8-set, modules/unistr/u8-startswith:
32121         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
32122         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
32123         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
32124         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
32125         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
32126         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
32127         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
32128         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
32129         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
32130         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
32131         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
32132         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
32133         * modules/uniwbrk/base, modules/uniwbrk/table:
32134         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
32135         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
32136         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
32137         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
32138         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
32139         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
32140         * modules/uniwidth/width, modules/utf16-ucs4:
32141         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
32142         * modules/utf8-ucs4-unsafe:
32143         Change maintainer from Bruno Haible to Daiki Ueno.
32144         This is my guess at the libunistring modules; please feel free
32145         to fix if I guessed incorrectly.
32146         * modules/accept4, modules/acl, modules/acos, modules/acosf:
32147         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
32148         * modules/areadlink, modules/array-list, modules/array-mergesort:
32149         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
32150         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
32151         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
32152         * modules/binary-io, modules/bison-i18n, modules/btowc:
32153         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
32154         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
32155         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
32156         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
32157         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
32158         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
32159         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
32160         * modules/closedir, modules/concat-filename, modules/copy-file:
32161         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
32162         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
32163         * modules/csharpcomp-script, modules/csharpexec:
32164         * modules/csharpexec-script, modules/ctype, modules/diffseq:
32165         * modules/dprintf, modules/dprintf-posix, modules/dup:
32166         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
32167         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
32168         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
32169         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
32170         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
32171         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
32172         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
32173         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
32174         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
32175         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
32176         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
32177         * modules/findprog, modules/findprog-lgpl, modules/floor:
32178         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
32179         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
32180         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
32181         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
32182         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
32183         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
32184         * modules/freadable, modules/freadahead, modules/freadptr:
32185         * modules/freadseek, modules/freopen, modules/frexp:
32186         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
32187         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
32188         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
32189         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
32190         * modules/ftello, modules/full-read, modules/full-write:
32191         * modules/fwritable, modules/fwriteerror, modules/gcd:
32192         * modules/get-rusage-as, modules/get-rusage-data:
32193         * modules/getdtablesize, modules/getrusage, modules/gettext:
32194         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
32195         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
32196         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
32197         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
32198         * modules/iconv, modules/iconv-h, modules/iconv_open:
32199         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
32200         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
32201         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
32202         * modules/integer_length_ll, modules/ioctl, modules/isatty:
32203         * modules/isblank, modules/isnand, modules/isnand-nolibm:
32204         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
32205         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
32206         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
32207         * modules/javaexec, modules/javaexec-script, modules/javaversion:
32208         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
32209         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
32210         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
32211         * modules/lib-symbol-visibility, modules/libsigsegv:
32212         * modules/linked-list, modules/linkedhash-list, modules/list:
32213         * modules/localcharset, modules/locale, modules/localeconv:
32214         * modules/localename, modules/lock, modules/log, modules/log-ieee:
32215         * modules/log10, modules/log10-ieee, modules/log10f:
32216         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
32217         * modules/log1p, modules/log1p-ieee, modules/log1pf:
32218         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
32219         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
32220         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
32221         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
32222         * modules/logf, modules/logf-ieee, modules/login_tty:
32223         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
32224         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
32225         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
32226         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
32227         * modules/mbscspn, modules/mbsinit, modules/mbslen:
32228         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
32229         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
32230         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
32231         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
32232         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
32233         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
32234         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
32235         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
32236         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
32237         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
32238         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
32239         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
32240         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
32241         * modules/posix_spawn, modules/posix_spawn-internal:
32242         * modules/posix_spawn_file_actions_addclose:
32243         * modules/posix_spawn_file_actions_adddup2:
32244         * modules/posix_spawn_file_actions_addopen:
32245         * modules/posix_spawn_file_actions_destroy:
32246         * modules/posix_spawn_file_actions_init:
32247         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
32248         * modules/posix_spawnattr_getpgroup:
32249         * modules/posix_spawnattr_getschedparam:
32250         * modules/posix_spawnattr_getschedpolicy:
32251         * modules/posix_spawnattr_getsigdefault:
32252         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
32253         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
32254         * modules/posix_spawnattr_setschedparam:
32255         * modules/posix_spawnattr_setschedpolicy:
32256         * modules/posix_spawnattr_setsigdefault:
32257         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
32258         * modules/pow, modules/powf, modules/printf-frexp:
32259         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
32260         * modules/progname, modules/propername, modules/pselect:
32261         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
32262         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
32263         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
32264         * modules/read, modules/readdir, modules/readlink:
32265         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
32266         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
32267         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
32268         * modules/relocatable-script, modules/remainder:
32269         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
32270         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
32271         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
32272         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
32273         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
32274         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
32275         * modules/setlocale, modules/sh-quote, modules/shutdown:
32276         * modules/signal, modules/signbit, modules/sigpipe:
32277         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
32278         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
32279         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
32280         * modules/snippet/link-warning, modules/snippet/unused-parameter:
32281         * modules/snprintf, modules/snprintf-posix, modules/spawn:
32282         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
32283         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
32284         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
32285         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
32286         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
32287         * modules/streq, modules/strerror_r-posix, modules/striconv:
32288         * modules/striconveh, modules/striconveha, modules/strncat:
32289         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
32290         * modules/sublist, modules/sys_resource, modules/sys_utsname:
32291         * modules/sys_wait, modules/system-posix, modules/system-quote:
32292         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
32293         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
32294         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
32295         * modules/truncf, modules/truncf-ieee, modules/truncl:
32296         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
32297         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
32298         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
32299         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
32300         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
32301         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
32302         * modules/wait-process, modules/waitpid, modules/wcpcpy:
32303         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
32304         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
32305         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
32306         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
32307         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
32308         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
32309         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
32310         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
32311         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
32312         * modules/write, modules/xconcat-filename, modules/xlist:
32313         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
32314         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
32315         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
32316         * modules/y0, modules/y1, modules/yn:
32317         Remove Bruno Haible as maintainer; if he's the sole maintainer,
32318         change the maintainer to 'all'.  Let's hope someone volunteers.
32320 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
32322         mktime: merge #if/#ifdef usage from glibc
32323         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
32324         as that works with both Glibc's and Gnulib's style.
32325         See thread starting at Siddhesh Poyarekar's bug report at:
32326         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
32328 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
32330         git-version-gen: improve option descriptions
32331         * build-aux/git-version-gen: Mention that --prefix and --fallback
32332         have a mandatory argument.
32334 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
32336         regex: fix memory leak in compiler
32337         Fix by Andreas Schwab in:
32338         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
32339         * lib/regcomp.c (parse_expression): Deallocate partially
32340         constructed tree before returning error.
32342         regex: merge patch from libc
32343         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
32344         Combine __USE_BSD and __USE_SVID into __USE_MISC.
32345         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
32347 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
32349         acl: port to gcc -Wredundant-decls
32350         From a request by Dmitry Antipov in:
32351         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
32352         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
32353         "#ifndef _GL_ACL_H".
32355 2014-06-11  Bruce Korb  <bkorb@gnu.org>
32356         Jim Meyering  <meyering@fb.com>
32358         parse-duration: eliminate 68-year duration limit
32359         * lib/parse-duration.c: Include "intprops.h".
32360         (TIME_MAX): Rename to MAX_DURATION and define to
32361         TYPE_MAXIMUM(time_t).
32362         * modules/parse-duration (Depends-on): Add intprops.
32363         Reported by Jonas 'Sortie' Termansen.
32365 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32367         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
32368         * modules/pthread (Depends-on): Add 'extensions', as it defines
32369         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
32370         (configure.ac-early): New section.
32371         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
32372         it is no longer needed.
32374 2014-06-14  Pádraig Brady  <P@draigBrady.com>
32376         pthread: define thread-safe macros on some platforms
32377         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
32378         for thread-safe operation on some platforms.
32380 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
32382         regex: don't be multithreaded if USE_UNLOCKED_IO.
32383         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
32384         * lib/regex_internal.h: Do not use multithreaded version if
32385         USE_UNLOCKED_IO is defined.  This is a hack, but it works
32386         around a porting bug with coreutils 8.22 on AIX 7.1.
32388 2014-06-11  Daiki Ueno  <ueno@gnu.org>
32390         gettext: update macros to version 0.19
32391         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
32392         depend on gl_EXTERN_INLINE and drop support for older Bison
32393         versions.
32395 2014-06-10  Pádraig Brady  <P@draigBrady.com>
32397         select,poll: fix console handle check on windows 8
32398         lib/poll.c (IsConsoleHandle): Change from testing the lower
32399         2 bits of the handle to the more expensive but accurate syscall.
32400         lib/select.c: Likewise.
32402 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32404         select: fix waiting on anonymous pipes on MS-Windows
32405         * lib/select.c (rpl_select): Fall back to polling when select()
32406         indicates there is nothing to check, while due to the timeout not
32407         expiring, activity is indicated on one of the handles.
32408         Also clear the TIMEOUT argument if the timer does expire.
32410 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32412         times: fix to return non constant value on MS-Windows
32413         * lib/times.c (times): Don't use the process creation time,
32414         rather clock() which on windows returns the number of
32415         clock ticks since the process started.
32417 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
32419         isatty: fix to work on windows 8
32420         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
32421         2 bits of the handle to the more expensive but accurate syscall.
32423 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
32425         maint: fix typo in fdl.texi
32426         * doc/fdl.texi: Fix typo (missing '@').
32427         Somehow this was in fdl.texi but not fdl-1.3.texi.
32429 2014-06-06  Ben Walton  <bdwalton@gmail.com>
32431         mountlist: avoid hasmntopt const type warning on solaris
32432         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
32433         with char * instead of const char *.  Passing the constant string
32434         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
32435         to avoid the warning.
32437 2014-06-04  Eric Blake  <eblake@redhat.com>
32439         maintainer-makefile: delete obsolete code
32440         * top/maint.mk (build_aux): Drop old code, as threatened.
32442         maintainer-makefile: avoid spurious error messages
32443         * top/maint.mk (syntax-check): Guard definition and use of
32444         $(shell) by whether Makefile is present.
32446 2014-06-03  Ben Walton  <bdwalton@gmail.com>
32448         rename: avoid unused-but-set-variable compiler warning
32449         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
32450         it is possible that dst_exists may be set but not used.  Mark it with
32451         the unused attribute to avoid compiler warnings.
32453 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32455         rename: mark a label as potentially unused
32456         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
32457         by marking the out label as potentially unused.
32458         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
32460 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
32462         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
32463         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
32465 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32467         acl: apply pure attribute to two functions
32468         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
32469         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
32471 2014-06-01  Pádraig Brady  <P@draigBrady.com>
32473         gnulib-common.m4: add _GL_UNUSED_LABEL
32474         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
32475         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
32477 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
32479         dup2, fcntl, fcntl-h: port to AIX 7.1
32480         This fixes some porting problems discovered when testing the latest
32481         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
32482         in grep but it could be important for other applications.
32483         * doc/posix-functions/dup2.texi:
32484         * doc/posix-functions/fcntl.texi:
32485         * doc/posix-headers/fcntl.texi:
32486         Document AIX bugs.
32487         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
32488         Define to 0 if outside 'int' range.
32489         * m4/dup2.m4 (gl_FUNC_DUP2):
32490         * m4/fcntl.m4 (gl_FUNC_FCNTL):
32491         Check for getdtablesize.  If it's available, test a value just
32492         outside its range instead of testing 1000000.  When cross-compiling,
32493         guess that AIX will fail this improved test.
32495 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
32497         printf, config.rpath: Port to FreeBSD 10.
32498         Problem reported by Tijl Coosemans in:
32499         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
32500         * build-aux/config.rpath (hardcode_libdir_flag_spec)
32501         (hardcode_direct): Simplify FreeBSD configuration.
32502         (library_names_spec): Don't mishandle FreeBSD 10+.
32503         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
32504         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
32505         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
32506         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
32507         Don't mishandle FreeBSD 10+ when cross-compiling.
32509         ftoastr: work around compiler bug in IBM xlc 12.1
32510         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
32511         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
32512         around a compiler bug in IBM xlc 12.1.0.0: it complains
32513         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
32514         _GL_FLT_PREC_BOUND.'
32516 2014-05-30  Kieran Colford  <colfordk@gmail.com>
32518         valgrind-tests: fixed misleading help message
32519         * m4/valgrind-tests.m4: The help message generated by configure
32520         implied that valgrind was disabled by default, which it wasn't.
32521         Adjusted the help message using s/enable/disable/ to clarify.
32523 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
32525         isfinite, isinf, isnan tests: fix for little-endian PowerPC
32526         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
32527         first double of a PowerPC "double double" pair.
32528         * tests/test-isinf.c (test_isinfl): Likewise.
32529         * tests/test-isnan.c (test_long_double): Likewise.
32530         * tests/test-isnanl.h (main): Likewise.
32531         * tests/test-signbit.c (test_signbitl): Likewise.
32533 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
32535         exclude-tests: port to AIX 7.1
32536         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
32537         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
32538         the regex code uses locks.
32540 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
32542         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
32543         Without this fix, Emacs would sometimes call sigprocmask instead
32544         of pthread_sigmask, which is a no-no in multithreaded applications.
32545         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
32546         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32547         Suppress check for pthread_sigmask working without -lpthread if
32548         the application always links with -lpthread.  Do not link with
32549         $LIBMULTITHREAD if gl_THREADLIB is not defined.
32550         * m4/timer_time.m4 (gl_TIMER_TIME):
32551         Require gl_THREADLIB only if it is defined.  Do not append
32552         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
32554 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
32556         gnulib-tool: wget translations using --no-verbose rather than --quiet
32557         This allows the user to see error messages if any (--quiet hides them)
32558         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
32560 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
32562         gnulib-tool: adjust translation wget to avoid a https redirection
32563         Context: http://translationproject.org/latest/gnulib redirects to
32564            https://translationproject.org/latest/gnulib/
32565         Rationale: if the user falls back to wget, she doesn't have rsync and
32566         is probably in a minimal build environment, where packages such as
32567         'ca-certificates' are missing as well, resulting in a failed (and
32568         difficult to detect since ignored) translation initial fetch.
32569         Consequently let's avoid https if possible, and add the missing
32570         trailing slash.  This also avoids an unnecessary 302 redirection.
32571         * gnulib-tool: Add trailing slash to gnulib URL.
32573 2014-05-22  Pádraig Brady  <P@draigBrady.com>
32575         getlogin_r-tests: check return value rather than errno
32576         * tests/test-getlogin_r.c (main): As per POSIX we should be
32577         verifying the return value from getlogin_r() rather than errno.
32579 2014-05-22  Pádraig Brady  <P@draigBrady.com>
32581         getlogin_r-tests: fix various issues in recent change
32582         * tests/test-getlogin_r.c: Include required headers that were
32583         missed in recent commit eec20b4e.
32584         Also consistently check the errno rather than the return value from
32585         getlogin_r as POSIX only specifies that non zero is returned on error.
32586         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
32588 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
32590         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
32591         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
32592         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
32593         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
32594         * lib/spawn-pipe.c:
32595         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
32596         and then 'int open64(const char *, int, ...);', which means the
32597         declaration for 'open' gets lost if we later '#undef open'.
32598         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
32599         where the compilation reported the non-fatal error "In function
32600         'openat_proc_name' ... warning: implicit declaration of function
32601         'open'".  In this case the error is relatively harmless, but in
32602         other cases it might not be so minor.
32604 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
32606         xalloc: don't potentially generate invalid code for xmemdup calls
32607         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
32608         this function can initialize the newly-allocated storage with new
32609         pointers, which means this function is not malloc-like.  See:
32610         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
32612 2014-05-19  Pádraig Brady  <P@draigBrady.com>
32614         getlogin_r-tests: avoid false failure under sudo/ssh etc.
32615         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
32616         changes from commit 97249cf29 to not depend on environment variables.
32618 2014-05-18  Pádraig Brady  <P@draigBrady.com>
32620         getlogin-tests: avoid false failure under cron
32621         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
32622         since that's not what's under test.  Centos 6 was seen to return
32623         EINVAL for ttyname() when run from cron.
32625 2014-05-16  Jim Meyering  <meyering@fb.com>
32627         mbrtowc.m4: fix a comment typo
32628         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
32629         emitted documentation string.
32631 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
32633         mbrlen, mbrtowc: fix bug with empty input
32634         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
32635         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
32636         so this is mainly for documentation.
32637         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
32638         (gl_FUNC_MBRTOWC): Use it.
32639         * tests/test-mbrtowc.c (main): Test for the bug.
32641 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
32643         doc: document mbrtowc and mbrlen problem with empty input
32644         * doc/posix-functions/mbrlen.texi (mbrlen):
32645         * doc/posix-functions/mbrtowc.texi (mbrtowc):
32646         Document portability problem when the input string is empty.  See:
32647         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
32649         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
32650         Problem reported by Eli Zaretskii in:
32651         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
32652         * doc/posix-functions/execl.texi (execl):
32653         * doc/posix-functions/execle.texi (execle):
32654         * doc/posix-functions/execlp.texi (execlp):
32655         * doc/posix-functions/execv.texi (execv):
32656         * doc/posix-functions/execve.texi (execve):
32657         * doc/posix-functions/execvp.texi (execvp):
32658         Mention spawn+exit problem on non-Cygwin Windows platforms.
32660 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
32662         getlogin-tests: avoid false failure under sudo/ssh etc.
32663         * modules/getlogin-tests (configure.ac): Check for ttyname().
32664         * tests/test-getlogin.c (main): Don't depend on environment variables
32665         to correlate with getlogin(), since sudo and ssh etc. can tamper
32666         with the LOGNAME and USER env vars.  Instead lookup the name from
32667         the uid associated with the stdin tty.
32669 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
32671         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
32672         These were found when building the latest grep snapshot on IRIX 6.5.
32673         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
32674         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
32675         never used later.
32676         * lib/quotearg.c (quoting_options_from_style):
32677         * lib/xstrtol.c (__xstrtol):
32678         Use enum instead of 0, to pacify IRIX 6.5 cc.
32680 2014-04-18  Pádraig Brady  <P@draigBrady.com>
32682         gitlog-to-changelog: revert inclusion of git-log-fix file
32683         * build-aux/git-log-fix: Delete dummy file.
32684         * modules/gitlog-to-changelog: Don't reference (overwrite)
32685         the project specific git-log-fix file.
32687 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
32689         maint.mk: Relax the copyright check to cater for non FSF projects
32690         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
32691         to not require the "Free" suffix after the copyright years.
32693 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
32695         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
32696         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
32697         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
32698         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
32699         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
32701 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
32703         exclude: port to strict C99
32704         Strict C does not allow converting a function pointer to void *
32705         and vice versa.  Pass a pointer to a function pointer instead.
32706         * lib/exclude.c (add_exclude_file):
32707         Pass the address of the function pointer.
32708         (call_addfn): And deference the address here, to match.
32710 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
32712         regex: do not depend on malloc-gnu
32713         * modules/regex (Depends-on): Remove malloc-gnu.
32714         It's no longer needed, because of the 2012-12-29 patch
32715         "regex: port to hosts where malloc (0) == NULL".
32716         Reported by Nathan Kennedy in:
32717         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
32719 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
32721         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
32722         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
32723         * doc/posix-functions/expl.texi: Mention the workaround.
32725 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
32727         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
32728         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
32729         size to be zero even when the pointer is nonnull.  This
32730         accommodates the use case where P is malloc (0) and *PN is 0 on a
32731         host where malloc (0) yields nonnull.
32733 2014-04-09  Eric Blake  <eblake@redhat.com>
32735         fts: avoid unnecessary strlen calls
32736         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
32738 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
32740         fts: avoid unnecessary strlen calls
32741         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
32742         when that can be faster than strlen.
32744 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32746         fts: avoid unnecessary strlen calls
32747         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
32748         (fts_build): Store the length of the dp->d_name entry in a local variable
32749         instead of calling strlen() several times via the above, removed macro.
32750         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
32751         run by ~4%, yet this reduces the execution time by about a third if run
32752         via "ltrace -c rm -rf some-dir".
32754 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32756         obstack: Remove ancient NeXTSTEP gcc support conditional
32757         This change will ease merging with glibc.  The "#if ... __NEXT__"
32758         causes a warning with -Wundef which glibc now enables by default.
32759         Problem reported by Will Newton in
32760         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
32761         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
32762         so go with that.
32763         * lib/obstack.h (__extension__):
32765 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32767         obstack: merge with glibc changes
32768         * lib/obstack.c, lib/obstack.h: Merge from glibc.
32769         This is mostly indenting and commentary changes.
32770         Instances of 'register' have been removed.
32772 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32774         strftime: wrap macros in "do {...} while(0)"
32775         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
32776         this macro in "do {...} while(0)" to prevent false use as a
32777         single statement, e.g., in an un-braced "{}" else-block.
32778         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
32779         (strftime_case_): Remove 'else' after 'goto' - which was the
32780         only non-fatal, un-braced use of one of the above macros.
32781         Spotted by coverity (NESTING_INDENT_MISMATCH).
32783 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
32785         modechange: avoid memory leaks for invalid octal modes
32786         * lib/modechange.c (mode_compile): During the parsing of
32787         notations like +40, free the 'mc' buffer for invalid mode
32788         strings like +17777 (greater than the maximum octal mode),
32789         =18 (bad octal mode characters) or u=1 ('affected' with
32790         octal modes).
32791         Reproducer, e.g.:
32792             $ valgrind --leak-check=full chmod +17777 file
32793         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
32794         add notations +40, 00440, etc.".
32795         Spotted by coverity (RESOURCE_LEAK).
32797 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
32799         gitlog-to-changelog: include a dummy git-log-fix file
32800         Problem reported by Nathan Stratton Treadway in:
32801         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
32802         * build-aux/git-log-fix: New file.
32804 2014-03-13  Jim Meyering  <meyering@fb.com>
32806         gitlog-to-changelog: also include the file, git-log-fix
32807         * modules/gitlog-to-changelog (Files): Add git-log-fix.
32808         Reported by Assaf Gordon.
32810 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
32812         regex: port to OS X 10.8.5 en_US.UTF-8 locale
32813         This fixes a bug when ignoring case and when comparing the
32814         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
32815         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
32816         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
32817         titlecase letter is neither lowercase nor uppercase, but
32818         uppercasing the titlecase letter (via towupper) yields the
32819         uppercase letter, so the two letters should match when ignoring case.
32820         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
32821         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
32822         Don't test whether a character is lowercase before uppercasing it.
32824 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
32826         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
32827         This is basically one of the options Bruno Haible proposed in:
32828         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
32829         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
32830         * lib/stdint.in.h: Use it.
32831         * modules/stdint (Depends-on): Add sys_types.
32833 2014-02-26  Pádraig Brady  <P@draigBrady.com>
32835         parse-datetime: fix crash or infloop in TZ="" parsing
32836         * lib/parse-datetime.y (parse_datetime): Break out of the
32837         TZ="" parsing loop once the second significant " is found.
32838         Also skip over any subsequent whitespace to be consistent
32839         with the non TZ= case.
32840         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
32842 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
32844         savedir: new symbol for fast-read version
32845         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
32846         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
32847         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
32848         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
32850 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
32852         unistd: port readlink to Mac OS X 10.3.9
32853         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
32854         around self-include problem in Mac OS X 10.3.9 when combined with
32855         readlink module.  Problem reported by Klaus Zietler in
32856         <http://bugs.gnu.org/16825>.
32858 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
32860         diffseq: remove TOO_EXPENSIVE heuristic
32861         Problem with diffutils reported by Vincent Lefevre in
32862         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
32863         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
32864         Although appropriate for circa-1993 hardware, these days the heuristic
32865         seems to be more trouble than it's worth.
32866         * lib/diffseq.h: Modernize citations.
32867         (struct context): Remove member too_expensive.
32868         All uses changed.
32869         (struct partition): Remove members lo_minimal, hi_minimal.
32870         All uses changed.
32871         (diag, compareseq): Remove arg find_minimal.  All uses changed.
32872         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
32873         1993 to make 'diff' run faster (but not as well) on large inputs.
32874         These days, computers are fast enough that it's typically better
32875         to run slower but more accurately.
32876         * lib/fstrcmp.c: Remove duplicate comment.
32877         * lib/fstrcmp.c (strcmp_bounded):
32878         * lib/git-merge-changelog.c (compute_differences):
32879         Adjust to diffseq.h changes.
32880         * NEWS: Document the change.
32882         savedir: simplify by using stpcpy
32883         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
32884         (streamsavedir): Use stpcpy instead.
32885         * modules/savedir (Depends-on): Add stpcpy.
32887 2014-02-21  Pádraig Brady  <P@draigBrady.com>
32889         spawn: fix link error on uclibc
32890         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
32891         to incorporate -lrt if needed (on uclibc for example).
32892         * modules/posix_spawn: Reference the substituted LIB.
32894 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
32895         timer: fix uClibc detection of threading
32896         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
32897         enabled in uClibc.
32899 2014-02-21  Eric Blake  <eblake@redhat.com>
32901         maintainer-makefiles: provide AC_PROG_SED for older autoconf
32902         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
32904 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
32906         exclude: add support for posix regexps
32908         This commit adds support for POSIX extended regular expressions
32909         and fixes a long-standing memory leak (pattern buffer was never
32910         freed).  It also implements a new interface function to read
32911         exclude patterns from a FILE, which passes an additional parameter
32912         to its callback function, thereby allowing to preserve its state
32913         between invocations.
32915         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
32916         (pattern_buffer): New struct.
32917         (exclude): New member patbuf.
32918         (exclude_add_pattern_buffer): New function.
32919         (free_exclude_segment): Free regexps.
32920         (free_exclude): Free allocated pattern buffers.
32921         (exclude_patopts): New function.
32922         (file_pattern_matches): Use exclude_patopts.
32923         (add_exclude): support regexps.
32924         (add_exclude_fp): New function.
32925         (add_exclude_file): Rewrite using add_exclude_fp.
32926         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
32927         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
32928         (add_exclude_fp)
32929         (add_exclude_file): Rewrite using add_exclude_fp.
32930         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
32931         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
32932         (add_exclude_fp)
32933         (exclude_add_pattern_buffer): New prototypes.
32934         * modules/exclude: Depends on regex and filename.
32936 2014-02-20  Eric Blake  <eblake@redhat.com>
32938         maintainer-makefiles: use $(SED) for syntax check
32939         * modules/maintainer-makefile (configure.ac): Check for sane sed.
32940         * top/maint.mk: Change sed to $(SED).
32942 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
32943             Paul Eggert  <eggert@cs.ucla.edu>
32945         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
32946         Patch based on an idea by Dick Streefland in
32947         <https://savannah.gnu.org/patch/?7892>.
32948         * NEWS: Document this.
32949         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
32950         (direntry_t, comparison_function): New types.
32951         (direntry_cmp_name): New function.
32952         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
32953         (streamsavedir, savedir): New arg OPTION.
32954         (streamsavedir): Simplify memory allocation.
32955         (fdsavedir): Remove.
32956         * lib/savedir.h (enum savedir_option): New type.
32957         (streamsavedir, savedir): New arg OPTION.
32958         (fdsavedir): Remove.
32960 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
32962         file-type: add support for doors and other less-common file types
32963         Problem with S_ISDOOR reported by Rich Burridge.
32964         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
32965         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
32966         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
32968 2014-01-23  Eric Blake  <eblake@redhat.com>
32970         pthread: work around winpthread header pollution on mingw
32971         * lib/time.in.h: Move pthread workarounds...
32972         * lib/pthread.in.h: ...here.
32973         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
32974         detect macro pollution on mingw.
32975         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
32977 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32979         qacl: check for fchmod
32980         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
32981         and qset-acl.c both use HAVE_FCHMOD.
32983 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
32985         fdopen-tests: port to Tru64
32986         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
32987         descriptor that is not open, as POSIX doesn't specify the
32988         resulting behavior and the test does not work on Tru64.
32989         Problem reported by Steven M. Schweda in:
32990         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
32992         stdalign: port to HP-UX compilers
32993         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
32994         if __HP_cc or __HP_aCC are nonzero.
32996 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
32998         strtoimax: port to platforms lacking 'long long'
32999         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
33000         check whether strtoll is declared, which causes the C file to
33001         wrongly report an error.  Problem reported by Steven M. Schweda in:
33002         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
33003         * lib/strtoimax.c (strtoull):
33004         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
33005         (strtoll): Declare only if HAVE_LONG_LONG_INT.
33007 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
33009         relocatable-perl: fix texi syntax
33010         * doc/relocatable-maint.texi: Escape braces.
33012 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
33014         relocatable-perl: like relocatable-script, but for Perl scripts
33015         * build-aux/relocatable.pl.in: Add.
33016         * doc/relocatable-maint.texi: Add documentation.
33017         * modules/relocatable-perl: Add.
33019 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
33021         tests: fix export bug in previous patch
33022         Problem reported by Jim Meyering.
33023         * tests/init.sh (re_shell): New var, which is exported instead of
33024         re_shell_.
33026         tests: simplify porting to Solaris 10 /bin/sh
33027         Some test cases in 'grep' need a shell that groks '$(';
33028         export re_shell_ for their benefit.  Problem reported for 'grep'
33029         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
33030         * tests/init.sh (re_shell_): Export if it's used.
33032 2014-01-06  Eric Blake  <eblake@redhat.com>
33034         md5, sha1, sha256, sha512: support older autoconf
33035         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
33036         for autoconf < 2.63b.
33038         include_next: port to autoconf 2.63
33039         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
33041 2014-01-04  Jim Meyering  <meyering@fb.com>
33043         maint: add a gnulib-local rule to keep non-ascii out of .texi files
33044         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
33045         so that "make sc_maint" will ding anyone who puts non-ascii
33046         in any of gnulib's .texi files.
33048 2014-01-03  Jim Meyering  <meyering@fb.com>
33050         freadable, fwritable, fwriting: declare with the "pure" attribute
33051         * lib/freadable.h (freadable): Declare with the "pure" attribute.
33052         * lib/fwritable.h (fwritable): Likewise.
33053         * lib/fwriting.h (fwriting): Likewise.
33054         Suggested by Bruno Haible.
33056         maint.mk: adapt openat.h-include-without-use test
33057         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
33058         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
33059         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
33060         With this change, running "make sc_maint" in gnulib's top-level
33061         directory now passes for me.
33063 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
33065         doc: use ASCII in .texi files where UTF-8 isn't needed
33066         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
33067         * doc/posix-functions/setkey.texi, doc/regex.texi:
33068         Use ASCII input, not UTF-8.
33070 2014-01-02  Jim Meyering  <meyering@fb.com>
33072         freading: declare with the "pure" attribute
33073         * lib/freading.h (freading): Declare with the "pure" attribute.
33075         manywarnings: remove -Wmudflap
33076         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
33077         it is no longer supported in gcc-4.9-to-be.
33079 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33081         relocatable-script: remove unused code
33082         Problem reported by Reuben Thomas in:
33083         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
33084         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
33086 2014-01-01  Jim Meyering  <meyering@fb.com>
33088         maint: fix public-submodule-commit to work with newer git
33089         * top/maint.mk (public-submodule-commit): Remove excess quoting.
33090         We were over-quoting the test arguments, and somewhere prior to
33091         version 1.8.5.2.229, git stopped removing those excess quotes,
33092         which made the test fail, since the unexpanded strings would
33093         always differ; using GIT_TRACE=1 confirmed that the git merge-base
33094         command wasn't even being run.
33096 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33098         doc: update main copyright year
33099         * doc/gnulib.texi: Update copyright date.
33101 2014-01-01  Eric Blake  <eblake@redhat.com>
33103         version-etc: new year
33104         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
33105         * all files: run 'make update-copyright'
33107 2013-12-24  Eric Blake  <eblake@redhat.com>
33109         passfd: give nicer error for recvfd at eof
33110         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
33111         * tests/test-passfd.c (main): Enhance test to cover this.
33113 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33115         gettimeofday: port recent C++ fix to Emacs
33116         Without this further patch, Emacs won't build due to
33117         the portcheck failing.  Also, this simplifies the patch a bit.
33118         * lib/time.in.h (localtime, gmtime): Don't replace unless
33119         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
33120         * lib/time.in.h (localtime, gmtime):
33121         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
33122         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33123         * modules/time (time.h):
33124         Don't worry about the possibility of localtime and gmtime
33125         being absent; they're present in all C libraries we know about.
33126         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33127         Don't assume sys_time is present and has been initialized.
33128         Instead, use a hack that should work even if it hasn't been.
33129         Don't use a portcheck for gmtime or localtime; this supports
33130         the hack.
33131         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
33133 2013-12-17  John W. Eaton  <jwe@gnu.org>
33135         gettimeofday: fix C++ crosscompilation
33137         Never replace gmtime and localtime by macros when compiling with
33138         C++, this prevents <ctime> from being included.
33140         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
33141         define gmtime and localtime as preprocessor macros.  Instead
33142         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
33143         REPLACE_LOCALTIME substitutions.
33144         * lib/time.in.h: Declare gmtime and localtime when needed.
33145         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
33146         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
33147         * modules/time: Depend on gettimeofday, and substitute the above
33148         variables in time.h.
33150 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33152         qacl: port to Windows better
33153         See Eli Zaretskii in
33154         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
33155         * lib/file-has-acl.c (acl_access_nontrivial):
33156         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
33157         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
33159 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
33161         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
33162         * lib/gl_openssl.h: Cast void pointers to a specific type.
33164 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33166         open-tests: fix build failure with -Werror=old-style-declaration
33167         * tests/test-open.h: Reorder the inline to avoid the issue.
33169 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33171         md5, sha1, sha256, sha512: fix link error with partial libcrypto
33172         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
33173         init time, so that if early checks find crypto routines,
33174         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
33175         avoiding link failures.
33177 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33179         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
33180         This provides a new way to specify the default for
33181         gl_CRYPTO_CHECK, one that is reflected in the --help message.
33182         Emacs uses this, as well as the old way.
33183         This attempts to implement a suggestion by Pádraig Brady in
33184         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
33185         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
33186         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
33188         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
33189         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
33190         Add support for a new option, --with-openssl=auto, which causes
33191         the library to be used if available and silently ignored if not.
33192         Add support to allow configure.ac to specify its own
33193         default, by setting with_openssl_default before invoking gl_INIT.
33195 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33197         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
33198         Problem reported by Daiki Ueno in:
33199         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
33200         * tests/test-open.h (__always_inline):
33201         New macro, if not already defined.
33202         (test_open): Use it.
33204 2013-12-04  Eric Blake  <eblake@redhat.com>
33206         include_next: minimize code duplication
33207         * modules/include_next (Depends-on): Add absolute-header.
33208         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
33209         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
33211 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33213         getcwd: fix compile error in configure check
33214         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
33216 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33218         regex: suppress core dumps from detection code
33219         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
33220         to suppress core dumps that may well occur on glibc systems.
33221         These core dumps might not be cleaned up automatically, or could
33222         trigger some system core dump handling logic.
33224 2013-12-03  Pádraig Brady  <P@draigBrady.com>
33226         md5, sha1, sha256, sha512: support mandating use of openssl
33227         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
33228         description, to list the now 3 separate options.  also don't
33229         mention the default=no, since this is implicit given the option
33230         is described as --with-openssl rather than --without-openssl.
33231         If projects change the default they're free to document that.
33232         with --with-openssl[=yes] we now error out when the specified
33233         hash algorithm is not available in libcrypto.
33235 2013-12-03  Ivailo  <xakepa10@gmail.com>
33237         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
33238         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
33239         -Wformat-nonliteral checks, as these edge cases are part of the test.
33241 2013-12-03  Eric Blake  <eblake@redhat.com>
33243         regex: avoid glibc deadlock during configure
33244         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
33245         glibc bug 15078 in turn triggers bug 16159.
33246         Reported by Michal Privoznik.
33248 2013-12-02  Pádraig Brady  <P@draigBrady.com>
33250         md5, sha1, sha256, sha512: use openssl routines if available.
33251         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
33252         routines will be used if available, requiring apps to link @LIB_CRYPTO@
33253         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
33254         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
33255         in the standard system location.
33256         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
33257         * m4/sha256.m4: Likewise with SHA256.
33258         * m4/sha512.m4: Likewise with SHA512.
33259         * m4/md5.m4: Likewise with MD5.
33260         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
33261         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
33262         * lib/sha256.h: Likewise with SHA256.
33263         * lib/sha512.h: Likewise with SHA512.
33264         * lib/md5.h: Likewise with MD5.
33265         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
33266         * lib/sha256.c: Likewise with SHA256.
33267         * lib/sha512.c: Likewise with SHA512.
33268         * lib/md5.c: Likewise with MD5.
33269         * modules/crypto/sha1 (Link:): Add the new optional lib.
33270         (Depends-on:): Add dependency on extern-inline.
33271         * modules/crypto/sha256: Likewise.
33272         * modules/crypto/sha512: Likewise.
33273         * modules/crypto/md5: Likewise.
33274         * modules/crypto/sha1-tests: Reference the lib here too.
33275         * modules/crypto/md5-tests: Likewise.
33276         * modules/crypto/gc-des-tests: Likewise.
33277         * modules/crypto/gc-hmac-md5-tests: Likewise.
33278         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33279         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33280         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33281         * modules/crypto/gc-md5-tests: Likewise.
33282         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33283         * modules/crypto/gc-sha1-tests: Likewise.
33284         * modules/crypto/gc-tests: Likewise.
33285         * modules/crypto/hmac-md5-tests: Likewise.
33286         * modules/crypto/hmac-sha1-tests: Likewise.
33287         * modules/crypto/hmac-sha256-tests: Likewise.
33288         * modules/crypto/hmac-sha512-tests: Likewise.
33290 2013-11-29  RV1971  <rv1971@web.de>
33292         base64: (trivial) fix compilation regression on some compilers
33293         * lib/base64.c: Don't return the void function,
33294         instead split to a separate return statement.
33296 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
33298         ignore-value: revert previous code change
33299         * lib/ignore-value.h (ignore_value): Use __extension__ and
33300         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
33301         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
33302         Change the comment to try to explain this better.
33304 2013-11-27  Pádraig Brady  <P@draigBrady.com>
33306         selinux-h: improve stub types and add more stub functions
33308         * lib/se-selinux.in.h: Change security_context_t to a typedef
33309         rather than a define, as it's a pointer type and so is better
33310         as a typedef to avoid issues declaring multiple variables
33311         with the comma operator.  Also add stub for string_to_security_class().
33312         * lib/se-context.in.h: Add stub functions for
33313         context_{type,range,role,user}_get().
33315 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33317         ignore-value: prefer GCC version back through 2.0
33318         The code didn't match the comments, so I did a bit of software
33319         archaeology.  GCC 2.0 seems to support __extension__ and
33320         __typeof__, so fix both code and comments to use 2.0.
33321         * lib/ignore-value.h (ignore_value): Use __extension__ and
33322         __typeof__ for GCC 2.0 through 3.3, too.
33324 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
33326         pty: Activate the signature wrapper of forkpty.
33327         The intended preprocessor macro HAVE_FORKPTY is
33328         never defined, yet `lib/forkpty.c' depends on it.
33330         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
33331         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
33332         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
33334 2013-11-18  Jim Meyering  <meyering@fb.com>
33335         and Paul Eggert  <eggert@cs.ucla.edu>
33337         quotearg: don't attempt to store 1 << 31 into an "int"
33338         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
33339         gcc's new -fsanitize=undefined and running its tests triggered some
33340         new test failures due to undefined behavior, all with this diagnostic:
33341           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
33342             cannot be represented in type int
33343         Rather than shifting "1" left to form a mask, shift the bits right and
33344         simply use "1" as the mask.
33346 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
33348         error: depend on stdio
33349         Problem reported by Nikos Mavrogiannopoulos in
33350         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
33351         * modules/error (Depends-on): Add stdio.
33353 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
33355         * doc/relocatable-maint.texi (Supporting Relocation): Improve
33356         wording.
33357         Reported by Reuben Thomas <rrt@sc3d.org>.
33359 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
33361         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
33362         New function and macro, to work around _DARWIN_C_SOURCE problem.
33363         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
33365 2013-11-11  Pádraig Brady  <P@draigBrady.com>
33367         base64: provide a fast path for encoding well sized buffers
33368         Avoid conditionals in the base64 encoding loop,
33369         which was seen to give 60% better throughput.
33370         * lib/base64.c (base64_encode_fast): A new function to be called
33371         when we don't want to NUL terminate, and we have enough space
33372         in the output to encode the given input.
33373         (base64_encode): Call the _fast() version when appropriate.
33374         Also remove a redundant mask with 0x3F on the first encoded byte.
33376 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33378         extern-inline: port better to OS X 10.9
33379         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
33380         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
33381         OS X 10.9, except for g++ where the bug is still present.
33382         See <http://trac.macports.org/ticket/41033>.
33384 2013-11-08  Eric Blake  <eblake@redhat.com>
33386         fpending: fix regression on DragonFly BSD
33387         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
33388         * lib/fpending.h (__fpending): Don't declare twice.
33389         Reported by GW in
33390         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
33392 2013-11-05  Jim Meyering  <meyering@fb.com>
33394         hash: relax license to LGPLv2+, for libguestfs
33395         * modules/hash (License): Change from GPL to LGPLv2+.
33397 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33399         intprops: port to Oracle Studio c99
33400         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
33401         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
33403 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33405         obstack: pacify HP C
33406         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
33407         warning "conversion from pointer to smaller integer" from HP
33408         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
33409         C89 or later nowadays, so cast to void instead of int.  Privately
33410         reported by H.Merijn Brand.  Also, change header to match glibc's,
33411         to make checking against glibc easier.
33413 2013-10-29  Jim Meyering  <meyering@fb.com>
33415         maint.mk: prefer gpgv2 over gpgv
33416         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
33417         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
33418         Reported by Gary Vaughan.
33420 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
33422         isnan: port to VAX
33423         Reported by John Klos for NetBSD-5/VAX in
33424         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
33425         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
33426         (FUNC): Use it.
33428 2013-10-28  Jim Meyering  <meyering@fb.com>
33430         gnulib-tool: protect against CDPATH
33431         * gnulib-tool: Many "cd" built-in functions print a directory name
33432         to stdout when CDPATH is set, e.g.,
33433           $ bash -c 'CDPATH=/; cd tmp'
33434           /tmp
33435         Unset it, when possible.  Prompted by a comment from Bruce Korb.
33437         maint.mk: restore functionality removed by recent change...
33438         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
33439         the context of a shallow-cloned gnulib repository: "git describe"
33440         would fail in such a directory.  However, that change made it so
33441         the reported gnulib revision no longer includes the version number
33442         or a commit count, even when run from a full clone.
33443         * top/maint.mk (gnulib-version): Use the full "git describe"
33444         output when possible, e.g., the form above, rather than the
33445         abbreviated, no-tag, no-commit-count string, and fall back to
33446         using a 10-byte hash, rather than the default minimal-length
33447         hash prefix, since while the minimal-length one may be fine today,
33448         it is likely not to be unique for very long.
33450 2013-10-26  Jim Meyering  <meyering@fb.com>
33452         maint.mk: fix "release" target to build _version
33453         This fixes a bug in README-release whereby following the outlined
33454         steps, one would publish a tarball whose programs would report
33455         --version output not consistent with the package version number.
33456         This bug caused grep-2.15 to produce a grep program whose
33457         --version option made it print 2.14.56-1e3d rather than 2.15.
33458         * top/maint.mk (release): Making this target build "_version"
33459         ensures that the new version number is reflected in configure.
33461 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
33463         install-reloc: Support multi-binary installation.
33464         * build-aux/install-reloc: Support installing multiple programs in
33465         one invocation, as done by Automake starting with commit
33466         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
33467         Haible <bruno@clisp.org>, archived at
33468         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
33469         Reported by Sylvain <beuc@gnu.org>.
33471 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33473         selinux-h: Really build without selinux when library is missing.
33474         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
33475         continue without selinux, as already told in the warning message.
33477 2013-10-21  Jim Meyering  <meyering@fb.com>
33479         regex: also remove dependency on HAVE_WCSCOLL
33480         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
33482 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
33484         xfreopen: Fix typo. s/frepoen/freopen/
33485         * lib/xfreopen.c: Fix description.
33486         * modules/xfreopen: Likewise.
33488 2013-10-21  Jim Meyering  <meyering@fb.com>
33490         regex: don't depend on wcscoll
33491         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
33492         It is no longer used.
33494 2013-10-20  Jim Meyering  <meyering@fb.com>
33496         error: add the printf attribute to a static function
33497         * lib/error.c (error_tail): Add the printf attribute, to placate
33498         gcc's -Werror=suggest-attribute=format option.
33500 2013-09-30  Jim Meyering  <meyering@fb.com>
33502         fpending, obstack, strerror-override: use pure+const function attrs
33503         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
33504         * lib/obstack.c (_obstack_allocated_p): Likewise.
33505         * lib/obstack.h (_obstack_memory_used): Likewise.
33506         (_obstack_memory_used): Likewise.
33507         * lib/strerror-override.h (strerror_override): Declare with
33508         the "const" attribute.
33510 2013-10-18  Eric Blake  <eblake@redhat.com>
33512         extern-inline: make safe for -Wundef usage
33513         Reported by Vladimir 'phcoder' Serbinenko in
33514         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
33515         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
33517 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33519         mkfifo-tests, etc.: allow HP-UX 11.11 bug
33520         Problem reported by Daniel Richard G. in
33521         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
33522         * doc/posix-functions/mkfifo.texi (mkfifo):
33523         * doc/posix-functions/mkfifoat.texi (mkfifoat):
33524         * doc/posix-functions/mknod.texi (mknod):
33525         * doc/posix-functions/mknodat.texi (mknodat):
33526         Document the HP-UX 11.11 bug.
33527         * tests/test-mkfifo.h (test_mkfifo):
33528         Allow the HP-UX 11.11 bug.
33530 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
33532         acl: allow cross-compilation to Gentoo
33533         Problem reported by Gabriel Marcano in
33534         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
33535         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
33536         test only whether it links.
33538 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
33540         mgetgroups: remove dependency on realloc-gnu
33541         The dependency violates the comment in realloc-gnu, which
33542         says that tests can't depend on realloc-gnu; some tests depend
33543         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
33544         Problem reported by Daniel Richard G. in
33545         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
33546         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
33547         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
33548         not realloc-gnu.
33550 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33552         regex-tests: port to HP-UX 11.11
33553         Problem reported by Daniel Richard G. in
33554         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
33555         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
33557 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
33559         verify: document some 'assume' pitfalls
33560         * doc/verify.texi (Compile-time Assertions):
33561         Mention that 'assume (E)' can sometimes slow things down.
33562         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
33564 2013-10-10  Eric Blake  <eblake@redhat.com>
33566         strtoumax: fix typo in previous commit.
33567         * modules/strtoumax (Depends-on): Fix typo.
33568         * modules/strtoimax (Depends-on): Likewise.
33570 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
33572         strtoumax: port to Solaris 8
33573         This problem was introduced in the recent HP-UX patch.
33574         Reported by Tom G. Christensen in
33575         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
33576         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
33577         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
33579 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
33581         strtoimax, strtoumax: port to HP-UX 11.11
33582         Problem reported by Daniel Richard G. in
33583         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
33584         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
33585         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
33586         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
33587         REPLACE_STRTOUMAX.
33588         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
33589         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
33590         Replace the function if defined as a macro but not as a function.
33591         * modules/inttypes-incomplete (inttypes.h): Substitute
33592         REPLACE_STRTOUMAX.
33593         * modules/strtoumax (configure.ac): Replace strtoumax if
33594         REPLACE_STRTOUMAX.
33596 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33598         strtoimax: port to HP-UX 11.11
33599         Problem reported by Daniel Richard G.
33600         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
33601         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
33602         they might clash with inttypes.h.
33604 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
33606         New module 'count-trailing-zeros'.
33607         * MODULES.html.sh: Mention it.
33608         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
33609         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
33610         * modules/count-trailing-zeros-tests:
33611         * tests/test-count-trailing-zeros.c:
33612         New files.
33614         count-leading-zeros: port to MSC; support types wider than 64 bits
33615         The ideas behind the MSC port are stolen from Emacs.
33616         * lib/count-leading-zeros.h:
33617         Don't include verify.h: it's no longer needed, as types wider than
33618         64 bits are now supported.
33619         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
33620         performance with MSC.  All uses changed.  Do not assume that TYPE
33621         has at most 64 bits.
33622         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
33623         All uses changed.  Fold the subtraction from 31 into the table.
33625         count-one-bits: port to MSC; support types wider than 64 bits
33626         The ideas behind the MSC port are stolen from Emacs.
33627         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
33628         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
33629         Don't include verify.h: it's no longer needed, as types wider than
33630         64 bits are now supported.
33631         (COUNT_ONE_BITS_GENERIC): New macro.
33632         (popcount_supported) [_MSC_VER]: New inline function.
33633         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
33634         performance with MSC.  All uses changed.  Do not assume that TYPE
33635         has at most 64 bits.
33636         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
33638 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
33640         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
33641         * lib/mountlist.c (read_file_system_list): fix leak of directory
33642         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
33644 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
33646         tests: improve diagnostic when an assertion fails
33647         * tests/macros.h (ASSERT): Report the assertion that failed.
33649 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
33651         verify: new macro 'assume'
33652         This is taken from Emacs, and should be generally useful.
33653         * doc/verify.texi (assume): Document it.
33654         * lib/verify.h (assume): New macro.
33655         (__has_builtin): Expand to 0 if not defined.
33657 2013-09-26  Eric Blake  <eblake@redhat.com>
33659         dup2, dup3: work around another cygwin crasher
33660         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
33661         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
33662         * tests/test-dup2.c (main): Likewise.
33663         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
33664         * lib/dup3.c (dup3): Likewise.
33665         * doc/posix-functions/dup2.texi (dup2): Document it.
33666         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33668         getdtablesize: work around cygwin issue
33669         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
33670         * modules/getdtablesize (configure.ac): Build replacement.
33671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
33672         * modules/unistd (Makefile.am): Expose the witness.
33673         * lib/unistd.in.h (getdtablesize): Declare replacement.
33674         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
33675         * tests/test-getdtablesize.c (main): Test it.
33676         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
33678 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
33680         pmccabe2html: escaping of special characters
33681         Escape all '<', '>', and '&' in HTML output.
33682         * build-aux/pmccabe2html (html_fnc): Call gsub()
33683         instead of sub() to capture all '<', '>', and '&'.
33684         Neither of '<' and '>' is special in a regexp,
33685         so first arguments to gsub() are corrected. Also,
33686         in replacement strings, ampersand must be escaped.
33687         Finally, '&' must be handled first, then '<' and '>'.
33689 2013-09-24  Eric Blake  <eblake@redhat.com>
33691         manywarnings: enable nicer gcc warning messages
33692         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
33693         some -f options for optimal warnings.
33695 2013-09-21  Jim Meyering  <meyering@fb.com>
33697         timespec: use the new TIMESPEC_RESOLUTION in a few more places
33698         * lib/timespec-add.c (timespec_add): Also replace 999999999
33699         with TIMESPEC_RESOLUTION - 1.
33700         * lib/timespec-sub.c (timespec_sub): Likewise.
33702 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
33704         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
33705         Problem reported by Dagobert Michelsen via Eric Blake in
33706         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
33707         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
33708         not AC_COMPILE_IFELSE.
33710 2013-09-23  Eric Blake  <eblake@redhat.com>
33712         configmake: support new --runstatedir option
33713         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
33714         even if autoconf was too old to provide the command line option.
33715         * modules/configmake (Makefile.am): Propagate it to .h file.
33717 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
33719         ctype, string: depend on extern-inline
33720         This is needed to complete the recent OS X fixes.
33721         Also, fix related documentation as suggested by Eric Blake.
33722         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
33723         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
33724         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
33725         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
33726         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
33727         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
33728         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
33729         * doc/posix-functions/toupper.texi:
33730         List the 'ctype' gnulib module.
33731         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
33732         * doc/posix-functions/strncpy.texi:
33733         List the 'string' gnulib module.
33734         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
33735         Add string.
33736         * modules/ctype, modules/string (Depends-on): Add extern-inline.
33738 2013-09-19  Pádraig Brady  <P@draigBrady.com>
33740         userspec: support optional parameters to parse_user_spec()
33741         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
33742         then avoid group processing and treat the full spec as a user.
33743         (parse_with_separator): Allow the USERNAME and GROUPNAME to
33744         be optional params (NULL), in which case they're ignored.
33746 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
33748         timespec: new function make_timespec, and new constants
33749         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
33750         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
33751         (make_timespec): New function.
33752         * lib/dtotimespec.c (dtotimespec):
33753         * lib/timespec-add.c (timespec_add):
33754         * lib/timespec-sub.c (timespec_sub):
33755         * lib/utimens.c (validate_timespec):
33756         * lib/utimensat.c (rpl_utimensat):
33757         Use these new constants and functions.
33759         stdio: OS X port of putc_unlocked + extern inline
33760         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
33761         * doc/posix-functions/putc_unlocked.texi:
33762         * doc/posix-functions/putchar_unlocked.texi:
33763         Document this portability problem.
33765         signal: OS X port of sigaddset etc. + extern inline
33766         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
33767         (sigismember): #undef on problematic Apple platforms.
33768         * doc/posix-functions/sigaddset.texi:
33769         * doc/posix-functions/sigdelset.texi:
33770         * doc/posix-functions/sigemptyset.texi:
33771         * doc/posix-functions/sigfillset.texi:
33772         * doc/posix-functions/sigismember.texi:
33773         Document this portability problem.
33775         extern-inline: do not always suppress extern inline on OS X
33776         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
33777         extern inline on Apple only if the particular compile-time
33778         configuration is known to have the problem.
33779         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
33780         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
33781         other Gnulib modules.
33783         extern-inline: document fixes for ctype and wctype macros
33784         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
33785         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
33786         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
33787         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
33788         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
33789         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
33790         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
33791         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
33792         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
33793         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
33794         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
33795         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
33796         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
33797         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
33798         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
33799         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
33800         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
33801         * doc/posix-functions/strncpy.texi:
33802         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
33803         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
33804         Document that Gnulib fixes portability problems with these
33805         functions on OS X 10.8 and earlier when called from plain inline
33806         or extern inline functions.
33808 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
33810         fflush, freadahead, fseeko: Fix for Android
33811         Suggested by Bruno Haible in:
33812         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
33813         * lib/stdio-impl.h: Use local __sfileext definition.
33815 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
33817         pmccabe2html: Portability to other awk versions.
33818         The functions systime() and strftime() are available
33819         in Gawk only.  Properly close two HTML-tags 'style'
33820         and 'span'.
33821         * build-aux/pmccabe2html (BEGIN): Store timing
33822         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
33823         systime() in HTML_COMMENT.
33824         (html_header): Correctly close tag 'style'.
33825         (END): Replace strftime() by CHRONOS_TIME.  Close
33826         tag 'span' correctly, not as 'div'.
33828 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
33830         getgroups: statement without effect
33831         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
33832         Change equality conditional to expected assignment.
33834 2013-09-09  Eric Blake  <eblake@redhat.com>
33836         glob: fix compilation
33837         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
33839 2013-09-07  Eric Blake  <eblake@redhat.com>
33841         glob: fix build for platforms without __THROW
33842         * lib/glob.in.h (__THROW): Add definition again.
33844 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
33846         regex-quote: fix buffer access out of bounds
33847         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
33848         * lib/regex-quote.c (regex_quote_spec_pcre):
33849         Fix typo that resulted in an out-of-bounds read.
33851 2013-09-04  Eric Blake  <eblake@redhat.com>
33853         glob: avoid -Wattribute warnings on glibc
33854         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
33855         __THROWNL, not __THROW, on static functions.
33856         * lib/glob.in.h (__THROW): Adjust...
33857         (__THROWNL): ...accordingly.
33859 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
33861         headers: check that _GL_INLINE_HEADER_BEGIN is defined
33862         Suggested by Bruce Korb in:
33863         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
33864         * doc/extern-inline.texi (extern inline):
33865         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
33866         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
33867         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
33868         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
33869         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
33870         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
33871         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
33872         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
33873         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
33874         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
33875         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
33876         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
33877         * lib/xtime.h:
33878         Check that _GL_INLINE_HEADER_BEGIN is defined.
33880 2013-08-29  Pádraig Brady  <P@draigBrady.com>
33882         bootstrap: remove the --version requirement from ancillary tools
33883         * build-aux/bootstrap (check_exists): A new refactored function to
33884         determine if a command exists.
33885         (find_tool): Use the new function which does not require the
33886         --version option to be supported.
33887         (check_versions): Use the new function.
33889 2013-08-26  Simon Josefsson  <simon@josefsson.org>
33891         gc: support HMAC-SHA256 and HMAC-SHA512.
33892         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
33893         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
33894         functions.
33895         (gc_hmac_md5): Use symbolic constant.
33896         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
33897         (gc_hmac_sha256, gc_hmac_sha512): New functions.
33898         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
33899         * m4/sha256.m4: Protect against empty expansion.
33900         * m4/sha512.m4: Likewise.
33901         * lib/hmac-sha256.c: New file.
33902         * lib/hmac-sha512.c: Likewise.
33903         * m4/gc-hmac-sha256.m4: Likewise.
33904         * m4/gc-hmac-sha512.m4: Likewise.
33905         * m4/gc-sha256.m4: Likewise.
33906         * m4/gc-sha512.m4: Likewise.
33907         * modules/crypto/gc-hmac-sha256: Likewise.
33908         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33909         * modules/crypto/gc-hmac-sha512: Likewise.
33910         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33911         * modules/crypto/hmac-sha256: Likewise.
33912         * modules/crypto/hmac-sha256-tests: Likewise.
33913         * modules/crypto/hmac-sha512: Likewise.
33914         * modules/crypto/hmac-sha512-tests: Likewise.
33915         * tests/test-gc-hmac-sha256.c: Likewise.
33916         * tests/test-gc-hmac-sha512.c: Likewise
33917         * tests/test-hmac-sha256.c: Likewise.
33918         * tests/test-hmac-sha512.c: Likewise
33920 2013-08-24  Daiki Ueno  <ueno@gnu.org>
33922         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
33923         of AC_CHECK_DECLS.
33925 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
33927         selinux-at: omit unnecessary include
33928         * lib/selinux-at.c: Don't include dosname.h; not needed, since
33929         this source file doesn't use its macros, and subsidiary files that
33930         use the macros already include it.
33932 2013-08-21  Eric Blake  <eblake@redhat.com>
33934         d-ino: avoid false negative on symlink
33935         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
33936         Reported by Stephane Chazelas.
33938 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
33940         bootstrap: port to OpenBSD sed
33941         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
33942         does not interpret `-' as a file argument to mean stdin.
33944 2013-08-15  Eric Blake  <eblake@redhat.com>
33946         warnings: minor optimization
33947         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
33949         warnings: check -Wfoo rather than -Wno-foo
33950         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
33951         -Wno-, test if the compiler recognizes the positive form instead.
33953 2013-08-15  Karl Berry  <karl@gnu.org>
33955         * config/srclist-update: add option "doclicense" to placate
33956         pulling *.texi files from Emacs.  Write terse usage
33957         documentation at the top.
33959 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
33961         xvasprintf-tests: port to GCC with hardening flags
33962         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
33963         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
33964         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
33966 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33968         fpending: port to recent Cygwin change to stdio_ext.h
33969         Reported by LRN in
33970         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
33971         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
33972         just declare __fpending unless it's a macro.
33973         A duplicate decl shouldn't hurt.
33974         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
33975         call compiles and links, instead of separately checking for
33976         decl and lib function.
33977         * modules/fpending (configure-ac):
33978         Adjust to fpending.m4's renaming of shell variable.
33980 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33982         sys_time: port to OpenBSD
33983         * lib/sys_time.in.h: Simply delegate to the system's header
33984         in the BSDish cases as well.  Problem reported by Mike Miller in
33985         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
33986         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
33987         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
33988         wider than time_t.
33990 2013-08-09  Pádraig Brady  <P@draigBrady.com>
33992         bootstrap: support checksum utils having -c but not --status
33993         * build-aux/bootstrap: Only look for sha1sum if updating po files.
33994         Add sha1 to the list of supported checksum utils since it's now
33995         supported through adjustments below.
33996         (update_po_files): Remove the use of --status
33997         in a way that will suppress all error messages, but since this is
33998         only used to minimize updates, it shouldn't cause an issue.
33999         Exit early if there is a problem updating the po file checksums.
34000         (find_tool): Remove the check for --version support as this
34001         is optional as per commit 86186b17.  Don't even check for the
34002         presence of the command as if that is needed, it's supported
34003         through configuring prerequisites in bootstrap.conf.
34004         Prompt that when a tool isn't found, one can define an environment
34005         variable to add to the hardcoded search list.
34007 2013-08-05  Jim Meyering  <meyering@fb.com>
34009         regex: port to non-glibc/lock-using systems
34010         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
34011         system with GNULIB_LOCK would fail due to absence of the
34012         included "glthread/lock.h".  This would affect any package
34013         for which the "lock" module is used only by the regex module,
34014         and not explicitly used.
34015         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
34016         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
34017         Add a dependency on the "lock" module.
34019 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34021         localecharset: make locale_charset thread-safe on Mac OS X
34022         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
34023         instead of MB_CUR_MAX.
34025 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34027         gettext: update to version 0.18.3
34028         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
34029         require AC_PROG_SED to allow user to specify custom sed command when
34030         generating en@quot PO file.
34032 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
34034         bootstrap: use correct source when copying build-aux files
34035         * build-aux/bootstrap (gnulib_extra_files): This variable is
34036         relative to upstream gnulib layout, not downstream.
34038 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
34040         tmpdir: fix bug in VMS port
34041         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
34042         See Steven M. Schweda in
34043         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
34045 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34047         tmpdir: port to VMS, to // != /, and to long dirs
34048         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
34049         __secure_getenv, so that we're more like the glibc version.
34050         All uses changed.
34051         (path_search): Don't put slash after directory if __VMS.
34052         Problem reported by Steven M. Schweda in
34053         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
34054         Simplify code to add slash; no need for a loop.
34055         Do not remove trailing slash from "//".
34056         Do not assume dlen <= INT_MAX.
34058 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34060         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
34061         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
34062         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
34063         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
34065         accept4, dup3, pipe2: port to Cygwin
34066         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
34067         * lib/accept4.c (accept4) [O_BINARY]:
34068         * lib/dup3.c (dup3) [O_BINARY]:
34069         * lib/pipe2.c (pipe2) [O_BINARY]:
34070         Use set_binary_mode, not setmode.
34071         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
34072         * modules/binary-io (Depends-on): Remove module indicator.
34073         These last two bits undo the previous change to pipe2 and binary-io.
34075 2013-07-09  Pádraig Brady  <P@draigBrady.com>
34077         mountlist: add support for deallocating returned list entries
34078         * lib/mountlist.c (free_mount_entry): A new exported function
34079         to deallocate a mount list entry.
34080         (read_file_system_list): Refactor to use the new deallocation function.
34081         Suggested by Anton Ovchinnikov.
34083 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
34085         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
34086         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
34087         * lib/stdalign.in.h (_Alignas, _Alignof):
34088         Port to FreeBSD 9.1, and to C11 and C++11.
34089         (_Alignas): Also support ICC.
34090         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
34091         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
34093 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34095         fnmatch: don't goto over declaration
34096         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
34097         undefined behavior for goto over a declaration.
34098         Problem reported by Charlie Brown in
34099         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
34101         pipe2: decouple from binary-io a bit
34102         This is for Emacs, which needs pipe2 but not binary-io.
34103         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
34104         * modules/binary-io (Depends-on): Add module indicator.
34106 2013-07-03  Eric Blake  <eblake@redhat.com>
34108         mgetgroups: relax license to LGPLv2+
34109         * modules/getugroups (License): Change from GPLv3+.
34110         * modules/mgetgroups (License): Likewise.
34111         * modules/getgroups (License): Change from LGPLv3+.
34113         xalloc-oversized: relax license to LGPLv2+
34114         * modules/xalloc-oversized (License): Change from GPLv3+.
34116         nproc: relax license to LGPLv2+
34117         * modules/nproc (License): Change from LGPLv3+.
34119         bootstrap: honor --no-git
34120         * build-aux/bootstrap: Don't even try to use git when user is
34121         pointing to a static checkout.
34123 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34125         ignore-value: port to gcc -pedantic
34126         * lib/ignore-value.h (ignore_value):
34127         Port to gcc -pedantic, by using __extension__.
34128         Reindent as per usual gnulib style nowadays.
34129         Simplify GCC version check.
34131 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34133         extern-inline: port to gcc -std=c89
34134         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34135         Do not use __gnu_inline__ if pedantic and pre-C99.
34137 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34139         doc: document extern-inline
34140         * doc/extern-inline.texi: New file.
34141         * doc/gnulib.texi (alloca-opt): Include it.
34142         * m4/extern-inline.m4: Move some comments to documentation,
34143         and others closer to what they describe.
34145         doc: chatter less
34146         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
34147         (updated-stamp): Use it.  This causes 'make' to output just
34148         one file name rather than zillions.
34150         fflush, fseeko: port to musl cross-compiles
34151         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
34152         on some implementation that (1) is not known to be buggy,
34153         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
34154         cross-compiled to so we can't easily check for lack of
34155         conformance.  This is for cross-compiling to musl.
34156         Reported by Rich Felker in
34157         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
34158         * m4/fclose.m4 (gl_FUNC_FCLOSE):
34159         * m4/fflush.m4 (gl_FUNC_FFLUSH):
34160         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
34161         Adjust to above change.
34162         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
34163         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
34164         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
34165         known not to work, or unknown.
34167 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34169         msvc-inval: port to mingw-w64
34170         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
34171         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
34172         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
34174 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
34176         getcwd-lgpl: port to Tru64
34177         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
34178         Problem reported by Steven M. Schweda in
34179         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
34181         tests: port large-fd POSIX spawn tests to OS X
34182         Problem reported by Daiki Ueno in
34183         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
34184         * tests/test-posix_spawn_file_actions_addclose.c:
34185         * tests/test-posix_spawn_file_actions_adddup2.c:
34186         * tests/test-posix_spawn_file_actions_addopen.c:
34187         Include <limits.h>, for OPEN_MAX, if available.
34188         (big_fd): New static function.
34189         (main): Use it.
34191 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
34193         tests/nap.h: use an adaptive delay to avoid ctime update issues
34194         The recent change in nap.h (5191133e) decreased the probability of lost
34195         races to about a third, however such problems could still be observed
34196         in virtual machines and openSUSE's OBS.
34197         Before, nap() detected the needed time once empirically and then used
34198         that delay (together with a small correction multiplier) in further
34199         calls.  This problem has been reported and discussed several times,
34200         including guesses about possible kernel issues:
34201         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
34202         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
34203         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
34204         http://bugs.gnu.org/12820
34205         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
34206         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
34207         Now, nap() avoids the race alltogether by verifying on a reference
34208         file whether a timestamp difference has happened.
34209         * tests/nap.h (nap_fd): Define file descriptor variable for the
34210         witness file.
34211         (nap_works): Change return value to bool.  Change passing
34212         the old file's status by value instead of by reference as this function
34213         does no longer update that timestamp; rename the function argument from
34214         st to old_st.  Remove the local variables cdiff and mdiff because that
34215         function now returns true/false instead of the precise delay.
34216         (guess_delay): Remove function.
34217         (clear_tmp_file): Add new function to close and unlink the witness file.
34218         (nap): Instead of re-using the delay which has been calculated during
34219         the first call, avoid the race by actually verifying that a timestamp
34220         difference can be observed on the current file system.  Use an adaptive
34221         approach for the delay to minimize execution time.  Assert that the
34222         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
34223         = 2^31 - 1 = 2.1s.
34224         Use atexit to call clear_tmp_file when the process terminates.
34226 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
34228         sig2str: port to C++
34229         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
34230         Reported by Daniel J Sebald in
34231         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
34233 2013-05-30  Eric Blake  <eblake@redhat.com>
34235         docs: mention cygwin shortcoming in <sys/un.h>
34236         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
34238         vasnprintf: silence mingw compiler warning
34239         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
34241 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34243         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
34244         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
34245         This fixes a porting bug I recently reintroduced in regex, and
34246         some other instances that I discovered while testing the fix.
34247         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
34248         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
34249         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
34250         with an empty argument if this is a pedantic pre-C99 GCC.
34251         * lib/verify.h: Do not use _Static_assert if this is a pedantic
34252         pre-C11 GCC.
34254         regex: adapt to locking regime instead of depending on pthread
34255         Instead of depending on pthread, adapt to whatever thread
34256         modules are in use.  Problem reported by Ludovic Courtès in
34257         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
34258         and by Mats Erik Andersson in
34259         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
34260         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34261         Support either the 'lock' module, or the 'pthread' module, or
34262         no module.
34263         (lock_lock, lock_unlock): New macros.
34264         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
34265         * modules/lock, modules/pthread (configure.ac): Add module indicator.
34266         * modules/regex (Depends-on): Remove pthread.
34268 2013-05-22  Eric Blake  <eblake@redhat.com>
34270         getgroups: document portability issues
34271         * doc/glibc-functions/initgroups.texi (initgroups): Mention
34272         multithread safety.
34273         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
34274         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
34275         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
34276         getugroups.
34277         * doc/posix-functions/getgroups.texi (getgroups): Mention
34278         multithread safety and mgetgroups.
34280 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
34282         test-lchown, test-chown: also skip test if chown fails with EPERM
34283         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
34284         skip this test, to handle FAT file systems.
34285         * tests/test-chown.h (test_chown): Likewise.
34287 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34289         regex: fix dfa race in multithreaded uses
34290         Problem reported by Ludovic Courtès in
34291         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
34292         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34293         New macros.  All uses of __libc_lock_define, __libc_lock_init
34294         changed to use the first two of these.
34295         (__libc_lock_lock, __libc_lock_unlock): New macros, for
34296         non-glibc platforms.
34297         (struct re_dfa_t): Define the lock unconditionally.
34298         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
34299         '#ifdef _LIBC"s.
34300         * modules/regex (Depends-on): Add pthread, if we use the
34301         included regex.
34303         * lib/regcomp.c: Do actions that are not needed for glibc,
34304         but may be needed elsewhere.
34305         (regfree, re_compile_internal): Destroy the lock.
34306         (re_compile_internal): Check for lock-initialization failure.
34308         malloca: port to compilers that reject size-zero arrays
34309         This fixes a bug introduced in my previous patch.
34310         * lib/malloca.c (struct preliminary_header): Use an int
34311         rather than a character array of size int; that's simpler.
34312         (struct header): Remove, replacing with ...
34313         (union header): New type.  This avoids the need for declaring a
34314         character array of size zero, which is not allowed on some platforms.
34315         All uses changed.
34317 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
34319         parse-datetime, tests: don't use "string" + int
34320         Recent versions of 'clang' complain about C source code that
34321         uses expressions of the form '"string literal" + integer',
34322         I guess on the theory that it's confusing for readers who are
34323         used to C++.  On those grounds I suppose it's OK to make this
34324         minor style change.
34325         * lib/parse-datetime.y (parse_datetime):
34326         * tests/test-fchdir.c (main):
34327         * tests/test-snprintf-posix.h (test_function):
34328         * tests/test-snprintf.c (main):
34329         * tests/test-vasnprintf-posix.c (test_function):
34330         * tests/test-vasnprintf.c (test_function):
34331         * tests/test-vsnprintf.c (main):
34332         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
34333         Rewrite '"str" + E' to '&"str"[E]'.
34335 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34337         argmatch: port to C++
34338         * lib/argmatch.h [__cplusplus]: Add extern "C".
34340         argp: typo fix
34341         * lib/argp-help.c: Typo in comment.
34343 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34345         manywarnings: update for GCC 4.8.0
34346         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
34347         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
34348         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
34349         -Wmissing-noreturn, as they are duplicates of other warnings.
34350         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
34351         was documented to be flaky in earlier versions of GCC.
34353         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
34354         * tests/test-spawn.c (main):
34355         * tests/test-sys_socket.c (main):
34356         * tests/test-sys_wait.c (main):
34357         Don't have a switch value that isn't covered by a case.
34359         getaddrinfo-tests: port --enable-gcc-warnings to clang
34360         * tests/test-getaddrinfo.c (simple):
34361         Avoid casts from looser to stricter-aligned pointers.
34363         thread: port --enable-gcc-warnings to clang
34364         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
34365         Include <signal.h>, to pacify a warning about pthread_sigmask.
34367         stdio: use __REDIRECT for fwrite, fwrite_unlocked
34368         * lib/stdio.in.h (fwrite):
34369         When working around bug 11959, use __REDIRECT rather than '#define
34370         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
34371         fix the -Wunused-value issue with clang, and it works with GCC too.
34372         Problem with targeting reported by Eric Blake in
34373         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
34374         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
34375         debugging the fwrite issue.
34377         stdio: port --enable-gcc-warnings to clang
34378         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
34379         since the GCC workaround for fwrite does not pacify clang.
34381         sig2str: port --enable-gcc-warnings to clang
34382         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
34384         obstack: port --enable-gcc-warnings to clang
34385         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
34386         Avoid casts from looser to stricter-aligned pointers.
34388         memchr2: port --enable-gcc-warnings to clang
34389         * lib/memchr2.c (memchr2):
34390         Avoid casts from looser to stricter-aligned pointers.
34392         mbsstr: port --enable-gcc-warnings to clang
34393         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
34394         Avoid casts from looser to stricter-aligned pointers.
34396         malloca: port --enable-gcc-warnings to clang
34397         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
34398         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
34400         inttostr: port --enable-gcc-warnings to clang
34401         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
34403         warnings: port to clang
34404         Problem reported by Daniel P. Berrange via Eric Blake in
34405         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
34406         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
34407         (gl_WARN_ADD): Use it.
34409 2013-05-11  Jim Meyering  <meyering@fb.com>
34411         quotearg: do not read beyond end of buffer
34412         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
34413         end of an ARG for which no length was specified.  With an N-byte
34414         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
34415         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
34416         via coreutils' misc/sort-debug-keys.sh test and detected by running
34417         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
34418         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
34419         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
34420         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
34421         characters correctly."
34423 2013-05-11  Daiki Ueno  <ueno@gnu.org>
34425         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
34426         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
34427         compilation target is Mac OS X 10.6.
34428         Problem reported by parafin and Andoni Morales in
34429         <http://savannah.gnu.org/bugs/?37844> and
34430         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
34432 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34434         mkdir-p: remove assumptions about umask and mode
34435         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
34436         umask is 0, or that MODE is a subset of MODE_BITS.
34438 2013-05-10  Eric Blake  <eblake@redhat.com>
34440         maint.mk: catch more abuse of HAVE_DECL in syntax-check
34441         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
34443 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
34445         deps: require Automake >= 1.9.6 in generated Makefile fragments
34447         That is the same minimal version required in the DEPENDENCIES file.
34448         Moreover, the old code generated a requirement of Automake >= 1.5,
34449         and that is an insanely outdated version.
34451         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
34452         * tests/havelib/rpathlx/Makefile.am: Likewise.
34453         * tests/havelib/rpathly/Makefile.am: Likewise.
34454         * tests/havelib/rpathlyx/Makefile.am: Likewise.
34455         * tests/havelib/rpathlz/Makefile.am: Likewise.
34456         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
34457         * tests/havelib/rpathx/Makefile.am: Likewise.
34458         * tests/havelib/rpathy/Makefile.am: Likewise.
34459         * tests/havelib/rpathz/Makefile.am: Likewise.
34461 2013-05-08  Eric Blake  <eblake@redhat.com>
34463         bootstrap: AC_INIT may have more than four parameters
34464         * build-aux/bootstrap (extract_package_name): Correctly extract
34465         non-empty tarname field.  Avoid range in regex.
34466         Based on a report by Sami Kerola <kerolasa@iki.fi>.
34468 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
34470         qacl: port to MS-Windows port of GNU Emacs
34471         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
34472         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
34473         port of GNU Emacs.  Problem reported by Eli Zaretskii in
34474         <http://bugs.gnu.org/14295#14>.
34476 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
34478         acl: include quote.h
34479         * lib/copy-acl.c: Include quote.h.
34480         * lib/set-acl.c: Likewise.
34482 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
34484         fchownat, renameat, unlinkat: update statat dependencies
34485         These modules use statat and lstatat, not fstatat; so depend on
34486         the statat module, which was split out recently from fstatat.
34487         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
34488         * modules/renameat: Likewise.  Also delete fstat.
34489         URL: http://bugs.gentoo.org/468790
34491 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
34493         Assume gnulib is checked out from Git, not CVS
34495         In fact, access to the gnulib repository through CVS has been
34496         disabled, or more precisely, got broken and was never restored; see:
34497         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
34499         Note that support for CVS is not removed completely and unthinkingly
34500         by this change: only support for CVS checkouts of gnulib itself is
34501         removed.  For example, the 'bootstrap' script still cater to .cvsingore
34502         files and CVS directories, for the benefit of those poor gnulib clients
34503         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
34505         * gnulib-tool: Simplify accordingly.
34506         * posix-modules: Likewise.
34507         * MODULES.html.sh: Likewise.
34508         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
34509         repository.
34510         * doc/gnulib-intro.texi: Likewise.
34511         * doc/gnulib-readme.texi: Likewise.
34512         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
34513         sample '.gitignore' file rather than a sample '.cvsignore'.
34514         * NEWS: Update.
34515         * m4/extensions.m4: While at it, remove a comment mistakenly referring
34516         to "CVS Autoconf" rather than "git Autoconf".
34518 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
34520         utimensat-tests, etc.: try to fix some races
34521         Problem reported by Bernhard Voelker in
34522         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
34523         I don't know whether this patch fixes that race condition, but it
34524         fixes *some* race conditions, so it should be a win.
34525         * modules/chown-tests (Depends-on):
34526         * modules/fchownat-tests (Depends-on):
34527         * modules/fdutimensat-tests (Depends-on):
34528         * modules/futimens-tests (Depends-on):
34529         * modules/lchown-tests (Depends-on):
34530         * modules/stat-time-tests (Depends-on):
34531         * modules/utimens-tests (Depends-on):
34532         * modules/utimensat-tests (Depends-on):
34533         Depend on nanosleep, not usleep.
34534         * modules/chown-tests (test_chown_LDADD):
34535         * modules/lchown-tests (test_lchown_LDADD):
34536         * modules/stat-time-tests (test_stat_time_LDADD):
34537         New macro.
34538         * modules/fchownat-tests (test_fchownat_LDADD):
34539         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
34540         * modules/futimens-tests (test_futimens_LDADD):
34541         * modules/utimens-tests (test_utimens_LDADD):
34542         * modules/utimensat-tests (test_utimensat_LDADD):
34543         Add $(LIB_NANOSLEEP).
34544         * modules/stat-time-tests (Files): Add tests/nap.h.
34545         * tests/nap.h: Include <limits.h>, for INT_MAX.
34546         (lt_mtime): Remove.
34547         (diff_timespec): New function.
34548         (get_stat): Rename from get_mtime.  All callers changed.
34549         (nap_works): Determine the needed delay by inspecting the
34550         file system's timestamp jumps; this should be more reliable.
34551         Look at both mtime and ctime, and take the maximum of the two jumps.
34552         (nap_works, guess_delay):
34553         Return a nanosecond count, not a microsecond count.
34554         All callers changed.
34555         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
34556         failure.
34557         (nap): Multiply the guess by 1.125, to accommodate the case where
34558         the file system's clock is a bit slower than nanosleep's clock.
34559         * tests/test-stat-time.c (BASE): New macro.
34560         Include nap.h.
34561         (nap): Remove; nap.h now defines this.  This removes a duplicate
34562         implementation of 'nap'.
34564         utimens, utimensat: work around Solaris UTIME_OMIT bug
34565         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
34566         Linux kernel 2.6.32 does.  Work around it in the same way.
34567         * doc/posix-functions/futimens.texi (futimens):
34568         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
34569         * lib/utimens.c (fdutimens, lutimens):
34570         * lib/utimensat.c (rpl_utimensat): Work around the bug.
34572         gettext: now it's your responsibility to add -I$(top_builddir)/intl
34573         Formerly, it was your responsibility to do this for all Makefile.ams
34574         other than Gnulib's.  Now it's your responsibility to do it for
34575         Gnulib's Makefile.am, too.
34576         * NEWS: Document this.
34577         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
34579         acl: include errno.h to get errno
34580         Reported by Daiki Ueno in
34581         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
34582         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
34584 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
34586         tests: don't assume getdtablesize () <= 10000000
34587         * modules/cloexec-tests:
34588         * modules/dup2-tests:
34589         * modules/dup3-tests:
34590         * modules/nonblocking-tests:
34591         * modules/posix_spawn_file_actions_addclose-tests:
34592         * modules/posix_spawn_file_actions_adddup2-tests:
34593         * modules/posix_spawn_file_actions_addopen-tests:
34594         * modules/unistd-safer-tests:
34595         Depend on the getdtablesize module.
34596         * tests/test-cloexec.c:
34597         * tests/test-dup-safer.c:
34598         * tests/test-dup2.c:
34599         * tests/test-dup3.c:
34600         * tests/test-fcntl.c:
34601         * tests/test-nonblocking.c:
34602         * tests/test-posix_spawn_file_actions_addclose.c:
34603         * tests/test-posix_spawn_file_actions_adddup2.c:
34604         * tests/test-posix_spawn_file_actions_addopen.c:
34605         Don't assume getdtablesize () <= 10000000.
34607 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
34609         extern-inline: work around bug in Sun c99
34610         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
34611         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
34613 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
34615         qacl: new module, broken out from the acl module
34616         This is for GNU Emacs, which wants the acl functions but does
34617         not want 'error' invoked when they fail.
34618         * lib/acl-internal.h: Do not include error.h, quote.h.
34619         (ENOSYS, ENOTSUP): Remove; no longer needed.
34620         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
34621         * lib/acl.h: Include <stdbool.h>.
34622         (acl_errno_valid): New function.
34623         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
34624         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
34625         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
34626         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
34627         (ACL_INTERNAL_INLINE): Remove; no longer needed.
34628         * lib/file-has-acl.c (file_has_acl):
34629         * lib/qcopy-acl.c (qcopy_acl):
34630         * lib/qset-acl.c (qset_acl):
34631         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
34632         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
34633         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
34634         lib/file-has-acl.c, m4/acl.m4 to qacl module.
34635         Add lib/set-acl.c.
34636         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
34637         Add qacl.
34638         (configure.ac): Move gl_FUNC_ACL to qacl module.
34639         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
34640         Rename set-mode-acl.c to set-acl.c.
34641         * lib/acl-errno-valid.c: New file.
34642         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
34643         copy_acl function remains in copy-acl.c.
34644         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
34645         (_): Remove; not needed.
34646         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
34647         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
34648         * modules/qacl: New file, moved from the old modules/acl.
34649         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
34650         Remove set-mode-acl.c, copy-acl.c.
34651         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
34653         alignof, intprops, malloca: port better to IBM's C compiler
34654         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
34655         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
34656         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
34658 2013-04-25  Daiki Ueno  <ueno@gnu.org>
34660         wctype-h: fix gettext link error on mingw
34661         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
34662         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
34663         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
34664         rpl_towupper and rpl_towupper.
34666 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
34668         regex-tests, regex: allow glibc re_search behavior
34669         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
34670         re_search input data to make the multi-character collating element
34671         in it clearly visible, and treat re_search return code 0 as valid.
34672         * m4/regex.m4 (gl_REGEX): Likewise.
34674 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34676         stdalign: doc fix
34677         * doc/posix-headers/stdalign.texi (stdalign.h):
34678         Gnulib doesn't support '_Alignof expr'.
34680 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
34682         stdalign: port to stricter ISO C11
34683         ISO C11 says that _Alignof's operand must be a parenthesized type.
34684         Problem reported by Eli Zaretskii in
34685         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
34686         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
34687         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
34689 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
34691         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
34692         Problem reported by Marco Atzeri in
34693         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
34694         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
34695         Simply delegate to the system <sys/select.h> in this case too.
34696         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
34697         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
34698         be needed on Solaris either.
34699         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
34700         Simply delegate to the system <sys/time.h> in this case.
34702 2013-03-19  Karl Berry  <karl@gnu.org>
34704         * build-aux/gnupload: check for erroneous (with gnupload) use of
34705         ftp-upload.gnu.org, tweak help.
34707 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34709         copy-file, rpmatch: fix problems found by cppcheck
34710         Reported by Arno Onken in
34711         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
34712         * lib/rpmatch.c (try): Fix memory leak.
34713         * lib/copy-file.c: Include "ignore-value.h".
34714         (qcopy_file_preserving): Ignore chown value.
34715         * modules/copy-file (Depends-on): Add ignore-value.
34717 2013-01-27  Jim Meyering  <jim@meyering.net>
34719         prefix-gnulib-mk: give better diagnostics
34720         * build-aux/prefix-gnulib-mk: Don't just "die".
34721         Give better diagnostics upon failure.
34723 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
34725         putenv: port to Solaris 10
34726         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
34727         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
34728         is not what is wanted here.
34729         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
34730         declaration, not for its existence.
34732 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
34734         mktime: fix configure typo
34735         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
34737 2013-03-12  Eric Blake  <eblake@redhat.com>
34739         regex-tests: skip UTF-8 test on mingw
34740         * modules/regex-tests (Depends-on): Add localcharset.
34741         * tests/test-regex.c (main): Use it to skip test on mingw.
34743 2013-03-11  Eric Blake  <eblake@redhat.com>
34745         tests: make it easier to bypass alarm time in debugger
34746         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
34747         * tests/test-memmem.c (main): Likewise.
34748         * tests/test-passfd.c (main): Likewise.
34749         * tests/test-ptsname.c (main): Likewise.
34750         * tests/test-ptsname_r.c (main): Likewise.
34751         * tests/test-strcasestr.c (main): Likewise.
34752         * tests/test-strstr.c (main): Likewise.
34754         regex: port to mingw's recent addition of undeclared alarm
34755         * doc/posix-functions/alarm.texi (alarm): Document that alarm
34756         exists but still doesn't work in newer mingw.
34757         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
34758         not existence.  Ensure SIGALRM is not trapped.
34759         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
34760         * m4/regex.m4 (gl_REGEX): Likewise.
34761         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
34762         * tests/test-regex.c (main): Use correct probe for alarm.
34764         putenv: avoid compilation warning on mingw
34765         * lib/putenv.c (_unsetenv): Protect variable declaration.
34766         (putenv): Fix indentation.
34768 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
34770         unistd: don't prevent Tru64 Unix from using gnulib strtod.
34771         * lib/unistd.in.h: be careful not to include un-needed system
34772         stdlib.h from here, because that prevents gnulib stdlib.h from
34773         defining rpl_strtod correctly.
34775 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
34777         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
34778         changesets, but for the 'precision 0' test.
34779         * tests/test-vasprintf-posix.c (test_function): Don't insist on
34780         round-to-even, since POSIX says rounding is implementation-defined
34781         and OS X 10.8.2 rounds 1.51 to 1 here.
34783         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
34784         changeset.
34785         * tests/test-vasprintf-posix.c (test_function): Don't insist on
34786         round-to-even, since POSIX says rounding is implementation-defined
34787         and OS X 10.8.2 rounds 1.5 to 1 here.
34789 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34791         vasnprintf-posix-tests: allow rounding 1.5 to 1
34792         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
34793         round-to-even, since POSIX says rounding is implementation-defined
34794         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
34795         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
34797         bootstrap: port to FreeBSD
34798         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
34799         that treat '--' differently.  Reported by Mats Erik Andersson in
34800         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
34802 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
34804         regex: rename remaining __attribute calls to __attribute__.
34805         2012-02-25 changed definition of __attribute, but left some uses
34806         unchanged, preventing compilation of regex module on most non-gcc
34807         environments.
34808         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
34809         (lookup_collation_sequence_value, build_range_exp)
34810         (build_collating_symbol): Set attributes with newly renamed
34811         __attribute__ decorator.
34812         * lib/regex_internal.c (re_string_peek_byte_case)
34813         (re_node_set_compare, re_node_set_contains): Likewise.
34814         * lib/regexec.c (acquire_init_state_context): Likewise.
34816 2013-03-06  Bruno Haible  <bruno@clisp.org>
34818         execute: Revert last change, but use a different condition.
34819         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
34820         on Windows.
34822 2013-03-05  Eric Blake  <eblake@redhat.com>
34824         execute: drop dead code
34825         * lib/execute.c (nonintr_close, nonintr_open): Delete.
34827 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
34829         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
34830         * m4/non-recursive-gnulib-prefix-hack.m4
34831         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
34832         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
34833         <http://bugs.gnu.org/10305#237>.
34835 2013-03-04  Eric Blake  <eblake@redhat.com>
34837         test-getsockopt: avoid compiler warning
34838         * tests/test-getsockopt.c (includes): Ensure close is declared.
34840 2013-03-02  Bruno Haible  <bruno@clisp.org>
34842         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
34843         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
34845 2013-03-02  Bruno Haible  <bruno@clisp.org>
34847         gettext: Update to version 0.18.2.
34848         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
34849         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
34850                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
34852 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
34854         regex: merge patches from libc
34856         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
34857         * lib/regex_internal.h (__attribute__): Rename from __attribute.
34858         All uses changed.
34859         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
34860         (re_string_wchar_at, re_string_elem_size_at):
34861         Mark function as possibly unused.
34863         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
34864         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
34865         elements compare against the byte sequence of it, not its name.
34867 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
34869         putenv: port better to native Windows
34870         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
34871         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
34872         (_unsetenv): Use _putenv if available.
34873         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
34874         a bit less likely to cause damage.
34875         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
34876         Fix the wrong value with SetEnvironmentVariable.
34877         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
34878         code better.
34880 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
34882         regex: ignore old-style-definition warnings
34883         * lib/regex.c: Add pragma to ignore these warnings.
34884         Problem reported for GNU tar by Pavel Raiskup.
34886 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
34888         getcwd: support coreutils better
34889         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
34890         but this might not be correct in coreutils, which disables
34891         the raw decl checks.  Problem reported by Nagendra in
34892         <http://bugs.gnu.org/10305#192>.
34893         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
34894         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
34895         Test the getcwd function, not any macro, since getcwd.c wants the
34896         function.
34897         * m4/getcwd.m4 (gl_FUNC_GETCWD):
34898         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
34899         compile, as might happen if there's a macro but no function.
34901         strtod: support coreutils better
34902         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
34903         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
34904         disables the raw decl checks.  This assumes there is an underlying
34905         strtod, but that's a safe assumption these days.
34906         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
34908         mountlist: port to HP NonStop
34909         Reported by Joachim Schmitz in
34910         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
34911         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
34912         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
34914 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
34916         extern-inline: avoid compilation error with HP-UX cc
34917         Reported by Richard Lloyd in
34918         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
34919         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
34920         Suppress extern inline with HP-UX cc.  This should be safe,
34921         though it may hurt performance.  Perhaps someone with some HP-UX
34922         experience can come up with a higher-performance fix.
34924 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
34926         putenv: fix heap corruption with mixed putenv/_putenv
34927         Problem reported by Michael Goffioul in
34928         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
34929         * lib/putenv.c (putenv) [HAVE__PUTENV]:
34930         Rely on _putenv to allocate the new environment.
34931         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
34932         * modules/putenv (configure.ac): Use it.
34934 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
34936         unsetenv etc.: port to Solaris 11 + GNU Emacs
34937         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
34938         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
34939         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
34940         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
34941         idea but is too painful to fix right now), and without this gnulib
34942         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
34943         compiling unsetenv.c on Solaris 11.  Fix the problem for
34944         unsetenv.c, and fix other similar occurrences.
34946 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
34948         secure_getenv: fix C++ declaration typo
34949         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
34950         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
34951         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
34953 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
34955         careadlinkat: stop exporting careadlinkatcwd
34956         Only Emacs used it directly, and Emacs no longer needs it.
34957         * NEWS: Document this simplification.
34958         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
34959         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
34960         for readlink.
34961         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
34962         Don't include stdlib.h; no longer needed.
34963         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
34964         * lib/relocwrapper.c: Adjust comment to match new dependencies.
34965         * modules/areadlink (Depends-on): Add readlink.
34966         (Maintainer): Add self.
34967         * modules/careadlinkat (Depends-on): Remove readlink.
34969         extensions: port better to HP-UX
34970         This is merged from git Autoconf.
34971         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
34972         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
34973         so that it's compatible with the value used when compiling.
34975         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
34976         Problem reported by Mats Erik Andersson in
34977         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
34978         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
34979         openpty function exists, not merely when we intend to replace it.
34980         This corrects the 2013-01-31 patch, which mistakenly defined
34981         HAVE_OPENPTY even on hosts that lacked it.
34983 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
34985         secure_getenv: fix include typo
34986         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
34988         secure_getenv: port better to FreeBSD and Solaris
34989         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
34990         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
34991         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
34992         This works better on BSDish platforms.
34993         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
34994         Test for issetugid if __secure_getenv is missing.
34996 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
34998         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
34999         Some of these changes are merged in from git Autoconf.
35000         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35001         When deciding whether to define _XOPEN_SOURCE, inspect the
35002         preprocessor macro __hpux instead of the more-heavyweight
35003         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
35004         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
35005         as the key for __EXTENSIONS__.
35007         unistd: avoid namespace pollution on non-glibc systems
35008         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
35009         This avoids namespace pollution on non-glibc systems, by causing
35010         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
35011         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
35012         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
35014 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35016         tmpdir: use secure_getenv
35017         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
35018         Define to secure_getenv, not getenv.
35019         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
35020         as that's now secure_getenv's job.
35021         * modules/tmpdir (Depends-on): Add secure_getenv.
35023         tempname: use secure_getenv
35024         * lib/tempname.c (__secure_getenv) [!_LIBC]:
35025         Define to secure_getenv, not getenv.
35026         * modules/tempname (Depends-on):
35027         Add secure_getenv.
35029         secure_getenv: new module
35030         * MODULES.html.sh (Extra functions based on ANSI C 89):
35031         Add secure_getenv.
35032         * doc/glibc-functions/secure_getenv.texi: New file.
35033         * doc/gnulib.texi: Include it.
35034         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
35035         New files.
35036         * lib/stdlib.in.h (secure_getenv): New decl.
35037         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
35038         * modules/stdlib (stdlib.h):
35039         Add secure_getenv checks.
35041 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35043         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
35044         Reported for OS X 10.8.2 by Assaf Gordon in
35045         <http://bugs.gnu.org/13516>.
35046         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
35047         !HAVE_OPENAT && !HAVE_FDOPENDIR.
35048         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
35049         so that they can be kept in sync more easily.  Avoid PATH_MAX
35050         test on the Hurd.  Sync from test-getcwd.c for errno tests after
35051         mkdir or chdir failure.
35052         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
35053         lib/getcwd.c.
35054         (test_abort_bug): Do not test for the deep directory bug unless we
35055         have openat support.  Avoid PATH_MAX test on the Hurd.
35057         regex-tests, regex: fix bug: memset undeclared
35058         * tests/test-regex.c: Don't include regex.h twice.  Include
35059         string.h, to declare memset.  Christensen's report also mentioned
35060         this issue.
35061         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
35062         test-regex.c, to avoid future problems like this.  Remove
35063         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
35064         twice.
35066         regex-tests: fix link errors on older Solaris
35067         These need to link with @LIBINTL@ to get libintl_gettext.
35068         Problem reported by Tom G. Christensen in
35069         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
35070         * modules/regex-tests (test_regex_LDADD): New macro.
35072 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35074         regex-tests: new module
35075         * modules/regex-tests, tests/test-regex.c: New files.
35077         regex: fix off-by-one error in configure test
35078         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
35080 2013-01-31  Eric Blake  <eblake@redhat.com>
35082         regex: avoid infinite configure test
35083         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
35085 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
35087         openpty: fix bug where HAVE_OPENPTY wasn't defined
35088         See the thread starting at:
35089         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
35090         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35091         openpty function exists, not merely when we intend to replace it.
35093 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
35095         sys_time: port to Solaris 2.6
35096         There is a circularity problem on Solaris 2.6, where <time.h> includes
35097         <sys/time.h> for struct timespec.  The include nesting is gnulib
35098         <time.h>, system <time.h>, gnulib <sys/time.h>, system
35099         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
35100         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
35101         <sys/siginfo.h>; the last, innermost file needs struct
35102         timestruc_t, which is defined in <sys/time.h>, which has not been
35103         fully parsed.  Problem reported by Tom G. Christensen in
35104         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
35105         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
35106         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
35107         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
35108         uses split double-inclusion guards.
35110 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35112         regex: test for buffer overrun
35113         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
35114         for the just-fixed regex bug.
35116 2013-01-29  Andreas Schwab  <schwab@suse.de>
35118         regex: fix buffer overrun in regexp matcher [BZ #15078]
35119         * lib/regexec.c (extend_buffers): Add parameter min_len.
35120         (check_matching): Pass minimum needed length.
35121         (clean_state_log_if_needed): Likewise.
35122         (get_subexp): Likewise.
35124 2013-01-28  Pádraig Brady  <P@draigBrady.com>
35126         mountlist: don't consider "devtmpfs" as dummy
35127         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
35128         as there is storage associcated with it.
35130 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35132         futimens-tests, utimens-tests: Depend on gettext.
35133         This works around a problem introduced in my 2013-01-12 patch,
35134         which added @LIBINTL@ to these modules.
35135         * modules/futimens-tests (Depends-on):
35136         * modules/utimens-tests (Depends-on): Add gettext.
35138 2013-01-26  Eric Blake  <eblake@redhat.com>
35140         test-getpeername: fix typo
35141         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
35143 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
35145         bootstrap: remove the need for a sorted .gitignore file
35146         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
35147         rename to insert_if_absent(), so that we don't need or generate
35148         a sorted .gitignore file.  We do require a .gitignore with no
35149         existing duplicate entries and enforce that.
35150         (sort_patterns): Remove this function as we now use the simpler
35151         technigue of inserting blacklist entries at the top of the file,
35152         assuming gnulib won't be inserting !whitelist entries.
35154 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35156         readlinkat: don't depend on gl_FUNC_OPENAT
35157         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
35158         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
35159         renameat.m4, symlinkat.m4; but one thing at a time.
35161         statat: new module, split out from fstatat
35162         GNU Emacs needs the POSIX-specified fstatat, but not the
35163         gnulib-specified statat and lstat.  Split the latter two into a
35164         new module 'statat'.
35165         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
35166         * lib/openat.h, lib/statat.c (STATAT_INLINE):
35167         Rename from FSTATAT_INLINE. All uses changed.
35168         * modules/fstatat (Files): Remove lib/statat.c.
35169         (gl_MODULE_INDICATOR([fstatat])): Remove.
35170         (lib_SOURCES): Remove.
35171         (Maintainer): Add self.
35172         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
35173         * tests/test-fstatat.c (BASE): Don't define if already defined.
35174         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
35176 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35178         tests: don't assume fd 99 is closed
35179         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
35180         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
35181         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
35182         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
35183         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
35184         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
35185         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
35186         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
35187         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
35188         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
35189         * tests/test-fwrite.c, tests/test-getpeername.c:
35190         * tests/test-getsockname.c, tests/test-getsockopt.c:
35191         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
35192         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
35193         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
35194         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
35195         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
35196         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
35197         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
35198         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
35199         * tests/test-unlinkat.c, tests/test-unlockpt.c:
35200         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
35201         Close file descriptor 99, instead of assuming it's already closed.
35203 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
35205         stpncpy: port to OS X 10.8
35206         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
35207         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
35209 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35211         unistd: port to recent mingw
35212         * lib/unistd.in.h: Remove special invocation convention for mingw,
35213         which breaks for the latest mingw version.  See John W. Eaton in
35214         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
35216         largefile: port better to Mac OS X 10.5
35217         This patch is backported from Autoconf git.
35218         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
35219         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
35220         with ino_t size being different for configuration time versus
35221         build/run time.  Problem reported by PHO in
35222         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
35224 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35226         doc: clarify -Werror
35227         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
35228         clarify that it's intended for developers, not for ordinary builds,
35229         and mention --enable-gcc-warnings as one possible use.
35231 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
35233         stdint: fix build with Android's Bionic fox x86
35234         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
35235         was already included as _SSIZE_T_DEFINED_ might also be defined
35236         in include/machine/_types.h, which is included by stdio.h
35238 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
35240         net_if-tests: port to Solaris 7 + GCC 3.4.6
35241         Problem reported by Tom G. Christensen in
35242         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
35243         * tests/test-net_if.c (ni): Move to next the code that uses it,
35244         so that it's declared only if needed.
35246 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35248         net_if-tests: port to older Solaris
35249         Problem reported by Tom G. Christensen in
35250         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35251         * modules/net_if-tests (NET_IF_LIB): New substitution.
35252         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
35253         (HAVE_IF_NAMEINDEX): New C macro.
35254         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
35256         system-quote-tests: port to older Solaris
35257         Problem reported by Tom G. Christensen in
35258         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35259         * tests/test-system-quote-child.c (fopen, fread): Undef.
35261         c-xvasprintf etc.: fix link errors on older Solaris
35262         These need to link with @LIBINTL@ to get libintl_gettext.
35263         Problem reported by Tom G. Christensen in
35264         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35265         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
35266         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
35267         * modules/futimens-tests (test_futimens_LDADD):
35268         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
35270 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35272         locale: port to Solaris 2.6 and 7 + GNU gettext
35273         * lib/locale.in.h: Just include_next <locale.h> when
35274         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
35275         when combining the localename module with GNU gettext 0.18.2.
35276         Problem reported by Tom G. Christensen in
35277         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
35279 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35281         stdlib: port to Solaris 2.6
35282         Also, the code worked on Solaris 7 through 9 only by accident.
35283         Problem reported by Tom G. Christensen in
35284         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
35285         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
35286         simply include the system stdlib.h.
35287         * lib/getopt.in.h (__need_system_stdlib_h):
35288         * lib/pthread.in.h (__need_system_stdlib_h):
35289         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
35290         Define when including <stdlib.h>, to avoid problems at least for
35291         the pthread case on Solaris 2.6 and 7.  These .h files can get by
35292         with the system stdlib.h.
35294 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
35296         doc: update main copyright year
35297         * doc/gnulib.texi: Update copyright date.
35299         doc: improve ISO 8601 discussion
35300         * doc/parse-datetime.texi (Combined date and time of day items):
35301         Specify more carefully what formats are supported and what is
35302         done with excess precision.
35304 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35306         doc: avoid small caps
35307         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
35308         they're more trouble than they're worth.  Suggested by Karl Berry
35309         in <http://bugs.gnu.org/13360>.
35311         regex: conform to strict C
35312         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
35313         From Aharon Robbins.
35315         gnulib-tool: fix incompatibility with autopoint 0.18.2
35316         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
35317         Problem reported by Tom G. Christensen in
35318         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
35320 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35322         fprintftime: bring back and reword fwrite comment
35323         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
35325         stdio: remove now-unnecessary stdio.c
35326         Since stdio.in.h no longer uses inline functions, we no longer
35327         need to compile the extern versions.
35328         * lib/stdio.c: Remove.
35329         * modules/stdio (Files): Remove lib/stdio.c.
35330         (lib_SOURCES): Remove.
35332         unicodeio: depend on stdio, not ignore-value
35333         * lib/unicodeio.c: Do not include ignore-value.h.
35334         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
35335         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
35337         fprintftime: depend on stdio, not ignore-value
35338         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
35339         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
35340         since the stdio module arranges to silence that warning now.
35341         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
35343 2012-10-04  Simon Josefsson  <simon@josefsson.org>
35345         stdint-tests: Fix expanded-before-required-warning.
35346         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
35348 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
35350         fwrite: silence __wur only for older glibc versions
35351         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
35352         This will help us remove this workaround some time in the far future.
35354 2013-01-03  Eric Blake  <eblake@redhat.com>
35356         fwrite: silence __wur without using inline
35357         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
35358         just gcc, and in a way that avoids inline issues.
35359         * modules/stdio (Depends-on): Drop extern-inline.
35361 2013-01-03  Jim Meyering  <jim@meyering.net>
35363         update-copyright: avoid copyright notice date corruption
35364         Given a sequence of copyright year numbers in which the final
35365         one was a two-digit number that happened to be a substring of
35366         a preceding four-digit year number, we would mistakenly update
35367         the substring (from two- to four-digit) rather than the two-digit
35368         number at the end, which, combined with the addition of the current
35369         4-digit year number would yield two 5-digit year numbers, e.g.,
35370         here, it would convert the first "99" to "1999, 2013" rather than
35371         the final one:
35372           1991, 99
35373           11999, 20131, 1999
35374         * build-aux/update-copyright: Tighten a regexp.
35375         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
35376         Reported by Joseph Myers in
35377         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
35379 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35381         regex: omit needless signed-pointer casts
35382         * lib/regcomp.c (build_charclass, build_charclass_op):
35383         Use char *, not unsigned char *, for class name and extra.
35384         The char values are always nonnegative so there's no need to
35385         insist on unsigned char * here, and using char * removes the need
35386         for casts.  Reported by Aharon Robbins in
35387         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35389         regex: support Gawk, which never uses alloca
35390         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
35391         Do not include in this case.  Gawk doesn't supply a substitute
35392         alloca.h and doesn't need one.
35394         regex: port __libc_lock_define usage to C89
35395         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
35396         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
35397         does not conform to C89, as it has an empty macro argument.
35398         Reported by Aharon Robbins in
35399         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35401 2013-01-01  Eric Blake  <eblake@redhat.com>
35403         maint: update all copyright year number ranges
35404         Run "make update-copyright".
35406         version-etc: bump copyright year reported in --version
35407         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
35409 2012-12-31  Eric Blake  <eblake@redhat.com>
35411         sigprocmask-tests: skip test if pid is unexpectedly large
35412         * tests/test-sigprocmask.c (main): Add range check.
35414         git-version-gen: avoid test -z portability glitch
35415         * build-aux/git-version-gen: Prefer portable test spelling, since
35416         git-version-gen is run on more than just developer machines.
35418 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
35420         git-version-gen: add --fallback option to use if git is not present
35421         * build-aux/git-version-gen: Add support for the new option --fallback,
35422         which comes into play when there is no $tarball_version_file and
35423         git is not working.
35424         (scriptversion): Update.
35426         maint.mk: handle missing git with more grace
35427         * top/maint.mk (no-submodule-changes, public-submodule-commit):
35428         Quietly proceed if git is not present.
35430 2012-12-31  Eric Blake  <eblake@redhat.com>
35432         dup2: work around cygwin bug
35433         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
35434         * lib/dup2.c (rpl_dup2): Work around it.
35435         * doc/posix-functions/dup2.texi (dup2): Document it.
35437 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35439         regex: remove unnecessary dependency on localcharset.h
35440         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
35441         hasn't been needed for years.
35442         * modules/regex (Depends-on): Remove localcharset.
35444         regex: revert single-byte change
35445         * lib/regexec.c (check_node_accept_bytes): Revert previous change
35446         to this function.  This was alredy fixed in a different way, at
35447         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
35448         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
35449         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
35451         regex: simplify based on Gawk version
35452         * lib/regex_internal.c (re_dfa_add_node): Simplify.
35453         Reported by Aharon Robbins in
35454         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35456 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35458         regex: check that pattern char is single-byte
35459         Reported by Aharon Robbins in
35460         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35461         * lib/regexec.c (check_node_accept_bytes):
35462         Return 0 if the pattern string has a multibyte character here.
35464         regex: implement rational ranges
35465         Reported by Aharon Robbins in
35466         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35467         * lib/regcomp.c (build_range_exp) [!_LIBC]:
35468         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
35469         Implement rational ranges.
35471         regex: avoid redefining __wctype
35472         Reported by Aharon Robbins in
35473         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35474         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
35475         #undef before defining.
35477         regex: port to hosts where malloc (0) == NULL
35478         Reported by Aharon Robbins in
35479         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35480         * lib/regex_internal.c (re_node_set_alloc):
35481         Don't assume that malloc (0) yields nonnull.
35482         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
35483         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
35484         * modules/regex (Files): Add m4/eealloc.m4.
35486         regex: port to C89
35487         Reported by Aharon Robbins in
35488         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35489         * lib/regcomp.c (init_word_char): Declaration before statement.
35491         regex: merge glibc changes
35492         Also, copy the license wording from glibc.  This simplifies
35493         merging changes.  gnulib-tool will change the wording to GPL as
35494         appropriate, when importing it to other packages.  The only
35495         glibc change made since the last merge, which needs merging, is:
35496         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
35497         * lib/regex_internal.h (gettext): Remove use of INTUSE.
35499         * users.txt: Add Emacs.
35501         doc: omit mention of version when not needed
35502         * doc/gnulib-intro.texi (Portability and Application Code):
35503         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
35504         Don't mention particular dates or versions when not necessary, so
35505         that the documentation won't go out of date so quickly.
35507         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
35509 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
35511         bootstrap: pass --force to autoreconf.
35512         * build-aux/bootstrap (AUTORECONFFLAGS): New.
35513         Add "--force" so that Automake's ylwrap and other such tools
35514         be updated at each bootstrap invocation.
35515         Use it.
35517 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
35519         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
35520         The earlier patch forgot to update one of the #if conditions, causing
35521         a problem on Debian testing i386 reported by Mats Erik Andersson
35522         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
35523         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
35524         (__argp_fmtstream_puts, argp_fmtstream_puts)
35525         (__argp_fmtstream_write, argp_fmtstream_write)
35526         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
35528         * doc/gnulib-readme.texi: Minor fixups.
35529         (Portability guidelines): Modernize URLs.  Remove some repetition.
35530         (Indent with spaces not TABs): Reword to avoid too-long lines.
35531         Remove some '@ifset standalone' stuff that isn't used.
35533         * doc/gnulib-readme.texi (Portability guidelines):
35534         ctype.h, not ctime.h.
35536         Correct name of POSIX.1-2001.
35537         * doc/posix-functions/fgetc.texi (fgetc):
35538         * doc/posix-functions/fgets.texi (fgets):
35539         * doc/posix-functions/fread.texi (fread):
35540         * doc/posix-functions/fscanf.texi (fscanf):
35541         * doc/posix-functions/getc.texi (getc):
35542         * doc/posix-functions/getchar.texi (getchar):
35543         * doc/posix-functions/scanf.texi (scanf):
35544         POSIX.1-2001, not POSIX-2001.
35546         doc: move README into manual
35547         * README: Move contents to new file doc/gnulib-readme.texi.
35548         Replace with a one-line summary.
35549         * doc/gnulib.texi (Brief Overview): New section,
35550         with old intro preface.  Include gnulib-readme.texi for contents.
35551         (Philosophy): Rename from "Introduction", since this
35552         section no longer introduces the rest.  Write a new preface.
35553         * doc/gnulib-readme.texi: New file, with the old contents of
35554         README texinfo-ized.  This way, the README info appears
35555         in the online and printed manual.
35557 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
35559         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
35560         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
35561         c_vasprintf() prototype.
35563 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
35565         c-vasprintf: Fix "empty declaration" warning reported by GCC.
35566         * lib/c-vasprintf.h: Remove stray semicolon.
35568 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
35570         gettext: avoid obsolete macro AM_PROG_MKDIR_P
35571         It is obsolete and is planned to be removed from Automake 1.14; see
35572         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
35573         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
35574         (installdirs-data, installdirs-data-yes):
35575         Use $(MKDIR_P), not $(mkdir_p).
35576         * m4/intl.m4 (AM_INTL_SUBDIR):
35577         * m4/po.m4 (AM_PO_SUBDIRS):
35578         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
35580 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
35582         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
35583         On this platform, we are not optimizing but we are using
35584         the substitute for extern inlines, so compile as if
35585         C99-style extern inline, or a substitute, is available.
35586         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
35587         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
35588         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
35589         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
35590         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
35591         Declare as ARGP_FS_EI, not as extern.
35592         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
35593         (__option_is_short, _option_is_end, __option_is_end)
35594         [!_LIBC && __USE_EXTERN_INLINES]:
35595         Declare as ARGP_EI, not as extern.
35597 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
35599         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
35600         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
35601         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
35602         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
35603         ...), as the latter is fatal with older Autoconfs.
35604         Problem reported and fix suggested by Eric Blake in thread starting at
35605         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
35607 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
35609         AC_PROG_MKDIR_P: don't workaround if not buggy
35610         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
35611         Define only for Autoconf versions before 2.62.
35612         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
35613         undocumented m4_PACKAGE_VERSION, for consistency with the
35614         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
35615         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
35616         was introduced in 2.62.
35618 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
35620         New 'c-*printf' modules for formatted output in C locale.
35622         New module 'c-vasnprintf'.
35623         * modules/c-vasnprintf: New file.
35624         * lib/c-vasnprintf.c: New file.
35625         * lib/c-vasnprintf.h: New file.
35627         New module 'c-snprintf'.
35628         * modules/c-snprintf: New file.
35629         * modules/c-snprintf-tests: New file.
35630         * lib/c-snprintf.c: New file.
35631         * lib/c-snprintf.h: New file.
35632         * tests/test-c-snprintf.c: New file.
35633         * tests/test-c-snprintf.sh: New file.
35635         New module 'c-vsnprintf'.
35636         * modules/c-vsnprintf: New file.
35637         * modules/c-vsnprintf-tests: New file.
35638         * lib/c-vsnprintf.c: New file.
35639         * lib/c-vsnprintf.h: New file.
35640         * tests/test-c-vsnprintf.c: New file.
35641         * tests/test-c-vsnprintf.sh: New file.
35643         New module 'c-vasprintf'.
35644         * modules/c-vasprintf: New file.
35645         * modules/c-vasprintf-tests: New file.
35646         * lib/c-asprintf.c: New file.
35647         * lib/c-vasprintf.c: New file.
35648         * lib/c-vasprintf.h: New file.
35649         * tests/test-c-vasprintf.c  +: New file.
35650         * tests/test-c-vasprintf.sh: New file.
35652         New module 'c-xvasprintf'.
35653         * modules/c-xvasprintf: New file.
35654         * modules/c-xvasprintf-tests: New file.
35655         * lib/c-xasprintf.c: New file.
35656         * lib/c-xvasprintf.c: New file.
35657         * lib/c-xvasprintf.h: New file.
35658         * tests/test-c-xvasprintf.c: New file.
35659         * tests/test-c-xvasprintf.sh: New file.
35661 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
35663         argp: better 'inline'
35664         Use extern-inline module to declare extern inline functions.
35665         This avoids some bogus warning diagnostics.  Problem discovered
35666         when modifying GNU tar to use the manywarnings module.
35667         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
35668         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
35669         Define based on extern-inline.
35670         * modules/argp (Depends-on): Add extern-inline.
35672 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
35674         filemode, sys_stat: Handle MPX files a la AIX.
35675         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
35676         * lib/sys_stat.in.h (S_ISMPX): New macro.
35677         * tests/test-sys_stat.c: Add tests for MPX files.
35679 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35681         x-to-1: honor $PERL
35682         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
35683         a chance to use his preferred version of Perl.  This is typically
35684         required by Darwin users whose default /usr/bin/perl does not have all
35685         the libraries required by help2man, and who need to use their MacPorts
35686         installation of Perl instead.
35688 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
35690         gnu-web-doc-update: add all the new files, even in new directories
35691         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
35692         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
35693         Use it.
35694         (main): Don't use cvsutils to get the list of unknown files,
35695         just add all the existing files and directories.
35697 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
35699         gnu-web-doc-update: improve --help
35700         * build-aux/gnu-web-doc-update: Move comments into --help.
35702 2012-12-07  Eric Wong  <normalperson@yhbt.net>
35704         mountlist: recognize more "dummy" file systems
35705         * lib/mountlist.c (ME_DUMMY_0):
35706         Add these dummy FS names to the list:
35707         - "debugfs" virtual filesystem for kernel debugging
35708         - "devpts" PTY slave filesystem
35709         - "devtmpfs" device filesystem on top of tmpfs/ramfs
35710         - "fusectl" control filesystem for FUSE
35711         - "mqueue" enumerates POSIX message queues
35712         - "rpc_pipefs" kernel <-> userspace bridge for NFS
35713         - "sysfs" is for exporting kernel objects
35714         - "devfs" device filesystem for Linux 2.4 and FreeBSD
35716 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
35718         extern-inline: avoid incompatibility with Darwin Libc
35719         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
35720         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
35721         Problem reported by Akim Demaille in
35722         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
35724 2012-12-11  Simon Josefsson  <simon@josefsson.org>
35726         gnupload: Work with GnuPG using gpg-agent (for smartcards).
35727         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
35728         let it handle password prompting.
35730 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
35732         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
35733         * lib/canonicalize.c (canonicalize_filename_mode):
35734         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
35735         fetching the current directory.  Don't overrun the beginning of
35736         rpath if there's no slashes after the MS-Windows drive letter.
35738 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
35740         maint.mk: avoid extra forks
35741         * top/maint.mk (_cfg_mk): The GNU make manual documents that
35742         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
35743         So use that instead of "$(shell test -f FILE && echo FILE)".
35745 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
35747         vasnprintf: fix ASCII_ONLY typo
35748         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35749         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35750         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
35751         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
35752         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
35754 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
35756         list, oset, xlist, xoset: fix extern inline issue with C99
35757         This was introduced by my recent changes for 'inline'.
35758         Problem reported for gettext by Daiki Ueno in
35759         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
35760         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
35761         (gl_list_nx_create, gl_list_size, gl_list_node_value)
35762         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
35763         (gl_list_previous_node, gl_list_get_at)
35764         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
35765         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
35766         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
35767         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
35768         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
35769         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
35770         (gl_list_iterator_free, gl_sortedlist_search)
35771         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
35772         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
35773         (gl_sortedlist_remove):
35774         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
35775         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
35776         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
35777         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
35778         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
35779         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
35780         (gl_list_add_at, gl_sortedlist_add):
35781         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
35782         Wrap these extern decls inside "#if 0", because they are implemented
35783         as inline functions, and extern inline is not what's wanted here.
35784         It would simplify these .h files to remove the extern decls entirely,
35785         although a downside would be less-clear separation between
35786         specification and implementation.
35788 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
35790         sys_stat: no 'static inline'
35791         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
35792         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
35794         extern-inline: no 'static inline'
35795         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35796         Do not require AC_C_INLINE.
35797         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
35798         'static inline', for older compilers.
35800         snippet/warn-on-use: no 'static inline'
35801         * build-aux/snippet/warn-on-use.h:
35802         Remove unnecessary 'inline' in comment.
35804         rbtree-list, rbtreehash-list: no 'static inline'
35805         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
35806         * lib/gl_anytree_list2.h (node_at):
35807         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
35808         (gl_oset_first, add_nodes_to_buckets):
35809         Now static, not static inline.
35811         regex: no 'static inline'
35812         * lib/regex_internal.c (calc_state_hash):
35813         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
35814         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
35815         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
35816         Now static, not static inline.
35817         (inline) [__GNUC__ < 3 && _LIBC]:
35818         Remove macro; no longer needed.
35820         xvasprintf: no 'static inline'
35821         * lib/xvasprintf.c (xstrcat):
35822         Now static, not static inline.
35823         * m4/xvasprintf.m4 (gl_XVASPRINTF):
35824         Do not require AC_C_INLINE.
35826         parse-datetime, parse-duration: no 'static inline'
35827         * lib/parse-datetime.y (to_uchar):
35828         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
35829         (scale_n_add):
35830         Now static, not static inline.
35831         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
35832         * modules/parse-duration (configure.ac):
35833         Do not require AC_C_INLINE.
35835         getaddrinfo: no 'static inline'
35836         * lib/getaddrinfo.c (validate_family):
35837         Now static, not static inline.
35838         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
35839         Do not require AC_C_INLINE.
35841         ftruncate, fts, lstat, openat, raise: no 'static inline'
35842         * lib/ftruncate.c (chsize_nothrow):
35843         * lib/fts.c (opendirat, diropen):
35844         * lib/lstat.c (orig_lstat):
35845         * lib/openat.c (orig_openat):
35846         * lib/raise.c (raise_nothrow):
35847         Now static, not static inline.
35848         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
35849         * m4/fts.m4 (gl_FUNC_FTS_CORE):
35850         * m4/lstat.m4 (gl_PREREQ_LSTAT):
35851         * m4/openat.m4 (gl_PREREQ_OPENAT):
35852         * m4/raise.m4 (gl_PREREQ_RAISE):
35853         Do not require AC_C_INLINE.
35855         fflush, stat: no 'static inline'
35856         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35857         (clear_ungetc_buffer, disable_seek_optimization)
35858         (restore_seek_optimization, update_fpos_cache):
35859         * lib/stat.c (orig_stat):
35860         Now static, not static inline.
35861         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
35862         (update_fpos_cache):
35863         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
35864         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
35865         * m4/stat.m4 (gl_PREREQ_STAT):
35866         Do not require AC_C_INLINE.
35868         error, filevercmp: no 'static inline'
35869         * lib/error.c (is_open, flush_stdout):
35870         * lib/filevercmp.c (order):
35871         Now static, not static inline.
35872         * m4/error.m4 (gl_PREREQ_ERROR):
35873         * modules/filevercmp (configure.ac):
35874         Do not require AC_C_INLINE.
35876         dup, execute, fatal-signal, etc.: no 'static inline'
35877         * lib/dup.c (dup_nothrow):
35878         * lib/execute.c (nonintr_close, nonintr_open):
35879         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
35880         * lib/fopen.c (orig_fopen):
35881         * lib/freadseek.c (freadptrinc):
35882         * lib/freopen.c (orig_freopen):
35883         * lib/fstat.c (orig_fstat, fstat_nothrow):
35884         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
35885         (get_rusage_as_via_iterator):
35886         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
35887         * lib/getdtablesize.c (_setmaxstdio_nothrow):
35888         * lib/isatty.c (_isatty_nothrow):
35889         * lib/open.c (orig_open):
35890         * lib/read.c (read_nothrow):
35891         * lib/sigprocmask.c (signal_nothrow):
35892         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
35893         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
35894         * lib/wait-process.c (unregister_slave_subprocess):
35895         * lib/write.c (write_nothrow):
35896         Now static, not static inline.
35897         * lib/spawn-pipe.c (nonintr_open): Define only if
35898         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
35899         * m4/dup.m4 (gl_PREREQ_DUP):
35900         * m4/execute.m4 (gl_EXECUTE):
35901         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
35902         * m4/fopen.m4 (gl_PREREQ_FOPEN):
35903         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
35904         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
35905         * m4/fstat.m4 (gl_PREREQ_FSTAT):
35906         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
35907         * m4/isatty.m4 (gl_PREREQ_ISATTY):
35908         * m4/open.m4 (gl_PREREQ_OPEN):
35909         * m4/read.m4 (gl_PREREQ_READ):
35910         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
35911         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
35912         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
35913         * m4/wait-process.m4 (gl_WAIT_PROCESS):
35914         * m4/write.m4 (gl_PREREQ_WRITE):
35915         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
35916         Do not require AC_C_INLINE.
35918         c-strtod, memcoll, readutmp: no 'static inline'
35919         * lib/c-strtod.c (c_locale):
35920         * lib/memcoll.c (strcoll_loop):
35921         * lib/readutmp.c (desirable_utmp_entry):
35922         Now static, not static inline.
35923         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
35924         * m4/memcoll.m4 (gl_MEMCOLL):
35925         * m4/readutmp.m4 (gl_READUTMP):
35926         Do not require AC_C_INLINE.
35928         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
35929         * lib/arctwo.c (to_uchar):
35930         * lib/md4.c (set_uint32):
35931         * lib/md5.c (set_uint32):
35932         * lib/sha1.c (set_uint32):
35933         * lib/sha256.c (set_uint32):
35934         * lib/sha512.c (set_uint64):
35935         Now static, not static inline.  This is a bit simpler, and doesn't
35936         affect performance with GCC and default optimization.
35937         * m4/arctwo.m4 (gl_ARCTWO):
35938         * m4/md4.m4 (gl_MD4):
35939         * m4/md5.m4 (gl_MD5):
35940         * m4/sha1.m4 (gl_SHA1):
35941         * m4/sha256.m4 (gl_SHA256):
35942         * m4/sha512.m4 (gl_SHA512):
35943         Do not require AC_C_INLINE.
35945         cond, lock, thread: better 'inline'
35946         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
35947         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
35948         New macros.  Use them instead of static inline, for header functions.
35949         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
35950         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
35951         * lib/glthread/lock.c (gl_waitqueue_init)
35952         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
35953         * lib/glthread/thread.c (get_current_thread_handle):
35954         Change 'static inline' to 'inline'.
35955         * lib/glthread/cond.h, lib/glthread/thread.h:
35956         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35957         * m4/cond.m4 (gl_COND):
35958         * m4/lock.m4 (gl_PREREQ_LOCK):
35959         * m4/thread.m4 (gl_THREAD):
35960         Do not require AC_C_INLINE.
35961         * modules/cond, modules/thread (Depends-on): Add extern-inline.
35963         chdir-long, cycle-check, savewd: better 'inline'
35964         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
35965         (find_non_slash):
35966         * lib/cycle-check.c (is_zero_or_power_of_two):
35967         * lib/savewd.c (savewd_delegating):
35968         Change 'static inline' to 'inline'.
35969         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
35970         Replace all remaining uses of 'static inline' with it.
35971         * lib/savewd.h:
35972         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
35973         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
35974         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
35975         * m4/savewd.m4 (gl_SAVEWD):
35976         Do not require AC_C_INLINE.
35977         * modules/savewd (Depends-on): Add extern-inline.
35979         base32, base64: no need for 'inline'
35980         * lib/base32.c (to_uchar, get_8, decode_8):
35981         * lib/base64.c (to_uchar, get_4, decode_4):
35982         Change 'static inline' to 'inline'.
35983         * m4/base32.m4 (gl_PREREQ_BASE32):
35984         * m4/base64.m4 (gl_PREREQ_BASE64):
35985         Do not require AC_C_INLINE.
35987         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
35988         * lib/gl_array_oset.c (gl_array_nx_add_at):
35989         (gl_array_remove_at):
35990         * lib/gl_linkedhash_list.c (hash_resize_after_add)
35991         (add_to_bucket, remove_from_bucket):
35992         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
35993         Change 'static inline' to 'static', as it's simpler to omit
35994         'inline' unless there's a significant performance advantage.
35996         list, oset, xlist, xoset, xsublist: simplify via extern inline
35997         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
35998         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
35999         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
36000         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
36001         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
36002         New macro.  Replace all uses of 'static inline' with it.
36003         [HAVE_INLINE]: Implement functions as *_INLINE functions,
36004         instead of as macros FOO that are defined to static inline
36005         functions FOO_inline.
36006         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
36007         * lib/gl_xsublist.c:
36008         Reimplement from scratch, by defining the corresponding *_INLINE
36009         macro and including the corresponding .h file.  This is simpler.
36010         * modules/list, modules/oset, modules/xlist, modules/xoset:
36011         (Files): Remove m4/gl_list.m4.
36012         (configure.ac): Remove gl_LIST.
36013         * m4/gl_list.m4: Remove.
36014         * modules/list, modules/oset, modules/xlist, modules/xoset:
36015         * modules/xsublist:
36016         (Depends-on): Depend on extern-inline, not inline.
36018         xalloc: better 'inline'
36019         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
36020         New macro.  Replace all uses of 'static inline' with it.
36021         (static_inline): Remove.
36022         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36023         Let 'extern inline' do the work automatically, instead of doing
36024         it by hand.
36025         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
36026         Remove.  All uses removed.
36027         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
36029         gethrxtime: better 'inline'
36030         * lib/xtime.c: New file.
36031         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
36032         * lib/xtime.h (XTIME_INCLUDE):
36033         New macros.  Replace all uses of 'static inline' with them.
36034         * lib/gethrxtime.c (gethrxtime): Define only if
36035         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
36036         this source file is now always compiled, because of the extern inline.
36037         * lib/gethrxtime.h, lib/xtime.h:
36038         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36039         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
36040         if gethrtime works, as they're not needed in that case.
36041         (gl_XTIME): Do not require AC_C_INLINE.
36042         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
36043         compiled now.  Move the check into gl_GETHRXTIME.
36044         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
36045         (Depends-on): Add extern-inline.
36046         (configure.ac): gethrxtime is always compiled now.
36047         (lib_SOURCES): Add gethrxtime.c.
36049         wctype-h: better 'inline'
36050         * lib/wctype-h.c: New file.
36051         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
36052         New macro.  Replace all uses of 'static inline' with it.
36053         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36054         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
36055         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
36056         (Depends-on): Add extern-inline.
36058         unistd: better 'inline'
36059         * lib/unistd.c: New file.
36060         * lib/unistd.in.h (_GL_UNISTD_INLINE):
36061         New macro.  Replace all uses of 'static inline' with it.
36062         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36063         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
36064         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
36065         (Depends-on): Add extern-inline.
36067         sys_socket: better 'inline'
36068         * lib/sys_socket.c: New file.
36069         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
36070         New macro.  Replace all uses of 'static inline' with it.
36071         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36072         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
36073         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
36074         (Depends-on): Add extern-inline.
36076         stdio: better 'inline'
36077         * lib/stdio.c: New file.
36078         * lib/stdio.in.h (_GL_STDIO_INLINE):
36079         New macro.  Replace all uses of 'static inline' with it.
36080         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36081         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
36082         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
36083         (Depends-on): Add extern-inline.
36085         sigaction: better 'inline'
36086         * lib/sig-handler.c: New file.
36087         * lib/sig-handler.h (SIG_HANDLER_INLINE):
36088         New macro.  Replace all uses of 'static inline' with it.
36089         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36090         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
36091         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
36092         (Depends-on): Add extern-inline.
36094         selinux-h: better 'inline'
36095         * lib/se-context.c, lib/se-selinux.c: New files.
36096         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
36097         * lib/se-context.in.h (SE_CONTEXT_INLINE):
36098         New macro.  Replace all uses of 'static inline' with it.
36099         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36100         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
36101         New macro.  Replace all uses of 'static inline' with it.
36102         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36103         * modules/selinux-h (Files, lib_SOURCES):
36104         Add lib/se-context.c, lib/se-selinux.c.
36105         (Depends-on): Add extern-inline.
36106         (configure.ac): Do not require AC_C_INLINE.
36108         pthread: better 'inline'
36109         * lib/pthread.c: New file.
36110         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
36111         New macro.  Replace all uses of 'static inline' with it.
36112         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36113         * m4/pthread.m4 (gl_PTHREAD_CHECK):
36114         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
36115         * modules/pthread (Files): Add lib/pthread.c.
36116         (Depends-on): Add extern-inline.
36118         math: better 'inline'
36119         * lib/math.c: New file.
36120         * lib/math.in.h (_GL_MATH_INLINE):
36121         New macro.  Replace all uses of 'static inline' with it.
36122         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36123         * m4/math_h.m4 (gl_MATH_H):
36124         Do not require AC_C_INLINE.
36125         * modules/math (Files, lib_SOURCES):
36126         Add lib/math.c.
36127         (Depends-on): Add extern-inline.
36129         count-one-bits: better 'inline'
36130         * lib/count-one-bits.c: New file.
36131         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
36132         New macro.  Replace all uses of 'static inline' with it.
36133         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36134         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
36135         Do not require AC_C_INLINE.
36136         * modules/count-one-bits (Files, lib_SOURCES):
36137         Add lib/count-one-bits.c.
36138         (Depends-on): Add extern-inline.
36140         count-leading-zeros: better 'inline'
36141         * lib/count-leading-zeros.c: New file.
36142         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
36143         New macro.  Replace all uses of 'static inline' with it.
36144         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36145         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
36146         Do not require AC_C_INLINE.
36147         * modules/count-leading-zeros (Files, lib_SOURCES):
36148         Add lib/count-leading-zeros.c.
36149         (Depends-on): Add extern-inline.
36151         bitrotate: better 'inline'
36152         * lib/bitrotate.c: New file.
36153         * lib/bitrotate.h (BITROTATE_INLINE):
36154         New macros.
36155         Replace all uses of 'static inline' with them.
36156         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36157         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
36158         (Depends-on): Add extern-inline.
36159         (configure.ac): Do not require AC_C_INLINE.
36161 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
36163         maint.mk: avoid gratuitous failure
36164         Reported by Stefano Lattarini in
36165         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
36166         * top/maint.mk (public-submodule-commit): Quote more safely.
36168 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
36170         canonicalize, canonicalize-lgpl: support MS-Windows file names
36171         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
36172         for test cases, which it'd be nice to add at some point.
36173         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
36174         * lib/canonicalize.c (canonicalize_filename_mode):
36175         * lib/canonicalize-lgpl.c (__realpath):
36176         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
36177         slash is at the beginning of the file name.  Use ISSLASH, instead
36178         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
36179         the first character with '/'.  Test for
36180         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
36181         with a drive letter.
36182         * lib/canonicalize.c (SLASHES): New macro.
36183         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
36185 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
36187         fts: introduce FTS_VERBATIM
36188         * lib/fts_.h (FTS_VERBATIM): New bit flag.
36189         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
36190         * lib/fts.c (fts_open): Honor it.
36192 2012-11-09  Pádraig Brady  <P@draigBrady.com>
36194         getlogin-tests: allow errno == ENXIO
36195         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36196         with errno == ENXIO (No controlling tty).
36197         getlogin_r-tests: Likewise. Also allow errno == ENOENT
36198         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
36199         with errno == ENOENT.  This was reported to happen in various
36200         situations on GNU/Linux.
36202 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36204         getlogin-tests: allow errno == ENOENT
36205         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36206         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
36207         when running a test in an Emacs shell buffer.
36209 2012-11-08  Jim Meyering  <jim@meyering.net>
36211         tests/nap.h: avoid warning about unused variable
36212         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
36214         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
36215         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
36216         white space before each of the special-cased file names, to avoid
36217         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
36218         in http://bugs.gnu.org/12830.
36220 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36222         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
36223         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
36224         fails with errno == EBADF when fd is opened with O_PATH.
36225         Reported by Jim Meyering in
36226         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
36227         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36228         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
36230 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36232         test-utimens: speed up by taking shorter naps
36233         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
36234         New functions.
36235         (nap): Use them, to do a better job of guessing the delay.
36236         On Fedora 17 with ext4 atop md atop hard disks, this made
36237         test-utimens run 10x faster, because the test napped for
36238         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
36239         <http://bugs.gnu.org/12820#11>.
36241 2012-11-07  Jim Meyering  <jim@meyering.net>
36243         mountlist.c: fix a compilation failure
36244         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
36245         I introduced while transforming commit v0.0-7683-g613bcb6
36247 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36249         errno: port to LynxOS 178 2.2.2
36250         Problem reported by Joel Brobecker in
36251         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
36252         * doc/posix-headers/errno.texi (errno.h): Document this.
36253         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
36254         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
36255         Supply a string for EILSEQ.
36256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
36258 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36260         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
36261         Linux kernel 2.6.39 introduced O_PATH (see
36262         <http://lwn.net/Articles/433854/>) and this is a better fallback
36263         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
36264         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36265         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
36266         * lib/fcntl.in.h (O_ACCMODE):
36267         * tests/test-fcntl-h.c (main):
36268         Do not reject O_ACCMODE merely because it has more than the
36269         minimal number of bits, as POSIX allows extensions here.
36271 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
36273         mountlist: do not classify a bind-mounted dir entry as "dummy"
36274         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
36275         the "none"-testing clause.
36276         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
36277         exception for bind-mounted directories.
36279 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
36281         quote: provide a means to escape strings with nul characters
36282         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
36283         (quote, quote_n): Rename formal arguments for consistency with
36284         quotearg.
36286 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36288         test-raise: don't assume 199 is an invalid signal
36289         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
36291         sh-quote-tests: port to Solaris 9
36292         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
36293         Problem reported by Dagobert Michelsen in
36294         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
36296 2012-10-28  Jim Meyering  <jim@meyering.net>
36298         maint.mk: rename a new configurable variable
36299         * top/maint.mk (_gl_translatable_string_re): Rename from
36300         translation-markers: _gl_ prefix to insulate from user Makefile code,
36301         and the _re suffix to inform that it's a regular expression.
36303 2012-10-26  Eric Blake  <eblake@redhat.com>
36305         maint.mk: let packages tweak sc_po_check pattern
36306         * top/maint.mk (sc_po_check): Add translation-markers, to allow
36307         finding files with other translation markers.
36309 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36311         euidaccess: speed up 'configure' on GNU hosts
36312         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
36313         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
36314         it's needed only in this case.  Use AC_CHECK_DECLS, not
36315         AC_CHECK_DECLS_ONCE.
36316         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
36317         or AC_REQUIRE for AC_FUNC_GETGROUPS.
36319         * lib/regexec.c (re_search_internal): Fix grammar in comment.
36321 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36323         fchmodat, fchownat, fstatat: port to non-inlining compilers
36324         Problem reported for FreeBSD 9 by Jim Meyering in
36325         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
36326         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
36327         New files, which define FCHMODAT_INLINE etc.
36328         * lib/fchmodat.c (FCHMODAT_INLINE):
36329         * lib/fchownat.c (FCHOWNAT_INLINE):
36330         * lib/fstatat.c (FSTATAT_INLINE):
36331         Remove, as chmodat.c etc. now do this.
36332         * modules/fchmodat (Files): Add lib/chmodat.c.
36333         * modules/fchownat (Files): Add lib/chownat.c.
36334         * modules/fstatat (Files): Add lib/statat.c.
36336 2012-10-15  Jim Meyering  <jim@meyering.net>
36338         fchmodat.c, fchownat.c: compile-impeding typos
36339         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
36340         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
36341         Introduced in commit v0.0-7636-gd202279.
36343 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36345         fcntl-h: support GNU flags like O_IGNORE_CTTY
36346         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
36347         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
36348         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
36349         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
36350         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
36351         Define to 0 if not already defined.
36352         * tests/test-fcntl-h.c: Test these new flags.
36354 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36356         faccessat, etc.: support AT_FDCWD-only use
36357         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
36358         this function only if its first argument is AT_FDCWD.
36359         Emacs wants faccessat for AT_EACCESS but not for any first-arg
36360         values other than AT_FDCWD, so it doesn't want all the openat
36361         machinery with fchdir etc.
36362         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
36363         * modules/fstatat, modules/mkdirat, modules/openat (Files):
36364         * modules/unlinkat (Files):
36365         Remove lib/openat-priv.h, as at-internal supplies this file.
36366         Removing this file here allows us to support programs like Emacs
36367         that avoid at-internal.
36369         faccessat: speed up 'configure' on mainstream hosts
36370         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
36371         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
36372         since it's only on unusual platforms that we need to check for
36373         'access', and it's better not to slow 'configure' down on all
36374         platforms.
36376         faccessat: port to Solaris 10
36377         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
36378         Needed on Solaris 10, which doesn't have AT_EACCESS,
36379         so we need the Gnulib fcntl.h, which defines it.
36381 2012-10-14  Pádraig Brady  <P@draigBrady.com>
36382         canonicalize: fix C89 compilation
36383         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
36384         declarations so C89 is supported.  Also remove the comment
36385         referencing memorty allocation as the suggested feature could
36386         not be implemented as suggested.
36387         Reported by Michael Goffioul.
36389 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36391         group-member: omit unnecessary dependencies
36392         This is for Emacs, which has its own allocator and where we
36393         don't want to use xalloc.
36394         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
36395         since we no longer use xmalloc.  Do not include stdbool.h, since
36396         the changes below happen to remove the only use of bool.
36397         (GROUPBUF_SIZE): New constant.
36398         (struct group_info): Remove n_groups member.  Add groupbuf member.
36399         This lets us get the groups without using malloc, usually.
36400         (free_group_info, get_group_info): Adjust to this.
36401         (get_group_info): Return the number of groups found, or -1 on error.
36402         Use plain malloc not xmalloc, and treat its failure as if there
36403         are no groups, as the user already loses in case of error.
36404         (group_member): Simplify, based on changes to get_group_info.
36405         * modules/group-member (Depends-on): Remove dependencies on
36406         xalloc and stdbool.  Add dependency on xalloc-oversized.
36408 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
36410         gethrxtime: port to C++
36411         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
36413 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
36415         ptsname: fix macro-name typo
36416         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
36418 2012-10-03  Simon Josefsson  <simon@josefsson.org>
36420         inttostr: Relax license.
36421         * modules/inttostr (License): Change from LGPL to LGPLv2+.
36423 2012-10-03  Eric Blake  <eblake@redhat.com>
36425         ptsname_r: support ptys returned by FreeBSD posix_openpt
36426         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
36427         lives in /dev/pts/.
36429 2012-10-02  Eric Blake  <eblake@redhat.com>
36431         pselect: reject invalid file descriptors
36432         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
36433         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
36434         * modules/pselect (Depends-on): Add dup2.
36435         * doc/posix-functions/pselect.texi (pselect): Document this.
36437         select: reject invalid file descriptors
36438         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
36439         * lib/select.c (rpl_select) [!win32]: Work around it.
36440         * modules/select (Depends-on): Add dup2.
36441         * doc/posix-functions/select.texi (select): Document this.
36443         select: enhance test
36444         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
36445         New functions.
36446         (test_function): Enhance test.
36447         (do_select_bad_fd): Avoid any stale errno values.
36449         ptsname: reject invalid file descriptors
36450         http://www.austingroupbugs.net/view.php?id=503
36451         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
36452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
36453         * modules/stdlib (Makefile.am): Replace witness.
36454         * lib/stdlib.in.h (ptsname): Allow for replacement.
36455         * modules/ptsname (configure.ac): Trigger replacement.
36456         * doc/posix-functions/ptsname.texi (ptsname): Document this.
36458 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
36460         hash-pjw-bare: new module
36461         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
36462         * lib/hash-pjw-bare.h: Likewise.
36463         * modules/hash-pjw-bare: New file.
36464         * MODULES.html.sh (Misc): Add it.
36466 2012-10-02  Eric Blake  <eblake@redhat.com>
36468         manywarnings: cater to more gcc infelicities
36469         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
36470         -Wuninitialized without -O.
36472 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
36474         select, poll tests: Make setsockopt invocation effective.
36475         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
36476         the bind() call.
36477         * tests/test-select.h (open_server_socket): Likewise.
36479 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
36481         sockets, sys_stat: restore AC_C_INLINE
36482         This undoes the 2012-09-22 patch.
36483         * m4/sockets.m4 (gl_SOCKETS):
36484         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36485         Restore AC_C_INLINE, since MSVC requires __inline or _inline
36486         and does not support plain 'inline'.  Reported by Bruno Haible in
36487         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
36489 2012-09-30  Bruno Haible  <bruno@clisp.org>
36491         localeconv tests: Avoid test failure on OpenIndiana.
36492         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
36493         skip the 'grouping' and 'mon_grouping' tests.
36494         Reported by Jim Meyering.
36496 2012-09-30  Bruno Haible  <bruno@clisp.org>
36498         havelib: Follow libtool developments.
36499         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
36500         Suggested by Simon Josefsson.
36502 2012-09-29  Jim Meyering  <meyering@redhat.com>
36504         fstatat.c: fix a compile-impeding typo
36505         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
36506         Introduced in commit v0.0-7636-gd202279.
36507         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
36509 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
36511         extern-inline: provide a -Wundef safe config.h
36512         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
36513         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
36514         to produce a -Wundef warning free config.h.
36516 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
36518         hash-pjw: relax license to LGPLv2+
36519         * modules/hash-pjw (License): Relax, with consent of author.
36521 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36523         maint.mk: fix strict vs. lazy variable issues with RELEASE
36524         * top/maint.mk (_equal): New function.
36525         (member_check): Strip the result to avoid spurious spaces.
36526         (url_dir_list): Do not use ifeq, which is strict, as it will
36527         require RELEASE_TYPE to be defined.
36528         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
36529         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
36530         (announcement_Cc_alpha,announcement_mail_headers_alpha)
36531         (announcement_Cc_beta,announcement_mail_headers_beta)
36532         (announcement_Cc_stable,announcement_mail_headers_stable): these.
36533         (release): Do not depend on $(release-type), as it forces its
36534         evaluation.  Bounce to it.
36536 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
36538         maint.mk: formatting changes
36539         * top/maint.mk: Indent bodies of if's.
36541 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
36543         maint.mk: factor the validation of RELEASE_TYPE
36544         With help from Jim Meyering.
36545         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
36546         * top/maint.mk (_empty, _sp): Move their definition earlier.
36547         (member-check, release-type): New.
36548         Use the latter instead of $(RELEASE_TYPE).
36549         Remove now useless local checks.
36551 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
36553         maint.mk: provide "make upload" to ease uploading
36554         See
36555         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
36556         Do not depend simply on the current $(VERSION), as there may have been
36557         new commits since the tarball generation.  Rather, rely on $(RELEASE),
36558         as "make release-commit" already does.
36560         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
36561         "make TYPE".
36563         * top/maint.mk (upload_command, upload, release): New.
36564         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
36565         (VERSION): first word of $(RELEASE) is always right.
36566         (emit_upload_commands): Adjust.
36567         * top/README-release: Update.
36569 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
36571         maint.mk: silent rules
36572         With help from Stefano Lattarini.
36573         * top/maint.mk (writable-files): Use $(AM_V_GEN).
36574         (announcement): Use $(AM_V_at).
36576 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
36578         localename: port gl_locale_name_thread_unsafe to FreeBSD
36579         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
36580         and use the simpler FreeBSD implementation on Mac OS X as well.
36581         Original idea suggested by Ed Maste in
36582         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
36584 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
36586         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
36587         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
36588         * lib/mbuiter.c, lib/xsize.c: New files.
36589         * lib/binary-io.h (BINARY_IO_INLINE):
36590         * lib/eealloc.h (EEALLOC_INLINE):
36591         * lib/mbfile.h (MBFILE_INLINE):
36592         * lib/mbiter.h (MBITER_INLINE):
36593         * lib/mbuiter.h (MBUITER_INLINE):
36594         * lib/xsize.h (XSIZE_INLINE):
36595         New macros.
36596         Replace all uses of 'static inline' with them.
36597         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36598         * m4/eealloc.m4 (gl_EEALLOC):
36599         * m4/mbfile.m4 (gl_MBFILE):
36600         * m4/mbiter.m4 (gl_MBITER):
36601         * m4/xsize.m4 (gl_XSIZE):
36602         Do not require AC_C_INLINE.
36603         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
36604         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
36605         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
36606         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
36607         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
36608         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
36609         * modules/binary-io, modules/eealloc, modules/mbfile:
36610         * modules/mbiter, modules/mbuiter:
36611         (Depends-on): Add extern-inline.
36613         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
36614         * lib/pipe-filter-aux.c: New file.
36615         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
36616         Replace all uses of 'static inline' with it.
36617         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36618         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
36619         (filter_retcode): No real need for inline here.
36620         * modules/pipe-filter-gi, modules/pipe-filter-ii:
36621         (Files): Add lib/pipe-filter-aux.c.
36622         (Depends-on): Add extern-inline.
36623         (configure.ac): Do not require AC_C_INLINE.
36624         (lib_SOURCES): Add pipe-filter-aux.c.
36626         fdutimensat: omit unnecessary AC_C_INLINE
36627         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
36629         fchmodat, fchownat, fstatat: use extern-inline
36630         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
36631         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
36632         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
36633         New macros.
36634         * lib/openat.h:
36635         Replace all uses of 'static inline' with them.
36636         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36637         * modules/fchmodat, modules/fchownat, modules/fstatat:
36638         * modules/openat-h:
36639         (Depends-on):
36640         Add extern-inline.
36641         (configure.ac): Remove AC_C_INLINE.
36643         acl, mbchar, priv-set: use extern-inline
36644         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
36645         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
36646         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
36647         New macros.
36648         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
36649         Replace all uses of 'static inline' with it.
36650         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36651         * m4/acl.m4 (gl_FUNC_ACL):
36652         * m4/mbchar.m4 (gl_MBCHAR):
36653         * m4/priv-set.m4 (gl_PRIV_SET):
36654         Remove AC_C_INLINE, since 'inline' is no longer used directly.
36655         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
36656         Add extern-inline.
36658         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
36659         * m4/sockets.m4 (gl_SOCKETS):
36660         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36661         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
36662         environments where it's already guaranteed to work, so we needn't
36663         check for it at 'configure'-time.
36665         tls-tests: omit unnecessary 'inline'
36666         * tests/test-tls.c (perhaps_yield): No longer inline.
36667         Simplicity and portability trump efficiency in test cases.
36669         utimens-tests: avoid unnecessary 'inline'
36670         * modules/fdutimensat-tests (configure.ac):
36671         * modules/futimens-tests (configure.ac):
36672         * modules/utimens-tests (configure.ac):
36673         * modules/utimensat-tests (configure.ac):
36674         Remove AC_C_INLINE.
36675         * tests/test-utimens-common.h (ctime_compare):
36676         No longer inline.  Simplicity and portability trump efficiency here.
36678         misc: don't limit commentary to inline functions
36679         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
36680         * lib/xalloc-oversized.h, lib/xsize.h:
36681         Contrast macros to functions in general, not just to inline functions,
36682         when the commentary does not apply only to inline functions.
36684 2012-09-20  Jim Meyering  <meyering@redhat.com>
36686         non-recursive-gnulib-prefix-hack: new module
36687         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
36688         the file that originated in Bison.
36689         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
36690         largely copied from a snippet that resided in bison's configure.ac.
36691         * modules/non-recursive-gnulib-prefix-hack: New file.
36692         * MODULES.html.sh (Support for maintaining and releasing projects):
36693         Add it.
36695 2012-09-18  Jim Meyering  <meyering@redhat.com>
36697         maint.mk: generalize _gl_tight_scope for non-recursive make
36698         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
36699         that *.h would describe additional .h files in the directory
36700         specified by $(_gl_TS_dir).  I.e., add this...
36701         (_gl_TS_other_headers): New variable.
36703         maint.mk: exempt trailing blanks found in "binary" files
36704         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
36705         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
36706         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36708 2012-09-17  Jim Meyering  <meyering@redhat.com>
36710         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
36711         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
36712         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
36713         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36715 2012-09-17  Jim Meyering  <meyering@redhat.com>
36717         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
36718         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
36719         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
36720         It is not in the same category as "exit (0)" or "exit (1)", and
36721         besides, I know of no symbolic name for that 77.  Reported by
36722         Richard W.M. Jones in
36723         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36725 2012-09-17  Jim Meyering  <meyering@redhat.com>
36727         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
36728         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
36729         all uses of #define, not just those that start in column 1.
36730         Richard W.M. Jones reported a false positive in
36731         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
36733 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
36735         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
36736         * lib/localcharset.c (locale_charset) [DARWIN7]:
36737         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
36738         as these two values are incompatible.  Problem reported by Max Horn.
36739         For more discussion, please see
36740         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
36742         doc: document sticky-EOF issue
36743         * doc/posix-functions/fgetc.texi (fgetc):
36744         * doc/posix-functions/fgets.texi (fgets):
36745         * doc/posix-functions/fread.texi (fread):
36746         * doc/posix-functions/fscanf.texi (fscanf):
36747         * doc/posix-functions/getc.texi (getc):
36748         * doc/posix-functions/getchar.texi (getchar):
36749         * doc/posix-functions/scanf.texi (scanf):
36750         Mention that glibc and default Solaris do not conform to
36751         C99 and POSIX-2001 or later, with respect to how getchar
36752         etc. behave when feof reports nonzero.
36754 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
36756         poll: fix poll(0, NULL, msec)
36757         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
36758         but nfd is 0.  In that case poll should behave like select.
36760 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
36761             Paolo Bonzini  <bonzini@gnu.org>
36763         poll: fix for systems that can't recv() on a non-socket
36764         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
36765         is readable.  In this case POLLHUP will not be supported.
36766         * doc/posix-functions/poll.texi: Document this.
36768 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
36770         poll/select: document portability problems not fixed by Gnulib.
36771         * doc/posix-functions/poll.texi: poll does not work well on
36772         pipes under Windows.  It has the same limitations as select on
36773         BeOS.
36774         * doc/posix-functions/select.texi: select does not work well
36775         on pipes under Windows.
36777 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
36779         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
36780         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
36781         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
36782         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
36784 2012-09-06  Eric Blake  <eblake@redhat.com>
36786         net_if: give more details about the bug being fixed
36787         * doc/posix-headers/net_if.texi: Add clarification.
36789 2012-09-05  Eric Blake  <eblake@redhat.com>
36791         net_if: new module
36792         * modules/net_if: New module, borrowing ideas from netinet_in.
36793         * m4/net_if_h.m4: New file.
36794         * lib/net_if.in.h: Likewise.
36795         * doc/posix-headers/net_if.texi (net/if.h): Document it.
36796         * MODULES.html.sh (lacking POSIX:2008): Likewise.
36797         * tests/test-net_if.c: Make function checks conditional.
36798         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
36800 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
36802         readutmp: fix non-portable UT_PID use
36803         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
36804         Use `UT_PID (u) > 0' as absolute condition.
36806 2012-09-04  Jim Meyering  <meyering@redhat.com>
36808         fts: reduce two or more trailing spaces to just one, usually
36809         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
36810         or more slashes, trim all but the final one.  But if a name consists
36811         solely of two slashes, don't modify it.  If it consists solely of
36812         three or more slashes, strip all but one.
36814         This is part of the solution to a minor problem with rm:
36815         it would print a bogus ELOOP diagnostic when failing to remove
36816         the slash-decorated name of a symlink-to-directory:
36818             $ mkdir d && ln -s d s && env rm -r s/
36819             rm: cannot remove 's': Too many levels of symbolic links
36821         With the change below and a trivial don't-trim-trailing-slashes
36822         adjustment to remove.c, it does this:
36824             $ env rm -r s/
36825             rm: cannot remove 's/': Not a directory
36827         Improved by: Eric Blake
36829         fts: when there is no risk of overlap, use memcpy, not memmove
36830         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
36832 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36834         stdbool: be more compatible with mixed C/C++ compiles
36835         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
36836         Define to bool, true, false, respectively, as GCC's builtin
36837         stdbool.h does.  Problem reported by Michael Goffioul in
36838         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
36840 2012-08-28  Jim Meyering  <meyering@redhat.com>
36842         revert last change: it was not needed
36843         * tests/test-vc-list-files-git.sh: There's already a test for
36844         a working git, just below.
36846 2012-08-28  Jim Meyering  <meyering@redhat.com>
36848         tests: test-vc-list-files-git.sh: skip if git is not available
36849         * tests/test-vc-list-files-git.sh: Skip this test when git is
36850         not available.
36852 2012-08-26  Bruno Haible  <bruno@clisp.org>
36854         gnulib-tool: Remove no-op option --no-changelog.
36855         * gnulib-tool (func_usage): Don't mention --no-changelog.
36856         (do_changelog): Remove variable.
36857         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36859 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36861         doc: remove fdl-1.2.texi
36862         It is no longer used or maintained, and its use of @acronym
36863         is problematic.  See the thread containing
36864         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
36865         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
36866         * doc/old-licenses/fdl-1.2.texi: Remove.
36868         execinfo: port to FreeBSD
36869         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
36870         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
36871         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
36872         * modules/execinfo (Link): Add $(LIB_EXECINFO).
36874 2012-08-23  Jim Meyering  <meyering@redhat.com>
36876         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
36877         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
36878         to placate gcc's -Wold-style-declaration.
36880 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36882         doc: do not use @acronym
36883         * doc/inet_ntoa.texi (inet_ntoa):
36884         * doc/parse-datetime.texi (Seconds since the Epoch)
36885         (Specifying time zone rules):
36886         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
36887         Don't use @acronym.  Problem reported by John Darlington in
36888         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
36890 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36892         stdnoreturn: port to newer GCCs
36893         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
36894         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
36895         Problem reported by Jim Meyering in
36896         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
36897         Also, rename the 'test' function to a void a clash with the
36898         already-supplied 'main' function; this fixes a bug that incorrectly
36899         rejected GCC 4.7.1's <stdnoreturn.h>.
36900         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
36901         Document GCC problem.
36903 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
36905         pipe-filter: fix comment typo
36906         * lib/pipe-filter.h: Mention correct function.
36908 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36910         execinfo: new module
36911         This is for Emacs.  Currently, it provides a no-effect stub
36912         on all platforms where it does not already work.
36913         It already works on glibc-based systems, and on Solaris 11.
36914         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
36915         New files.
36916         * doc/glibc-headers/execinfo.texi (execinfo.h):
36917         * MODULES.html.sh (Misc): Document it.
36919 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36921         extern-inline: support old GCC 'inline'
36922         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
36923         if available.  This applies to GCC versions 2.7 through 4.2, or
36924         when newer GCC is using -fgnu89-inline.  The goal is to address
36925         some of the performance issues mentioned by Bruno Haible in
36926         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
36928 2012-08-20  Eric Blake  <eblake@redhat.com>
36930         maint.mk: avoid redundant file name in message
36931         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
36932         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
36933         (sc_makefile_path_separator_check): Remove bogus $(ME).
36935 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
36937         timer-time: fix link order when static linking on glibc
36938         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
36939         _after_ -lrt so that it's significant.
36941 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36943         timespec: omit unnecessary AC_C_INLINE
36944         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
36946         stat-time: omit unnecessary AC_C_INLINE
36947         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
36948         Do not require AC_C_INLINE.
36950         ignore-value: omit unnecessary AC_C_INLINE
36951         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
36953         sys_select: avoid 'static inline'
36954         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
36956         mktime: avoid 'static inline'
36957         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
36958         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
36960 2012-08-19  Bruno Haible  <bruno@clisp.org>
36962         gnulib-tool: Improve coding style.
36963         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
36964         func_emit_lib_Makefile_am.
36965         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36967 2012-08-19  Bruno Haible  <bruno@clisp.org>
36969         gnulib-tool: Fix indentation.
36970         * gnulib-tool (func_import): Fix indentation.
36972 2012-08-19  Bruno Haible  <bruno@clisp.org>
36974         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
36975         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
36976         on the list of removed files.
36978 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36980         test-parse-datetime: avoid glibc leap-second glitch
36981         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
36982         with the 2012 rules.  Problem reported by Bruce Dubbs in
36983         <http://bugs.gnu.org/12206>.
36985 2012-08-14  Bruno Haible  <bruno@clisp.org>
36987         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
36988         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
36989         from argument.
36990         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
36992 2012-08-14  Eric Blake  <eblake@redhat.com>
36994         ldexp: relax license
36995         * modules/ldexp (License): Trivial relax, since the module only
36996         provides a permissively licensed m4 file.
36998 2012-08-13  Bruno Haible  <bruno@clisp.org>
37000         gnulib-tool: Fix persistence of --witness-c-macro option.
37001         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
37002         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37004 2012-08-11  Eric Blake  <eblake@redhat.com>
37006         count-leading-zeros: use a lookup table on non-gcc compilers
37007         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
37008         alternate implementation, suggested by Jim Meyering.
37010 2012-08-10  Eric Blake  <eblake@redhat.com>
37012         count-leading-zeros: new module
37013         * modules/count-leading-zeros: New module.
37014         * m4/count-leading-zeros.m4: New file.
37015         * lib/count-leading-zeros.h: Likewise.
37016         * modules/count-leading-zeros-tests: New test.
37017         * tests/test-count-leading-zeros.c: New file.
37018         * MODULES.html.sh (Integer arithmetic functions): Document it.
37020 2012-08-07  Simon Josefsson  <simon@josefsson.org>
37021             Jim Meyering  <meyering@redhat.com>
37023         maintainer-makefile: Fix syntax error with dash.
37024         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
37025         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
37027 2012-08-05  Jim Meyering  <meyering@redhat.com>
37029         extern-inline: also ignore -Wmissing-declarations
37030         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
37031         required with gcc-4.8.0-to-be.
37033         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
37034         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
37035         for /error ?([^,]*)/.  This avoids false-positives for strings like
37036         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
37038 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
37040         gnumakefile: better interaction with Automake-NG
37041         * modules/gnumakefile [Makefile.am]: The makefiles generated by
37042         Automake-NG always contain a definition of VPATH, even in non-VPATH
37043         builds (its value being simply '.' in that case).  So, in the
37044         'clean-GNUmakefile' rule, to determine whether running under a
37045         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
37046         '$(VPATH)' expands to the empty string.
37048 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
37050         base64: Use extern C scope in header file, for C++.
37051         * lib/base64.h: Add C++ namespace protection.
37053 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
37055         stat-time, timespec, u64: support naive out-of-dir builds
37056         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
37057         Use '#include "foo.h"', not '#include <foo.h>', when including
37058         one's own interface.  This works better when configuring with
37059         out-of-directory builds, since packages need not add an
37060         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
37062 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
37064         utimens: use extern-inline
37065         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
37066         * lib/utimens.h: Add copyright notice, since this is now large enough
37067         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37068         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
37069         * modules/utimens (Depends-on): Add extern-inline.
37071         u64: use extern-inline
37072         * lib/u64.c: New file.
37073         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37074         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
37075         * modules/u64 (Files): Add lib/u64.c.
37076         (Depends-on): Add extern-inline.
37077         (configure.ac): No need to require AC_C_INLINE, since extern-inline
37078         does that now.
37079         (lib_SOURCES): Add u64.c.
37081         timespec: use extern-inline
37082         * lib/timespec.c: New file.
37083         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37084         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
37085         * modules/timespec (Files): Add lib/timespec.c.
37086         (Depends-on): Add extern-inline.
37087         (lib_SOURCES): Add timespec.c.
37089         stat-time: use extern-inline
37090         * lib/stat-time.c: New file.
37091         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37092         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
37093         * modules/stat-time (Files): Add lib/stat-time.c.
37094         (Depends-on): Add extern-inline.
37095         (lib_SOURCES): Add stat-time.c.
37097         extern-inline: new module
37098         * modules/extern-inline, m4/extern-inline.m4: New files.
37099         This is for better support of 'extern inline' a la ISO C99,
37100         with a portable alternative on compilers that do not support
37101         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
37102         of the Emacs executable, when compiled with debugging disabled,
37103         which is a typical way that Emacs is built while developing.
37105 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
37107         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
37108         * build-aux/do-release-commit-and-tag: Move variable definitions
37109         together.
37110         ($branch): Instead of defaulting to "master", default to the current
37111         branch (as gnu-web-doc-update does).
37112         (help): Display the current values of the option arguments.
37113         * top/maint.mk (release-commit): New.
37114         * top/README-release: Simplify the corresponding step.
37116 2012-07-30  Eric Blake  <eblake@redhat.com>
37118         passfd: fix comment on recvfd
37119         * lib/passfd.c (recvfd): Fix comment.
37120         Reported by Jann Horn <jannhorn@googlemail.com>.
37122 2012-07-30  Jim Meyering  <meyering@redhat.com>
37124         maint.mk: avoid a sub-shell
37125         * top/maint.mk (release-prep): Remove unneeded sub-shell.
37127 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37129         maint.mk: use silent-rules support from Automake
37130         * top/maint.mk (news-check, vc-diff-check, announcement)
37131         (no-submodule-changes, alpha beta stable, release-prep)
37132         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
37134 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37136         maint.mk: provide a web-manual-update target
37137         * top/maint.mk: here.
37138         * top/README-release: Use it to simplify the web manual update step.
37140 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37142         README-release: shorten the circuit to post a news
37143         * top/README-release: Point directly to the news submission form.
37145 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37147         gnu-web-doc-update: fix --help
37148         * build-aux/gnu-web-doc-update: The information "top level" was written
37149         twice.
37151 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37153         maint.mk: absolute VPATH issue
37154         * top/maint.mk (release-prep): Help Git find .git/.
37155         From Jim Meyering.
37157 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37159         gitlog-to-changelog: fix previous change
37160         * build-aux/gitlog-to-changelog: Fix condition.
37161         Add missing ";".
37163 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37165         gitlog-to-changelog: don't expect .git to be in $srcdir
37166         Reported by Bruno Haible.
37167         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
37168         * build-aux/gitlog-to-changelog (&git_dir_option): New.
37169         Use it.
37171 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37173         maint.mk: absolute VPATH build fix
37174         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
37175         $(srcdir) is not a parent of $(builddir).
37177 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
37179         clean-temp: Fix memory leak.
37180         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
37181         'files' members of tmpdir.
37183 2012-07-27  Jim Meyering  <meyering@redhat.com>
37185         maint.mk: new rule: refresh-gnulib-patches
37186         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
37187         Use this rule to refresh them.
37188         * top/maint.mk (refresh-gnulib-patches): New rule.
37190 2012-07-24  Bruno Haible  <bruno@clisp.org>
37192         gnulib-tool: Fix handling of inctests variable.
37193         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
37194         Reported by Nick Bowler <nbowler@elliptictech.com>.
37196 2012-07-22  Bruno Haible  <bruno@clisp.org>
37198         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
37199         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
37200         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37201         Remove exemption for getpass.h.
37202         Suggested by Eric Blake.
37204 2012-07-20  Eric Blake  <eblake@redhat.com>
37206         verify: document conflict with -Wnested-externs
37207         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
37209         maint.mk: forbid exit(-1)
37210         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
37212 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37214         fsusage: port back to Solaris
37215         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
37216         error (fsd not declared) on Solaris 10.  Reported privately by
37217         Andrew Borodin.
37219 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
37221         gnu-web-doc-update: fix error messages
37222         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
37224         gnu-web-doc-update: check the requirements.
37225         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
37226         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
37227         * build-aux/bootstrap (find_tool): Comment change.
37229 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
37231         maint.mk: minor simplication.
37232         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
37233         for default values.
37235 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
37237         gitlog-to-changelog: VPATH build issues
37238         If builddir is not a subdirectory of srcdir, running git from it will
37239         fail.
37240         * build-aux/gitlog-to-changelog (--srcdir): New option.
37242 2012-07-15  Bruno Haible  <bruno@clisp.org>
37244         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
37245         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
37246         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
37247         Remove exemption for fpending.h.
37248         Suggested by Eric Blake.
37250 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37252         pthread_sigmask: fix bug on FreeBSD 9
37253         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
37254         Include string.h.
37255         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
37256         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
37257         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
37258         but pthread_sigmask (1729, NULL, NULL) returns zero.
37259         See <http://bugs.gnu.org/11884>.
37260         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
37261         by inspecting whether the main call changed the old mask.
37263 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
37265         README-release: make it more legible
37266         * top/README-release: Improve typography slightly.
37268 2012-07-15  Jim Meyering  <meyering@redhat.com>
37270         maint: require that each sc_... command start with "@"
37271         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
37272         "make sc_maint" helps us avoid this nit.
37274 2012-07-15  Jim Meyering  <meyering@redhat.com>
37276         maint.mk: add leading "@" to quiet new "make syntax-check" rule
37277         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
37279 2012-07-13  Eric Blake  <eblake@redhat.com>
37281         maint.mk: new syntax check for HAVE_DECL checks
37282         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
37283         * cfg.mk
37284         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37285         Exempt some false positives.
37286         Based on a report by Karel Zak.
37288         argp: make HAVE_DECL usage consistent
37289         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
37290         macros, not whether they are defined.
37291         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
37292         convention with other declaration checks.
37293         Reported by Karel Zak, with suggestions from Paul Eggert.
37295         stat-time: relax license to LGPLv2+
37296         * modules/stat-time (License): Relax, with consent of all authors.
37298         strndup: fix m4 usage error
37299         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
37300         defined, to either 0 or 1.
37301         Reported by Karel Zak.
37303 2012-07-11  Jim Meyering  <meyering@redhat.com>
37305         maint: enable the sc_avoid_if_before_free syntax-check rule
37306         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
37307         (if_before_free_offenders_): Define.
37308         (if_before_free_basename_re_): Define.
37309         Exempt current files with useless if-before-free.
37311 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
37313         gettext: do not assume '#define ... defined ...' behavior
37314         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
37315         Do not use '#define FOO ... defined BAR ...', as the C standard says
37316         it's not portable to expect that this works after macro expansion.
37317         Problem reported for gzip by Steven M. Schweda in
37318         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
37320 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37322         getloadavg: clean out old Emacs and Autoconf cruft
37323         See Glenn Morris in <http://bugs.gnu.org/11905>.
37324         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
37325         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
37326         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
37327         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
37329 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
37331         bootstrap: let warn be like tests/init.sh's warn_
37332         Reported by Jim Meyering.
37333         * build-aux/bootstrap (warn): Remove, replaced by...
37334         (warnf_, warn_): these.
37335         Adjust callers.
37336         Shorten messages that no longer fit in 80 columns.
37338 2012-07-09  Bruno Haible  <bruno@clisp.org>
37340         getopt: Simplify after Emacs changed.
37341         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
37342         (gl_GETOPT_IFELSE): Remove macro.
37344 2012-07-09  Jim Meyering  <meyering@redhat.com>
37346         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
37347         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
37349         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
37350         Bugs in both of those conspired to make the
37351         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
37352         _sc_search_regexp's handling of non-empty $in_files would filter
37353         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
37354         choice of in_files value meant there would be no match in most
37355         projects, due to the presence of two or more Makefile.in files.
37356         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
37357         Fix a bug in how a non-empty $$in_files was processed:
37358         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
37359         in spite of the name, it's a regexp, not a list of file names.
37361 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37363         getloadavg, getopt: fix commentary re configure.in
37364         Autoconf is deprecating the name 'configure.in', so change it to
37365         to the new name 'configure.ac' in a couple of places.
37366         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
37367         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
37368         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
37369         Emacs has renamed it to configure.ac, and it no longer refers
37370         to these macros anyway.
37372         timespec: mark functions with const attributes
37373         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
37374         Mark with _GL_ATTRIBUTE_CONST.
37376 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37378         canonicalize[-lgpl]: handle "guessing" values when cross-building
37379         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37380         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
37381         matches "*yes" instead of just "yes".  Regression introduced in commit
37382         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
37384 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37385             Bruno Haible  <bruno@clisp.org>
37387         canonicalize: make the right guess when cross-compiling to GNU
37388         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
37389         determine whether cross-compiling to glibc systems, so as to
37390         include GNU/Hurd.
37392 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37394         timespec-sub: avoid duplicate include
37395         * lib/timespec-sub.c: Do not include <config.h> twice.
37396         Reported by Juanma Barranquero.
37398 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
37400         bootstrap: use a more consistent error reporting scheme
37401         * build-aux/bootstrap (warn, die): New.
37402         Use them.
37404 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37406         sys_time: allow too-wide tv_sec
37407         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
37408         timeval even if tv_sec is wider than time_t.  This allows
37409         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
37410         as without this patch gnulib replaces struct timeval
37411         and OpenBSD futimes therefore has a type mismatch.
37412         * doc/posix-headers/sys_time.texi: Mention this.
37414         pthread: check for both pthread_create and pthread_join
37415         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
37416         alter the check so that it tests for both pthread_create and
37417         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
37418         Suggested by Bruno Haible and Richard Yao in
37419         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
37421         parse-datetime: doc tuneup
37422         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
37423         spacing issues.
37425 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
37427         do-release-commit-and-tag: fix the previous commit
37428         * build-aux/do-release-commit-and-tag: Actually the test was right,
37429         but the comment and the error message were misleading.
37430         Fix comment, and improve error message.
37431         Perform check first, so that NEWS is not modified uselessly.
37433         do-release-commit-and-tag: fix typo
37434         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
37435         _not_ start with a stub.
37437 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37439         pthread: check for pthread_create, not pthread_join
37440         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
37441         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
37442         pthread_join in libc.  I hope this removes the need for all the
37443         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
37444         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
37446 2012-07-04  Jim Meyering  <meyering@redhat.com>
37448         parse-datetime: fix failure to diagnose invalid input
37449         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
37450         rather than diagnosing the invalid input.  Now it reports this:
37451         date: invalid date '\260'
37452         * lib/parse-datetime.y (to_uchar): Define.
37453         (yylex): Don't sign-extend "other" bytes.
37454         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
37455         Thanks to Bruno Haible for the patch to this file.
37456         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
37457         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
37459 2012-07-03  Jim Meyering  <meyering@redhat.com>
37461         bootstrap: do not require now-removed build-aux/missing
37462         Now that build-aux/missing is, er, missing, bootstrap would
37463         silently fail.
37464         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
37465         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
37466         no longer part of gnulib.
37467         Diagnose the failure.
37469 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37471         alloca: add support for HP NonStop TNS/E native
37472         * lib/alloca.in.h (alloca): Support the new host.
37473         From a suggestion by Joachim Schmitz in
37474         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
37476 2012-07-02  Pádraig Brady  <P@draigBrady.com>
37478         fsusage: remove code not needed on non GNU/Linux systems.
37480         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37481         Don't include headers no longer needed in this case.
37482         * lib/fsusage.c [STAT_STATVFS &&
37483         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
37484         STAT_STATFS2_FRSIZE to exclude code not used in this case.
37486 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37488         fsusage: include files needed for glibc 2.6 fallback
37489         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37490         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
37491         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
37492         Problem reported by Ludovic Courtès in
37493         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
37495         fsusage: avoid needless check on GNU/Linux
37496         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
37497         on GNU/Linux systems, since it can't possibly work.
37499 2012-07-01  Bruno Haible  <bruno@clisp.org>
37501         log: Fix an autoconf >= 2.64 warning.
37502         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
37503         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37505 2012-06-28  Bruno Haible  <bruno@clisp.org>
37507         log10f: Fix possible configuration problem.
37508         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
37509         $LOGF_LIBM.
37510         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37512 2012-06-28  Bruno Haible  <bruno@clisp.org>
37514         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
37515         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
37516         not gl_cv_func_unlink_works.
37517         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
37519 2012-06-27  Eric Blake  <eblake@redhat.com>
37521         config: drop scripts that automake says are not independent
37522         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
37523         * build-aux/elisp-comp: Delete.
37524         * build-aux/missing: Likewise.
37525         * build-aux/ylwrap: Likewise.
37526         * modules/elisp-comp: Likewise.
37527         * MODULES.html.sh: Drop mention of elisp-comp.
37528         * NEWS: Mention this.
37530 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
37532         root-uid: new module
37533         This is for portability to Tandem's NonStop Kernel.
37534         * lib/root-uid.h, modules/root-uid: New files.
37535         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
37536         * lib/write-any-file.c, tests/test-sethostname2.c:
37537         Include "root-uid.h".
37538         * lib/euidaccess.c (euidaccess):
37539         * lib/pt_chown.c (main):
37540         * lib/unlinkdir.c (cannot_unlink_dir):
37541         * lib/write-any-file.c (can_write_any_file):
37542         * m4/mknod.m4 (gl_FUNC_MKNOD):
37543         * tests/test-sethostname2.c (geteuid, main):
37544         Don't assume ROOT_UID == 0.
37545         * modules/euidaccess (Depends-on):
37546         * modules/pt_chown (Depends-on):
37547         * modules/sethostname-tests (Depends-on):
37548         * modules/unlinkdir (Depends-on):
37549         * modules/write-any-file (Depends-on):
37550         Add root-uid.
37552         regex: use locale-independent comparison for codeset name
37553         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
37554         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
37555         for codeset name.
37556         * lib/regex_internal.h: Do not include <strings.h>, since we
37557         no longer use strcasecmp.
37558         * modules/regex (Depends-on): Remove strcase.
37560 2012-06-23  Bruno Haible  <bruno@clisp.org>
37562         getopt-posix: No longer guarantee that option processing is resettable.
37563         * doc/posix-functions/getopt.texi: Drop description of problem with
37564         internal state. Fix info about mingw and msvc9.
37565         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
37566         option processing by getopt(). Run three test programs instead of one.
37567         Simplify cross-compilation guess.
37568         * NEWS: Mention the change.
37569         Reported by Rich Felker <dalias@aerifal.cx>.
37571 2012-06-26  Bruno Haible  <bruno@clisp.org>
37573         argp, regex: Ensure strcasecmp gets declared.
37574         * lib/argp-help.c: Include <strings.h>.
37575         * lib/regex_internal.h: Likewise.
37576         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
37578 2012-06-24  Bruno Haible  <bruno@clisp.org>
37580         ptsname_r: Make it consistent with ptsname on AIX.
37581         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
37582         implementation as for OSF/1.
37583         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
37584         a pty master.
37586         ptsname_r: Make it consistent with ptsname on OSF/1.
37587         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
37588         OSF/1.
37590 2012-06-24  Bruno Haible  <bruno@clisp.org>
37592         ttyname_r: Fix result on OSF/1, Solaris.
37593         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
37595 2012-06-24  Bruno Haible  <bruno@clisp.org>
37597         ptsname_r: Add support for Solaris.
37598         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
37599         Solaris.
37601         ptsname_r: Fix test failure on native Windows.
37602         * modules/ptsname_r (Depends-on): Add isatty.
37604         ptsname_r: Fix test failures on IRIX, Solaris.
37605         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
37606         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
37607         accordingly.
37608         * lib/ptsname_r.c: Include <fcntl.h>.
37609         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
37610         set errno if fd is invalid.
37611         * tests/test-isatty.c (main): Update comments.
37613 2012-06-24  Bruno Haible  <bruno@clisp.org>
37615         ptsname test: Extend test.
37616         * tests/test-ptsname.c: Include <errno.h>.
37617         (main): Test behaviour with invalid file descriptor.
37619 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37621         time: fix obsolete comment
37622         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
37623         reference to HAVE_STRUCT_TIMESPEC in comment.
37625 2012-06-23  Bruno Haible  <bruno@clisp.org>
37627         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
37628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
37629         does not handle abbreviated long options with equivalent
37630         disambiguations, set gl_replace_getopt to yes.
37631         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
37633 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
37635         time_r: fix typo that always overrode localtime_r decl
37636         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
37637         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
37638         not in a standard include.
37640 2012-06-22  Bruno Haible  <bruno@clisp.org>
37642         Write "Mac OS X" instead of "MacOS X".
37643         * README: Write "Mac OS X" instead of "MacOS X".
37644         * build-aux/bootstrap: Likewise.
37645         * build-aux/install-reloc: Likewise.
37646         * lib/acl-internal.h: Likewise.
37647         * lib/acl_entries.c: Likewise.
37648         * lib/argp-ba.c: Likewise.
37649         * lib/argp-pv.c: Likewise.
37650         * lib/config.charset: Likewise.
37651         * lib/copy-acl.c: Likewise.
37652         * lib/csharpexec.c: Likewise.
37653         * lib/euidaccess.c: Likewise.
37654         * lib/fbufmode.c: Likewise.
37655         * lib/fflush.c: Likewise.
37656         * lib/file-has-acl.c: Likewise.
37657         * lib/filemode.h: Likewise.
37658         * lib/fpurge.c: Likewise.
37659         * lib/freadable.c: Likewise.
37660         * lib/freadahead.c: Likewise.
37661         * lib/freading.c: Likewise.
37662         * lib/freadptr.c: Likewise.
37663         * lib/freadseek.c: Likewise.
37664         * lib/fseeko.c: Likewise.
37665         * lib/fseterr.c: Likewise.
37666         * lib/fsusage.c: Likewise.
37667         * lib/fwritable.c: Likewise.
37668         * lib/fwriting.c: Likewise.
37669         * lib/get-rusage-as.c: Likewise.
37670         * lib/get-rusage-data.c: Likewise.
37671         * lib/getdomainname.c: Likewise.
37672         * lib/idpriv-drop.c: Likewise.
37673         * lib/idpriv-droptemp.c: Likewise.
37674         * lib/localcharset.c: Likewise.
37675         * lib/locale.in.h: Likewise.
37676         * lib/localename.c: Likewise.
37677         * lib/mbsrtowcs-state.c: Likewise.
37678         * lib/nproc.c: Likewise.
37679         * lib/passfd.c: Likewise.
37680         * lib/posix_openpt.c: Likewise.
37681         * lib/printf-parse.c: Likewise.
37682         * lib/progreloc.c: Likewise.
37683         * lib/safe-read.h: Likewise.
37684         * lib/safe-write.h: Likewise.
37685         * lib/sched.in.h: Likewise.
37686         * lib/set-mode-acl.c: Likewise.
37687         * lib/signal.in.h: Likewise.
37688         * lib/stdint.in.h: Likewise.
37689         * lib/stdio-impl.h: Likewise.
37690         * lib/stdlib.in.h: Likewise.
37691         * lib/strtod.c: Likewise.
37692         * lib/sys_select.in.h: Likewise.
37693         * lib/tcgetsid.c: Likewise.
37694         * lib/unistd.in.h: Likewise.
37695         * lib/unlockpt.c: Likewise.
37696         * lib/vasnprintf.c: Likewise.
37697         * lib/vma-iter.c: Likewise.
37698         * lib/wcsrtombs-state.c: Likewise.
37699         * m4/acl.m4: Likewise.
37700         * m4/acosl.m4: Likewise.
37701         * m4/asinl.m4: Likewise.
37702         * m4/atanl.m4: Likewise.
37703         * m4/c-stack.m4: Likewise.
37704         * m4/cosl.m4: Likewise.
37705         * m4/expl.m4: Likewise.
37706         * m4/extensions.m4: Likewise.
37707         * m4/fdatasync.m4: Likewise.
37708         * m4/fmal.m4: Likewise.
37709         * m4/frexp.m4: Likewise.
37710         * m4/frexpf.m4: Likewise.
37711         * m4/frexpl.m4: Likewise.
37712         * m4/fsusage.m4: Likewise.
37713         * m4/getdomainname.m4: Likewise.
37714         * m4/getloadavg.m4: Likewise.
37715         * m4/getopt.m4: Likewise.
37716         * m4/gettext.m4: Likewise.
37717         * m4/gnulib-common.m4: Likewise.
37718         * m4/intdiv0.m4: Likewise.
37719         * m4/intlmacosx.m4: Likewise.
37720         * m4/largefile.m4: Likewise.
37721         * m4/ldexpl.m4: Likewise.
37722         * m4/link-follow.m4: Likewise.
37723         * m4/locale-ar.m4: Likewise.
37724         * m4/locale-fr.m4: Likewise.
37725         * m4/locale-ja.m4: Likewise.
37726         * m4/locale-tr.m4: Likewise.
37727         * m4/locale-zh.m4: Likewise.
37728         * m4/locale_h.m4: Likewise.
37729         * m4/lock.m4: Likewise.
37730         * m4/logl.m4: Likewise.
37731         * m4/mathfunc.m4: Likewise.
37732         * m4/minus-zero.m4: Likewise.
37733         * m4/mktime.m4: Likewise.
37734         * m4/mmap-anon.m4: Likewise.
37735         * m4/multiarch.m4: Likewise.
37736         * m4/nanosleep.m4: Likewise.
37737         * m4/nocrash.m4: Likewise.
37738         * m4/poll.m4: Likewise.
37739         * m4/printf-frexpl.m4: Likewise.
37740         * m4/printf.m4: Likewise.
37741         * m4/signbit.m4: Likewise.
37742         * m4/sinl.m4: Likewise.
37743         * m4/sqrtl.m4: Likewise.
37744         * m4/strerror_r.m4: Likewise.
37745         * m4/tanl.m4: Likewise.
37746         * m4/threadlib.m4: Likewise.
37747         * m4/ttyname_r.m4: Likewise.
37748         * m4/unlink.m4: Likewise.
37749         * m4/visibility.m4: Likewise.
37750         * m4/wcwidth.m4: Likewise.
37751         * tests/minus-zero.h: Likewise.
37752         * tests/test-alloca-opt.c: Likewise.
37753         * tests/test-copy-acl.sh: Likewise.
37754         * tests/test-copy-file.sh: Likewise.
37755         * tests/test-fdatasync.c: Likewise.
37756         * tests/test-file-has-acl.sh: Likewise.
37757         * tests/test-flock.c: Likewise.
37758         * tests/test-fsync.c: Likewise.
37759         * tests/test-localename.c: Likewise.
37760         * tests/test-malloca.c: Likewise.
37761         * tests/test-nonblocking-pipe.h: Likewise.
37762         * tests/test-nonblocking-socket.h: Likewise.
37763         * tests/test-openpty.c: Likewise.
37764         * tests/test-posix_openpt.c: Likewise.
37765         * tests/test-ptsname.c: Likewise.
37766         * tests/test-ptsname_r.c: Likewise.
37767         * tests/test-sameacls.c: Likewise.
37768         * tests/test-select.h: Likewise.
37769         * tests/test-set-mode-acl.sh: Likewise.
37770         * tests/test-snprintf-posix.h: Likewise.
37771         * tests/test-sprintf-posix.h: Likewise.
37772         * tests/test-strtod.c: Likewise.
37773         * tests/test-time.c: Likewise.
37774         * tests/test-vasnprintf-posix.c: Likewise.
37775         * tests/test-vasprintf-posix.c: Likewise.
37776         * doc/acl-resources.txt: Likewise.
37777         * doc/**/*.texi: Likewise.
37778         Reported by Max Horn <max@quendi.de>.
37780 2012-06-22  Bruno Haible  <bruno@clisp.org>
37782         grantpt: Relax requirement regarding invalid file descriptors.
37783         * lib/grantpt.c: Don't include <fcntl.h>.
37784         (grantpt): Don't verify the validity of the file descriptor.
37785         * modules/grantpt (Depends-on): Remove fcntl-h.
37786         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
37787         file descriptors.
37788         * doc/posix-functions/grantpt.texi: Document more platforms on which
37789         grantpt succeeds for invalid file descriptors.
37790         Reported by Rich Felker <dalias@aerifal.cx>.
37792 2012-06-22  Bruno Haible  <bruno@clisp.org>
37794         fbufmode test: Don't test unportable behaviour.
37795         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
37796         (main): Invoke it three times.
37797         Reported by Szabolcs Nagy <nsz@port70.net>
37798         and Rich Felker <dalias@aerifal.cx>.
37800 2012-06-21  Bruno Haible  <bruno@clisp.org>
37802         gnulib-tool: Refactor inctests variable.
37803         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
37804         (func_modules_transitive_closure,
37805         func_modules_transitive_closure_separately,
37806         func_import, func_create_testdir): Update.
37808         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
37809         * gnulib-tool: Accept option --without-tests.
37810         (func_usage): Document --without-tests option. Rearrange.
37811         (inctests): Normalize according to the mode.
37812         * NEWS: Mention the change.
37813         Suggested by Simon Josefsson.
37815 2012-06-21  Bruce Korb  <bkorb@gnu.org>
37817         parse-duration test: Avoid spurious output.
37818         * tests/test-parse-duration.sh: Reindent with leading tabs.
37820 2012-06-21  Jim Meyering  <meyering@redhat.com>
37822         maint: disable the strncpy prohibition
37823         * cfg.mk: Do not prohibit strncpy here.
37825 2012-06-21  Bruno Haible  <bruno@clisp.org>
37827         nonblocking: Avoid compilation error on mingw64.
37828         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
37829         fscanf.
37830         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
37831         * modules/vfscanf (configure.ac): Likewise.
37832         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
37833         definition only if stdio.h has prepared it.
37834         Reported by Daniel P. Berrange <berrange@redhat.com>.
37836 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
37838         gnulib-tool: Use readlink if it is available.
37839         * gnulib-tool (func_readlink): Choose function more appropriately.
37841 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37843         posixtm-tests: port to buggy compiler
37844         Problem reported by Simon Josefsson in
37845         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
37846         * modules/posixtm-tests (Depends-on): Add stdint.
37847         * tests/test-posixtm.c (struct posixtm_test.t_expected):
37848         Now of type int_least64_t, not int64_t, both because that's
37849         what INT64_C returns and because int_least64_t works even
37850         on 72-bit hosts.
37851         (T): Use INT64_C on constants outside the traditional int range,
37852         to work around compiler bug noted by Simon.
37854         mktime: fix integer overflow in 'configure'-time test
37855         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
37856         after integer overflow.  Problem reported by Rich Felker in
37857         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
37858         Also, don't look for further instances of a bug if we've already
37859         found one instance; this helps 'configure' run faster.
37861 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
37863         tmpfile, clean-temp: Fix invocation of GetVersionEx.
37864         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
37865         GetVersionEx correctly.
37866         * lib/clean-temp.c (supports_delete_on_close): Likewise.
37868 2012-06-20  Bruno Haible  <bruno@clisp.org>
37870         fdopen: Allow implementations that don't reject invalid fd arguments.
37871         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
37872         succeeds.
37873         Reported by Rich Felker <dalias@aerifal.cx>.
37875 2012-06-20  Simon Josefsson  <simon@josefsson.org>
37877         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
37878         bring in LIBINTL.
37880 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37882         init.sh: do not rely on autoupated PWD
37883         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
37884         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
37885         Although Nelson's bug was not necessarily fixed by this patch,
37886         it seems wise to make the change for safety.
37887         * tests/init.sh (path_prepend_): Do not rely on PWD updating
37888         automagically after 'cd'; this is not reliable on older shells.
37889         (setup_): Fail if we cannot cd to temporary directory.
37891 2012-06-19  Bruno Haible  <bruno@clisp.org>
37893         stat, fstat: Avoid warnings on mingw64.
37894         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
37895         redefining.
37896         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
37897         Reported by Daniel P. Berrange <berrange@redhat.com>.
37899 2012-06-19  Bruno Haible  <bruno@clisp.org>
37901         stdioext: Add support for musl libc.
37903         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
37904         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
37906         * m4/fseterr.m4: New file.
37907         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
37908         function exists.
37909         * modules/fseterr (Files): Add m4/fseterr.m4.
37910         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
37911         __fseterr does not exist.
37912         (Makefile.am): Remove fseterr.c from lib_SOURCES.
37914         * lib/freadable.h: Update comment.
37916         * lib/fwritable.h: Update comment.
37918         * lib/freading.h: Update comment.
37920         * lib/fwriting.h: Update comment.
37922         * m4/freadahead.m4: New file.
37923         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
37924         that function exists.
37925         * modules/freadahead (Files): Add m4/freadahead.m4.
37926         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
37927         __freadahead does not exist.
37928         (Makefile.am): Remove freadahead.c from lib_SOURCES.
37930         * m4/freadptr.m4: New file.
37931         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
37932         function exists.
37933         * modules/freadptr (Files): Add m4/freadptr.m4.
37934         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
37935         __freadptr does not exist.
37936         (Makefile.am): Remove freadptr.c from lib_SOURCES.
37938         * m4/freadseek.m4: New file.
37939         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
37940         exists.
37941         * modules/freadseek (Files): Add m4/freadseek.m4.
37942         (configure.ac): Invoke gl_FUNC_FREADSEEK.
37944         * lib/fpurge.c (fpurge): Update comment.
37946         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
37948 2012-06-19  Bruno Haible  <bruno@clisp.org>
37950         *printf-posix: Put more info into config.log.
37951         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
37952         exit code into config.log.
37954 2012-06-19  Bruno Haible  <bruno@clisp.org>
37956         getopt-gnu: Fix exit code overflow in autoconf test.
37957         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
37958         to keep them below < 128.
37960 2012-06-17  Jim Meyering  <meyering@redhat.com>
37962         maint.mk: fix typo in code to derive GPG key at release time
37963         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
37965 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
37967         regex: avoid warning when pointers are not long
37968         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
37969         and uintptr_t, not long, for portability to hosts where pointers and
37970         long have different sizes.  Issue noted by Daniel P. Berrange in
37971         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
37972         and fix suggested by Bruno Haible in
37973         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
37975 2012-06-17  Bruno Haible  <bruno@clisp.org>
37977         dummy: Relicense into the public domain.
37978         * modules/dummy (License): Set to "public domain".
37979         Suggested by Reuben Thomas.
37981 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
37983         announce-gen: VPATH issues
37984         * build-aux/announce-gen (--srcdir): New option, used to trim the
37985         $srcdir part of the path from $builddir to NEWS.
37986         * top/maint.mk (announcement): Adjust.
37988 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
37990         gnu-web-doc-update: VPATH builds
37991         * build-aux/gnu-web-doc-update (--builddir): New option.
37992         Revamp the handling of options.
37993         Prefer $(...) to `...`.
37994         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
37995         the template, and it is GNU mktemp specific.
37996         Prefer set -e to long series of &&.
37997         Restore the initial git branch, not "master".
37998         Properly initialize submodules (don't rely only on bootstrap).
37999         Do not reconfigure blindly, use config.status.
38000         * top/README-release: Update instructions for gnu-web-doc-update.
38002 2012-06-11  Jim Meyering  <meyering@redhat.com>
38004         maint.mk: revert most of the previous change re "all these"
38005         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
38006         For rationale, see the discussion at
38007         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
38009 2012-06-10  Karl Berry  <karl@gnu.org>
38011         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
38013         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
38015 2012-06-10  Bruce Korb  <bkorb@gnu.org>
38017         parse-duration: Relicense under LGPLv2+.
38018         * modules/parse-duration (License): Change to LGPLv2+.
38020 2012-06-10  Jim Meyering  <meyering@redhat.com>
38022         maint.mk: prohibit common grammar error: "all these"
38023         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
38024         the list of prohibited word sequences.  It should be "all of these".
38025         * lib/tempname.c (__gen_tempname): Fix one of them.
38027 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38029         do-release-commit-and-tag: support VPATH builds
38030         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
38031         (noteworthy): Defined earlier to factor its value.
38032         (noteworthy_stub): New.
38033         Use it to factor.
38034         (help_version): Split into...
38035         (help, version): these.
38036         Adjust the option processing part.
38037         Support "--option=value" in addition to "--option value".
38038         (builddir): New.
38039         (--builddir): New option.
38040         * top/README-release: Document this.
38041         Reword slightly so that the reader cannot understand that he
38042         has to do these steps before calling do-release-commit-and-tag.
38044 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38046         readme-release: also require announce-gen and maintainer-makefile
38047         * modules/readme-release (Depends-on): here.
38048         * modules/announce-gen, modules/do-release-commit-and-tag,
38049         modules/gnu-web-doc-update, modules/maintainer-makefile
38050         (Description): Point to readme-release.
38052 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38054         maint.mk: fix VPATH issues.
38055         * top/maint.mk (news-check): GNU Make understand $< very well.
38056         (release-prep): NEWS is in $(srcdir).
38058 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
38060         readme-release: require the promoted modules.
38061         * modules/readme-release (Depends-on): Add
38062         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
38063         in this text.
38065 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38066             Bruno Haible  <bruno@clisp.org>
38068         error, strerror-override: Support mingw64 from Fedora 17.
38069         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
38070         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
38071         EINPROGRESS.
38072         * lib/strerror-override.h (strerror_override): Test it.
38073         * lib/strerror-override.c (strerror_override): Likewise.
38074         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
38076 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38077             Bruno Haible  <bruno@clisp.org>
38079         error, strerror-override: Support mingw64 from Fedora 17.
38080         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
38081         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
38082         * lib/strerror-override.h (strerror_override): Test it.
38083         * lib/strerror-override.c (strerror_override): Likewise.
38085 2012-06-03  Bruno Haible  <bruno@clisp.org>
38087         error, strerror-override: Support new errno values from POSIX:2008.
38088         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
38089         ENOTRECOVERABLE.
38090         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
38091         platforms.
38092         * lib/strerror-override.c (strerror_override): Conditionalize the
38093         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
38094         * lib/strerror-override.h (strerror_override): Declare also if
38095         GNULIB_defined_EOWNERDEAD is defined.
38096         * tests/test-errno.c (e130, e131): New variables.
38097         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
38098         ENOTRECOVERABLE.
38099         Reported by Paolo Bonzini.
38101 2012-05-31  Jim Meyering  <meyering@redhat.com>
38103         savewd: add missing dependency on sys_wait module
38104         * modules/savewd (Depends-on): Add sys_wait, needed at least
38105         for MSVC.  Report and suggested change by Michael Goffioul.
38107 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38109         system-quote-tests: port to CentOS 5
38110         Problem reported by Tom G. Christensen in
38111         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
38112         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
38114 2012-05-29  Jim Meyering  <meyering@redhat.com>
38116         maint: fix typos in comments and ChangeLog
38117         Culprits identified and fixed mostly automatically using these commands:
38118         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
38119         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
38120         using http://github.com/lyda/misspell-check
38121         * ChangeLog: Fix typos.
38122         * doc/solaris-versions: Likewise.
38123         * lib/regexec.c (re_search_stub): Likewise.
38124         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38126 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38128         manywarnings: remove duplicate -Wmultichar entry
38129         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
38130         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
38131         so keep the entry marked as documented.
38133 2012-05-27  Karl Berry  <karl@gnu.org>
38135         * config/srclist.txt (mktime.c): remove last libc sync,
38136         perhaps just temporarily.
38138 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38140         regex: don't assume uint64_t or uint32_t
38141         * lib/regcomp.c (init_word_char): Don't assume that the types
38142         uint64_t and uint32_t exist.  The C standard doesn't guarantee
38143         them, and on some 32-bit compilers there is no uint64_t.
38144         Problem reported by Gianluigi Tiesi in
38145         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
38147 2012-05-25  Jim Meyering  <meyering@redhat.com>
38149         maint.mk: add strncpy-prohibiting syntax-check rule
38150         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
38152 2012-05-24  Jim Meyering  <meyering@redhat.com>
38154         maint.mk: compute $(gpg_key_ID) more portably
38155         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
38156         That use of sed is not portable to some fringe systems.
38157         Reported by Paul Eggert in
38158         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
38160 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38162         mktime: sync from glibc
38163         * config/srclist.txt: Uncomment mktime.c.
38164         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
38165         First, indent with tabs, since glibc uses tabs and doesn't want to
38166         change and we'd rather be identical to glibc.  Also, two small
38167         coding changes:
38168         (isdst_differ): Use &&, not &, as && is the usual style.
38169         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
38170         for clarity.
38172 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38174         announce-gen: du -h is more portable than du --human
38175         * build-aux/announce-gen (sizes): Invoke du with -h instead
38176         of --human.  Accept leading white space in its output.
38178 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38180         announce-gen: Improve diagnostics.
38181         * build-aux/announce-gen: When parsing command line options,
38182         prefer "announce-gen: option --release-type requires an argument"
38183         to "Option release-type requires an argument".
38185 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38187         maint.mk: gpg_key_ID: use sed more portably
38188         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
38189         the closing brace.
38190         (refresh-po): Fuse two sed invocations into one.
38192 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
38194         gitlog-to-changelog: support the log message format used in Bison.
38195         * build-aux/gitlog-to-changelog: Support --strip-tab and
38196         --strip-cherry-picked.
38198 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38200         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
38201         the rest of the current time slice to another thread in the current
38202         process. So if the thread that feeds the file decscriptor we're
38203         polling is not in the current process, we get busy-waiting.
38204         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
38205         Patch from Theodore Leblond.
38206         * lib/select.c: Split polling out of the loop that sets the output
38207         fd_sets.  Check for zero result and loop if the wait timeout is
38208         infinite.
38210 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38212         select: Fix build error on IRIX 6.5.
38213         * lib/select.c: Include stddef.h for NULL.
38215 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38217         gc: fix libgcrypt detection on older machines.
38218         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
38219         copyright years because the file has been distributed every year
38220         since it was created.
38222 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38224         crypto: fix bug in large buffer handling
38225         Problem reported by Serge Belyshev for glibc in
38226         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
38227         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
38228         * lib/md4.c (md4_process_block):
38229         * lib/md5.c (md5_process_block):
38230         * lib/sha1.c (sha1_process_block):
38231         * lib/sha256.c (sha256_process_block):
38232         Don't assume the buffer length is less than 2**32.
38233         * lib/sha512.c (sha512_process_block): Likewise.
38234         Here, the bug is present only in the rare case where the host does
38235         not support uint64_t or where size_t is wider than 64 bits.
38236         Use u64size to work around the problems.
38237         * lib/u64.h (u64size): New macro.
38239 2012-05-15  Pádraig Brady  <P@draigBrady.com>
38241         fsusage: fix block size returned on older Linux 2.6
38243         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
38244         which is available since Linux 2.6.
38245         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
38246         when the member is available so it can be used as a fallback.
38247         * doc/posix-functions/statvfs.texi: Mention the hang issue
38248         on Linux < 2.6.36.
38250 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38252         bootstrap: suppress stderr chatter
38253         * build-aux/bootstrap (insert_sorted_if_absent, main program):
38254         Omit unnecessary chatter to stderr.  The main program chatter
38255         was there only inadvertantly.
38257         bootstrap: .gitignore files created by autopoint, libtool
38258         I ran into this problem when bootstrapping the latest diffutils.
38259         After './bootstrap', 'git status' reported lots of untracked files
38260         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
38261         autopoint and do not need to be version-controlled.
38262         * build-aux/bootstrap: Put into .gitignore the files that
38263         autopoint and libtool create, by keeping track of files that exist
38264         after but not before these programs are run.
38265         (version_controlled_file): Move up.  2nd arg is now full file
38266         name, not base name; this is more convenient.  Put CVS at the end,
38267         as it's now somewhat deprecated.
38269 2012-05-14  Jim Meyering  <meyering@redhat.com>
38271         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
38272         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
38273         definition.  Reported by Bruno Haible.
38275 2012-05-13  Bruno Haible  <bruno@clisp.org>
38276             Paul Eggert  <eggert@cs.ucla.edu>
38278         binary-io: Define set_binary_mode function.
38279         * lib/binary-io.h (set_binary_mode): New function.
38280         (SET_BINARY): Define in terms of set_binary_mode.
38281         * modules/binary-io (configure.ac): Require AC_C_INLINE.
38282         * tests/test-binary-io.c (main): Accept an argument, and test either
38283         set_binary_mode or SET_BINARY depending on the argument.
38284         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
38285         argument. Clean up also t-bin-out0.tmp.
38287 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
38289         bootstrap: take advantage of POSIX shell features
38291         The 'bootstrap' script offered by Gnulib script already uses POSIX
38292         shell features (like $((...)) arithmetic expansions) that are not
38293         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
38294         means that bootstrap must already be run using a proper POSIX shell,
38295         which will thus provide more features, like ${var#pattern} parameter
38296         expansion or inversion of a command exit status with '!'.  We can
38297         thus use these features to improve the clarity and the performances
38298         of the bootstrap script.
38300         Suggested by Eric Blake.
38302         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
38303         of sed/expr plus command substitutions, to save some forks.  While
38304         we are at it, prefer the POSIX $(...) form of command substitution,
38305         rather than the legacy form `...` (since the former is visually
38306         clearer and interacts better with quoting), and prefer the idiom:
38307           "if ! CMD; then ACTION ..."
38308         over the idiom:
38309           "if CMD; then :; else ACTION ..."
38310         which was required by legacy Bourne shells not supporting '!'.
38312 2012-05-12  Bruno Haible  <bruno@clisp.org>
38314         system-quote: Add more comments.
38315         * lib/system-quote.h: Add more comments about wilcards and limitations.
38316         Suggested by Eli Zaretskii <eliz@gnu.org>.
38318         sh-quote, system-quote: Add comments about wildcards.
38319         * lib/sh-quote.h: Clarify what happens with wildcard characters.
38320         * lib/system-quote.h: Likewise.
38321         Reported by Eli Zaretskii <eliz@gnu.org>.
38323 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
38325         fsusage: check for GNU/Linux statvfs problem dynamically
38326         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
38327         Define STAT_STATFS2_BSIZE too, since in this case the code now
38328         checks dynamically whether statvfs is reliable, falling back on
38329         Linux-style statfs otherwise.
38330         (statvfs_works): New function, for dynamically testing statvfs.
38331         (get_fs_usage) [STAT_STATVFS]: Use it.
38332         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
38333         statvfs on GNU/Linux hosts, since it's now done dynamically.
38335 2012-05-10  Bruno Haible  <bruno@clisp.org>
38337         system-quote, execute, spawn-pipe: Escape '?' on Windows.
38338         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
38339         '?' character.
38340         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
38341         * tests/test-system-quote-main.c (check_all): Check also strings like
38342         "??????????".
38343         Reported by Eli Zaretskii <eliz@gnu.org>.
38345 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38347         _Noreturn: port config.h to gcc -Wundef
38348         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
38349         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
38350         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
38352 2012-05-10  Bruno Haible  <bruno@clisp.org>
38354         system-quote: Refactor.
38355         * lib/system-quote.h (system_quote_copy): Fix comment.
38356         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
38357         New functions, extracted from system_quote_copy.
38358         (system_quote_length, system_quote_copy): Use these functions.
38359         Reported by Paul Eggert.
38361 2012-05-08  Bruno Haible  <bruno@clisp.org>
38363         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
38364         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
38366 2012-05-08  Bruno Haible  <bruno@clisp.org>
38368         Tests for module 'system-quote'.
38369         * modules/system-quote-tests: New file.
38370         * tests/test-system-quote.sh: New file.
38371         * tests/test-system-quote-main.c: New file.
38372         * tests/test-system-quote-child.c: New file.
38374         New module 'system-quote'.
38375         * lib/system-quote.h: New file.
38376         * lib/system-quote.c: New file.
38377         * modules/system-quote: New file.
38379 2012-05-08  Bruno Haible  <bruno@clisp.org>
38381         sh-quote: Make C++ safe and allow multiple inclusion.
38382         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
38383         declarations in extern "C".
38385 2012-05-08  Bruno Haible  <bruno@clisp.org>
38387         sh-quote tests: Make tests stricter.
38388         * tests/test-sh-quote.c (check_one): Check the return value of
38389         shell_quote_copy.
38390         (main): Check a string with a CR character. Check a string that
38391         contains UCHAR_MAX.
38393 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
38395         warnings.m4: provide a means to specify the program to compile.
38396         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
38397         (gl_WARN_ADD): here.
38398         Use gl_AS_VAR_APPEND.
38399         Support an argument to specify the program to compile.
38400         (gl_WARN_ADD): Accept an argument to specify the program to compile.
38401         AC_SUBST the WARN_CFLAGS when they are used.
38402         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
38403         leave this to gl_WARN_ADD.
38405 2012-05-08  Eric Blake  <eblake@redhat.com>
38407         doc: recommendations on gettext version
38408         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
38409         choice between versions.
38410         * DEPENDENCIES (gettext): Cover both approaches.
38412 2012-05-08  Jim Meyering  <meyering@redhat.com>
38414         init.sh: explain why EXEEXT support uses aliases rather than functions
38415         * tests/init.sh: Add a comment.
38417         init.sh: don't let bash aliases interfere with tests
38418         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
38419         is bash.  This avoids problems for those who alias standard commands to
38420         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
38421         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
38423 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38425         stdint: be more consistent with glibc, SunOS libc
38426         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
38427         (gl_int_fast16_t, gl_uint_fast16_t)
38428         (gl_int_fast32_t, gl_uint_fast32_t)
38429         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
38430         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
38431         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38432         Be consistent with glibc by default, and with SunOS 5.10 and later
38433         if __sun is defined.  This lessens the likelihood of clashes if
38434         code compiled for older hosts is combined with code compiled for
38435         newer ones.  Problem reported by Niels Möller in
38436         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
38438 2012-05-07  Eric Blake  <eblake@redhat.com>
38440         isatty: relax license to LGPLv2+
38441         * modules/isatty (License): Relax license.
38443 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38445         stat-size: comment fix
38446         * lib/stat-size.h: Remove obsolete comment about indenting.
38448 2012-05-06  Bruno Haible  <bruno@clisp.org>
38450         Tests for module 'sh-quote'.
38451         * modules/sh-quote-tests: New file.
38452         * tests/test-sh-quote.c: New file.
38454 2012-05-06  Bruno Haible  <bruno@clisp.org>
38456         sh-quote: Improve shell_quote_argv's signature.
38457         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
38458         * lib/sh-quote.c (shell_quote_argv): Likewise.
38460 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38462         stdint: document issues with int_fast8_t etc.
38463         * doc/posix-headers/stdint.texi (stdint.h): Say that other
38464         stdint.h substitutes may define these types differently.  See
38465         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
38467 2012-05-05  Bruno Haible  <bruno@clisp.org>
38469         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
38470         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
38471         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
38472         or 'guessing no (mishandles large arguments)'.
38474 2012-05-05  Bruno Haible  <bruno@clisp.org>
38476         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
38477         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
38478         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38479         set gl_cv_func_link_follows_symlink to "guessing no".
38481 2012-05-05  Bruno Haible  <bruno@clisp.org>
38483         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
38484         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
38485         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
38486         "guessing no".
38487         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
38489 2012-05-05  Bruno Haible  <bruno@clisp.org>
38491         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
38492         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
38493         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38494         set gl_cv_struct_dirent_d_ino to "guessing yes".
38496 2012-05-05  Bruno Haible  <bruno@clisp.org>
38498         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
38499         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
38500         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
38501         "guessing yes".
38503 2012-05-05  Bruno Haible  <bruno@clisp.org>
38505         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
38506         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
38507         compiling to a glibc system, set gl_cv_func_signbit and
38508         gl_cv_func_signbit_gcc to "guessing yes".
38510 2012-05-05  Bruno Haible  <bruno@clisp.org>
38512         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
38513         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
38514         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
38515         to "guessing yes".
38516         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
38517         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
38519 2012-05-05  Bruno Haible  <bruno@clisp.org>
38521         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
38522         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
38523         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
38524         gl_cv_func_realpath_works to "guessing yes".
38526 2012-05-05  Bruno Haible  <bruno@clisp.org>
38528         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
38529         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
38530         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
38532 2012-05-04  Bruno Haible  <bruno@clisp.org>
38534         Tweak last commit.
38535         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
38536         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38538 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
38540         unistd_h: make it easier to avoid sys_types_h
38541         This is useful for Emacs, which has its own method of porting to
38542         Windows, and which therefore does not need the sys_types_h module.
38543         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
38544         code moved here from gl_SYS_TYPES_H.
38545         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
38546         using the code directly.
38547         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
38548         gl_SYS_TYPES_H.
38549         * modules/sys_types (Files):
38550         * modules/unistd (Files): Add m4/off_t.m4.
38552 2012-05-03  Bruno Haible  <bruno@clisp.org>
38554         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
38555         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
38556         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
38557         "guessing yes" or "guessing no".
38558         (gl_FUNC_LSTAT): Update.
38559         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
38560         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
38561         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
38563 2012-05-03  Bruno Haible  <bruno@clisp.org>
38565         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
38566         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
38567         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
38568         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
38569         cross-compiling, choose the first alternative on glibc systems.
38570         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
38572 2012-05-03  Bruno Haible  <bruno@clisp.org>
38574         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
38575         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
38576         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
38578 2012-05-03  Bruno Haible  <bruno@clisp.org>
38580         chown: Avoid "guessing no" when cross-compiling to glibc systems.
38581         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
38583 2012-05-03  Bruno Haible  <bruno@clisp.org>
38585         Avoid "guessing no" guesses when cross-compiling to glibc systems.
38586         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
38587         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
38588         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
38589         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
38590         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
38591         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
38592         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
38593         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
38594         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
38595         compiling to glibc systems, set gl_cv_func_chown_slash_works,
38596         gl_cv_func_chown_ctime_works to "guessing yes".
38597         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
38598         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
38599         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
38600         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
38601         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
38602         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
38603         compiling to glibc systems, set gl_cv_func_open_directory_works to
38604         "guessing yes".
38605         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
38606         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
38607         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
38608         "guessing yes".
38609         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
38610         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
38611         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
38612         compiling to glibc systems, set gl_cv_func_floorf_ieee to
38613         "guessing yes".
38614         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
38615         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
38616         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
38617         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
38618         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
38619         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
38620         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
38621         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
38622         "guessing yes".
38623         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
38624         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
38625         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
38626         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
38627         "guessing yes".
38628         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
38629         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
38630         "guessing yes".
38631         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
38632         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
38633         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
38634         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
38635         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
38636         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
38637         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
38638         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
38639         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
38640         compiling to glibc systems, set gl_cv_func_log10f_ieee to
38641         "guessing yes".
38642         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
38643         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
38644         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
38645         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
38646         "guessing yes".
38647         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
38648         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
38649         "guessing yes".
38650         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
38651         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
38652         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
38653         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
38654         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
38655         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
38656         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
38657         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
38658         compiling to glibc systems, set gl_cv_func_mkfifo_works to
38659         "guessing yes".
38660         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
38661         compiling to glibc systems, set gl_cv_func_mknod_works to
38662         "guessing yes".
38663         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
38664         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
38665         "guessing yes".
38666         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
38667         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
38668         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
38669         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
38670         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
38671         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
38672         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
38673         compiling to glibc systems, set gl_cv_func_svid_putenv to
38674         "guessing yes".
38675         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
38676         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
38677         "guessing yes".
38678         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
38679         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
38680         "guessing yes".
38681         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
38682         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
38683         to "guessing yes".
38684         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
38685         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
38686         to "guessing yes".
38687         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
38688         compiling to glibc systems, set gl_cv_func_rmdir_works to
38689         "guessing yes".
38690         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
38691         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
38692         gl_cv_func_unlink_parent_fails to "guessing yes".
38693         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
38694         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
38695         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
38696         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
38697         gl_cv_func_rename_dest_works to "guessing yes".
38698         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
38699         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
38700         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
38701         compiling to glibc systems, set gl_cv_func_roundf_ieee to
38702         "guessing yes".
38703         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
38704         compiling to glibc systems, set gl_cv_func_roundl_ieee to
38705         "guessing yes".
38706         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
38707         compiling to glibc systems, set gl_cv_func_setenv_works to
38708         "guessing yes".
38709         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
38710         compiling to glibc systems, set gl_cv_func_unsetenv_works to
38711         "guessing yes".
38712         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
38713         compiling to glibc systems, set gl_cv_func_sleep_works to
38714         "guessing yes".
38715         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
38716         compiling to glibc systems, set gl_cv_func_stat_file_slash to
38717         "guessing yes".
38718         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
38719         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
38720         "guessing yes".
38721         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
38722         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
38723         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
38724         compiling to glibc systems, set gl_cv_func_truncf_ieee to
38725         "guessing yes".
38726         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
38727         compiling to glibc systems, set gl_cv_func_truncl_ieee to
38728         "guessing yes".
38729         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
38730         compiling to glibc systems, set gl_cv_func_usleep_works to
38731         "guessing yes".
38732         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
38733         compiling to glibc systems, set gl_cv_func_futimesat_works to
38734         "guessing yes".
38736 2012-05-03  Bruno Haible  <bruno@clisp.org>
38738         Say "guessing yes" or "guessing no" when cross-compiling.
38739         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
38740         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
38741         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
38742         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
38743         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
38744         am_cv_func_working_getline to "guessing yes" or "guessing no".
38745         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
38746         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
38747         (gl_FUNC_MEMMEM): When cross-compiling, set
38748         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
38749         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
38750         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
38751         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
38752         set gl_cv_func_strcasestr_works_always to "guessing yes" or
38753         "guessing no".
38754         (gl_FUNC_STRCASESTR): When cross-compiling, set
38755         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
38756         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
38757         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
38758         (gl_FUNC_STRSTR): When cross-compiling, set
38759         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
38760         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
38761         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
38762         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
38763         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
38765 2012-05-01  Bruno Haible  <bruno@clisp.org>
38767         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
38768         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
38769         * build-aux/reloc-ldflags: Likewise.
38770         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
38772 2012-05-01  Bruno Haible  <bruno@clisp.org>
38774         gnulib-tool: Remove transitional code.
38775         * gnulib-tool: Don't warn about --import with 0 arguments any more.
38776         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38778 2012-05-01  Bruno Haible  <bruno@clisp.org>
38780         getcwd: Fix misindentation.
38781         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
38783 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
38785         exclude: process exclude and include directives in order
38786         This restores the pre-2009 behavior, and is part of a fix of a
38787         grep bug reported by Quentin Arce in
38788         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
38789         * lib/exclude.c (struct exclude): Remove 'tail' member.
38790         (new_exclude_segment): Prepend the new segment instead of appending.
38791         Return void, since that's now more convenient.
38792         (file_pattern_matches): Renamed from excluded_file_pattern_p.
38793         (file_name_matches): Renamed from excluded_file_name_p.
38794         (file_pattern_matches, file_name_matches):
38795         Return true if the pattern matches, not if it excludes.
38796         All callers changed.
38797         (excluded_file_name): Process the list in reverse order;
38798         since the list is now reversed this restores the pre-2009 behavior.
38799         (add_exclude): Adjust to new reversed-order list.  Use local var
38800         rather than macro, for clarity.
38801         * tests/test-exclude7.sh: Adjust to corrected behavior.
38803         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
38804         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
38805         it's not possible here.  Handle the case of \ at end of pattern
38806         without dumping core.
38807         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
38809         _Noreturn: future-proof non-GNU and non-MSVC compilers
38810         * build-aux/snippet/_Noreturn.h (_Noreturn):
38811         * m4/gnulib-common.m4 (gl_COMMON_BODY):
38812         Do not define _Noreturn if __STDC_VERSION__ indicates this is
38813         C11 or later.  This is more likely to work with random future C
38814         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
38815         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
38817         exclude: handle wildcards with FNM_EXTMATCH
38818         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
38819         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
38820         comment that "has wildcards" really means "has or may have
38821         wildcards".  Simplify by avoiding the need to call strcspn.
38823 2012-04-29  Bruno Haible  <bruno@clisp.org>
38825         gnulib-tool: Fix list of authors.
38826         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
38828 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
38830         bootstrap: support Automake-NG in $buildreq
38831         * bootstrap (check_versions): Handle automake and aclocal from
38832         Automake-NG specially.  They can be specified as respectively
38833         the "automake-ng" and "aclocal-ng" requirements.
38835 2012-04-25  Eric Blake  <eblake@redhat.com>
38837         bootstrap: only force latest Makefile.in.in for gettext module
38838         * build-aux/bootstrap (with_gettext): Only install latest
38839         Makefile.in.in for projects requesting bleeding edge gettext.
38841 2012-04-22  Bruno Haible  <bruno@clisp.org>
38843         doc: Mention reason for replacement on glibc/Linux systems.
38844         * doc/posix-functions/dprintf.texi: Mention the problem with special
38845         'long double' values.
38846         * doc/posix-functions/fprintf.texi: Likewise.
38847         * doc/posix-functions/printf.texi: Likewise.
38848         * doc/posix-functions/snprintf.texi: Likewise.
38849         * doc/posix-functions/sprintf.texi: Likewise.
38850         * doc/posix-functions/vdprintf.texi: Likewise.
38851         * doc/posix-functions/vfprintf.texi: Likewise.
38852         * doc/posix-functions/vprintf.texi: Likewise.
38853         * doc/posix-functions/vsnprintf.texi: Likewise.
38854         * doc/posix-functions/vsprintf.texi: Likewise.
38855         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
38856         platforms with F_DUPFD_CLOEXEC problems.
38857         * doc/posix-functions/glob.texi: Mention which platforms are affected
38858         by the problem with symbolic links.
38859         * doc/posix-functions/linkat.texi: Mention the problem with
38860         AT_SYMLINK_FOLLOW on Linux.
38862 2012-04-22  Bruno Haible  <bruno@clisp.org>
38864         pwrite: Don't replace on all platforms.
38865         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
38867 2012-04-22  Bruno Haible  <bruno@clisp.org>
38869         rint* tests: Avoid gcc warnings.
38870         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
38871         * tests/test-rintf.c (INFINITY, NAN): Likewise.
38872         * tests/test-rintl.c (INFINITY, NAN): Likewise.
38874 2012-04-21  Bruno Haible  <bruno@clisp.org>
38876         users.txt: Update.
38877         * users.txt: Add freedink, wdiff. Update URLs for projects that have
38878         switched from CVS to git, bzr, or svn.
38880 2012-04-21  Bruno Haible  <bruno@clisp.org>
38882         Large File Support for native Windows platforms.
38884         * m4/largefile.m4 (gl_LARGEFILE): New macro.
38885         * modules/largefile (configure.ac): Require gl_LARGEFILE.
38887         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
38888         type.
38889         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
38890         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
38891         * doc/posix-headers/sys_types.texi: Mention the effect of the
38892         'largefile' module.
38894         * lib/fcntl.in.h: Add comments about off_t.
38895         * modules/fcntl-h (Depends-on): Add sys_types.
38897         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
38898         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
38899         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
38900         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
38901         * modules/unistd (Depends-on): Add sys_types.
38902         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
38904         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
38905         instead of lseek.
38906         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
38907         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
38908         * modules/lseek (Depends-on): Add sys_types.
38910         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
38911         msvc-nothrow.h.
38912         (SetFileSize): New function.
38913         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
38914         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
38915         if Large File Support is requested.
38916         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
38917         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
38919         * lib/stdio.in.h: Add comments about off_t.
38920         * modules/stdio (Depends-on): Add sys_types.
38922         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
38923         instead of ftello.
38924         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
38925         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
38926         (gl_PREREQ_FTELLO): New macro.
38927         * modules/ftello (Depends-on): Add sys_types.
38928         (configure.ac): Incoke gl_PREREQ_FTELLO.
38930         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
38931         instead of fseeko.
38932         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
38933         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
38934         (gl_PREREQ_FSEEKO): New macro.
38935         * modules/fseeko (Depends-on): Add sys_types.
38936         (configure.ac): Invoke gl_PREREQ_FSEEKO.
38938         * lib/sys_stat.in.h: Add comments about off_t.
38939         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
38940         64-bit integer for st_size in 'struct stat'.
38941         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
38942         Define _GL_WINDOWS_64_BIT_ST_SIZE.
38943         * modules/sys_stat (Depends-on): Add sys_types.
38944         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
38946         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
38947         instead of stat or _stat.
38949         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
38950         'struct _stati64' instead of fstat and 'struct stat'.
38951         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
38952         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
38954         Reported by Ray Satiro <raysatiro@yahoo.com>.
38956 2012-04-19  Eric Blake  <eblake@redhat.com>
38958         bootstrap: accommodate older libtool
38959         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
38960         Reported by Daniel P. Berrange.
38962 2012-04-19  Jim Meyering  <meyering@redhat.com>
38964         announce-gen: avoid failure due to lack of Digest::SHA1
38965         Even with the preferred Digest::SHA available, this script
38966         would fail when the backup module, Digest::SHA1, was not installed.
38967         * build-aux/announce-gen: Quote the conditional use of "use".
38968         Reported by Reuben Thomas in:
38969         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
38971         bootstrap: don't let a user's CDPATH setting affect this script
38972         When CDPATH is set, cd will sometimes generate output.
38973         When "cd" is run in a subshell whose output matters, that
38974         surprising-to-some output can cause malfunction.
38975         Unsetting CDPATH turns off this shell "feature."
38976         * build-aux/bootstrap (CDPATH): Unset.
38977         Reported by Reuben Thomas in:
38978         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
38979         and inspired by his patch here:
38980         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
38982 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
38983         and Jim Meyering  <meyering@redhat.com>
38985         maint.mk: catch "see @xref{}" and similar
38986         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
38987         prohibit "See also @xref{", "Also see @pxref{", and similar.
38989 2012-04-16  Jim Meyering  <meyering@redhat.com>
38991         bootstrap: really use gnulib's po/Makefile.in.in
38992         * build-aux/bootstrap: Correct the source file name in previous change.
38993         Reported by Akim Demaille.
38995         configmake: correct minor inconsistency in Makefile rule
38996         * modules/configmake (Makefile.am): All other rules like this one
38997         run the final "mv -f ..." in the same backslash-continued command
38998         as the one that does everything else.  This one put the mv -f ...
38999         command on a separate, non-backslash-continued line.
39000         Make it like the others.
39002         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
39003         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
39004         the one from gettext.  Reported by Akim Demaille.
39006 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
39008         Fix recursion of install-* into po directories.
39009         Bison's install-pdf bug reported by Hans Aberg at
39010         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
39011         * build-aux/po/Makefile.in.in (install-dvi, install-html)
39012         (install-info, install-pdf, install-ps): New targets.
39014 2012-04-16  Jim Meyering  <meyering@redhat.com>
39016         maint: avoid spurious "make sc_maint" failure
39017         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
39018         exempt all *.class file names, for lib/javaversion.class.
39020 2012-04-15  Bruno Haible  <bruno@clisp.org>
39022         lseek: Make configure test independent of environment.
39023         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
39024         Windows, we know that lseek() on pipes is broken; skip the runtime
39025         test.
39027 2012-04-14  Bruno Haible  <bruno@clisp.org>
39029         stat: Bypass buggy override in mingw64.
39030         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
39031         * lib/stat.c (stat) [mingw64]: Define to _stat.
39032         * doc/posix-functions/stat.texi: Mention mingw64 bug.
39034 2012-04-14  Bruno Haible  <bruno@clisp.org>
39036         pathmax: Fix compilation error on MSVC 9.
39037         * modules/pathmax (Depends-on): Add unistd.
39039 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
39041         README: document pointer comparison assumption
39042         * README (Portability guidelines): Document assumption about
39043         pointer comparisons, in response to a recent bug-gnulib comment by
39044         Jeffrey Kegler.
39046 2012-04-12  Bruno Haible  <bruno@clisp.org>
39048         Tests for module 'getrusage'.
39049         * modules/getrusage-tests: New file.
39050         * tests/test-getrusage.c: New file.
39052         New module 'getrusage'.
39053         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
39054         warn-on-use.h.
39055         (getrusage): New declaration.
39056         * lib/getrusage.c: New file.
39057         * m4/getrusage.m4: New file.
39058         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
39059         is declared.
39060         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
39061         HAVE_GETRUSAGE.
39062         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
39063         snippet/c++defs, snippet/warn-on-use.
39064         (Makefile.am): Update generation of sys/resource.h. Substitute
39065         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
39066         * modules/getrusage: New file.
39067         * doc/posix-functions/getrusage.texi: Mention the new module.
39069 2012-04-12  Bruno Haible  <bruno@clisp.org>
39071         Tests for module 'sys_resource'.
39072         * modules/sys_resource-tests: New file.
39073         * tests/test-sys_resource.c: New file.
39075         New module 'sys_resource'.
39076         * lib/sys_resource.in.h: New file.
39077         * m4/sys_resource_h.m4: New file.
39078         * modules/sys_resource: New file.
39079         * doc/posix-headers/sys_resource.texi: Mention the new module.
39081 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
39083         ioctl: Fix compilation error on mingw.
39084         * lib/ioctl.c: Include <windows.h>.
39085         Also reported by Ray Satiro <raysatiro@yahoo.com>.
39087 2012-04-04  Jim Meyering  <meyering@redhat.com>
39089         regex: correct #pragma guard expression
39090         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
39091         not 4.3.  Correct its cpp guard expression.
39093 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39095         regex: remove unnecessary type punning
39096         Problem reported by Vladimir Serbinenko in
39097         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
39098         * lib/regex.h (struct re_pattern_buffer): Change the type of
39099         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
39100         Fix comment to match code.
39101         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
39102         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
39103         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39104         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
39105         (set_regs):
39106         Omit no-longer-necessary casts.
39108 2012-04-03  Bruno Haible  <bruno@clisp.org>
39110         Tests for module 'ilogbl'.
39111         * modules/ilogbl-tests: New file.
39112         * tests/test-ilogbl.c: New file.
39114         New module 'ilogbl'.
39115         * lib/math.in.h (ilogbl): New declaration.
39116         * lib/ilogbl.c: New file.
39117         * m4/ilogbl.m4: New file.
39118         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
39119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
39120         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
39121         Split sed invocation, to avoid the limit of 100 substitutions of
39122         HP-UX 'sed'.
39123         * modules/ilogbl: New file.
39124         * tests/test-math-c++.cc: Check the declaration of ilogbl.
39125         * doc/posix-functions/ilogbl.texi: Mention the new module.
39127 2012-04-03  Bruno Haible  <bruno@clisp.org>
39129         Tests for module 'ilogbf'.
39130         * modules/ilogbf-tests: New file.
39131         * tests/test-ilogbf.c: New file.
39133         New module 'ilogbf'.
39134         * lib/math.in.h (ilogbf): New declaration.
39135         * lib/ilogbf.c: New file.
39136         * m4/ilogbf.m4: New file.
39137         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
39138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
39139         REPLACE_ILOGBF.
39140         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
39141         REPLACE_ILOGBF.
39142         * modules/ilogbf: New file.
39143         * tests/test-math-c++.cc: Check the declaration of ilogbf.
39144         * doc/posix-functions/ilogbf.texi: Mention the new module.
39146 2012-04-03  Bruno Haible  <bruno@clisp.org>
39148         Tests for module 'ilogb'.
39149         * modules/ilogb-tests: New file.
39150         * tests/test-ilogb.c: New file.
39151         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
39152         tests/test-logb-ieee.h.
39154         New module 'ilogb'.
39155         * lib/math.in.h (ilogb): New declaration.
39156         * lib/ilogb.c: New file.
39157         * m4/ilogb.m4: New file.
39158         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
39159         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
39160         REPLACE_ILOGB.
39161         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
39162         REPLACE_ILOGB.
39163         * modules/ilogb: New file.
39164         * tests/test-math-c++.cc: Check the declaration of ilogb.
39165         * doc/posix-functions/ilogb.texi: Mention the new module.
39167 2012-04-03  Bruno Haible  <bruno@clisp.org>
39169         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
39170         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
39171         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
39172         (main): Check their values.
39173         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
39174         problem.
39176 2012-04-03  Bruno Haible  <bruno@clisp.org>
39178         Tests for module 'logbl-ieee'.
39179         * modules/logbl-ieee-tests: New file.
39180         * tests/test-logbl-ieee.c: New file.
39182         New module 'logbl-ieee'.
39183         * modules/logbl-ieee: New file.
39185         Tests for module 'logb-ieee'.
39186         * modules/logb-ieee-tests: New file.
39187         * tests/test-logb-ieee.c: New file.
39189         New module 'logb-ieee'.
39190         * modules/logb-ieee: New file.
39192         Tests for module 'logbf-ieee'.
39193         * modules/logbf-ieee-tests: New file.
39194         * tests/test-logbf-ieee.c: New file.
39195         * tests/test-logb-ieee.h: New file.
39197         New module 'logbf-ieee'.
39198         * modules/logbf-ieee: New file.
39200 2012-04-03  Bruno Haible  <bruno@clisp.org>
39202         Tests for module 'logbl'.
39203         * modules/logbl-tests: New file.
39204         * tests/test-logbl.c: New file.
39206         New module 'logbl'.
39207         * lib/math.in.h (logbl): New declaration.
39208         * lib/logbl.c: New file.
39209         * m4/logbl.m4: New file.
39210         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
39211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
39212         REPLACE_LOGBL.
39213         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
39214         REPLACE_LOGBL.
39215         * modules/logbl: New file.
39216         * tests/test-math-c++.cc: Check the declaration of logbl.
39217         * doc/posix-functions/logbl.texi: Mention the new module.
39219 2012-04-02  Bruno Haible  <bruno@clisp.org>
39221         Tests for module 'logbf'.
39222         * modules/logbf-tests: New file.
39223         * tests/test-logbf.c: New file.
39225         New module 'logbf'.
39226         * lib/math.in.h (logbf): New declaration.
39227         * lib/logbf.c: New file.
39228         * m4/logbf.m4: New file.
39229         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
39230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
39231         REPLACE_LOGBF.
39232         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
39233         REPLACE_LOGBF.
39234         * modules/logbf: New file.
39235         * tests/test-math-c++.cc: Check the declaration of logbf.
39236         * doc/posix-functions/logbf.texi: Mention the new module.
39238 2012-04-02  Bruno Haible  <bruno@clisp.org>
39240         logb tests: More tests.
39241         * tests/test-logb.h: New file, based on tests/test-logb.c and
39242         tests/test-frexp.h.
39243         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
39244         (main): Just invoke test_function.
39245         * modules/logb-tests (Files): Add tests/test-logb.h,
39246         tests/minus-zero.h, tests/randomd.c.
39247         (Makefile.am): Add randomd.c to test_logb_SOURCES.
39249         logb: Provide replacement and workarounds.
39250         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
39251         is 1.
39252         * lib/logb.c: New file.
39253         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
39254         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
39255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
39256         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
39257         * modules/logb (Files): Add lib/logb.c.
39258         (Depends-on): Add isfinite, frexp, isnand.
39259         (configure.ac): Compile the replacement code logb.c if needed.
39260         * tests/test-math-c++.cc: Check the declaration of logb.
39261         * doc/posix-functions/logb.texi: Mention the replacement and the bug
39262         with subnormal numbers.
39264 2012-04-02  Bruno Haible  <bruno@clisp.org>
39266         log10* tests: Speed up.
39267         * tests/test-log10.h (test_function): Reduce amount of random numbers
39268         to test.
39270 2012-04-01  Bruno Haible  <bruno@clisp.org>
39272         logf-ieee: Fix test whether logf works.
39273         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
39275 2012-04-01  Bruno Haible  <bruno@clisp.org>
39277         log10l: Work around log10l-ieee test failure on IRIX 6.5.
39278         * lib/log10l.c: Include <float.h>
39279         (log10l): On IRIX, normalize the +Infinity value.
39280         * modules/log10l (Depends-on): Add 'float'.
39281         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
39282         +Infinity.
39284         log10f-ieee: Work around test failure on NetBSD 5.1.
39285         * m4/log10f-ieee.m4: New file.
39286         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
39287         test whether log10f works with a negative argument. Replace it if not.
39288         * lib/log10f.c (log10f): For negative arguments, return NaN.
39289         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
39290         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
39291         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
39293         log10f-ieee: Work around test failure on Solaris 9.
39294         * modules/log10f-ieee (Depends-on): Add log10-ieee.
39295         (configure.ac): Require gl_FUNC_LOG10F.
39297         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
39298         * m4/log10-ieee.m4: New file.
39299         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
39300         whether log10 works with a negative argument. Replace it if not.
39301         * lib/log10.c (log10): For negative arguments, return NaN.
39302         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
39303         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
39304         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
39306         Tests for module 'log10l-ieee'.
39307         * modules/log10l-ieee-tests: New file.
39308         * tests/test-log10l-ieee.c: New file.
39310         New module 'log10l-ieee'.
39311         * modules/log10l-ieee: New file.
39313         Tests for module 'log10-ieee'.
39314         * modules/log10-ieee-tests: New file.
39315         * tests/test-log10-ieee.c: New file.
39317         New module 'log10-ieee'.
39318         * modules/log10-ieee: New file.
39320         Tests for module 'log10f-ieee'.
39321         * modules/log10f-ieee-tests: New file.
39322         * tests/test-log10f-ieee.c: New file.
39323         * tests/test-log10-ieee.h: New file.
39325         New module 'log10f-ieee'.
39326         * modules/log10f-ieee: New file.
39328 2012-04-01  Bruno Haible  <bruno@clisp.org>
39330         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
39331         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
39332         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
39333         workaround.
39334         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
39335         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
39336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
39337         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
39338         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
39339         (Depends-on): Update conditions.
39340         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
39341         IRIX 6.5, OSF/1 5.1 problems.
39343 2012-04-01  Bruno Haible  <bruno@clisp.org>
39345         log10f: Work around OSF/1 5.1 bug.
39346         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
39347         * lib/log10f.c (log10f): If logf exists, use it and provide just the
39348         workaround.
39349         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
39350         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
39351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
39352         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
39353         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
39354         (Depends-on): Update conditions.
39355         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
39357 2012-04-01  Bruno Haible  <bruno@clisp.org>
39359         log10: Work around OSF/1 5.1 bug.
39360         * lib/math.in.h (log10): New declaration.
39361         * lib/log10.c: New file.
39362         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
39363         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
39364         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
39365         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
39366         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
39367         * modules/log10 (Files): Add lib/log10.c.
39368         (Depends-on): Add math.
39369         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
39370         * tests/test-math-c++.cc: Check the declaration of log10.
39371         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
39373 2012-03-31  Bruno Haible  <bruno@clisp.org>
39375         log10l tests: More tests.
39376         * modules/log10l-tests (Files): Add tests/test-log10l.h,
39377         tests/minus-zero.h, tests/randoml.c.
39378         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
39379         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
39380         (main): Invoke test_function.
39382         log10f tests: More tests.
39383         * modules/log10f-tests (Files): Add tests/test-log10.h,
39384         tests/minus-zero.h, tests/randomf.c.
39385         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
39386         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
39387         (main): Invoke test_function.
39389         log10 tests: More tests.
39390         * tests/test-log10.h: New file.
39391         * modules/log10-tests (Files): Add tests/test-log10.h,
39392         tests/minus-zero.h, tests/randomd.c.
39393         (Makefile.am): Add randomd.c to test_log10_SOURCES.
39394         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
39395         (main): Invoke test_function.
39397 2012-03-31  Simon Josefsson  <simon@josefsson.org>
39399         fflush: Fix syntax error.
39400         * lib/fflush.c: Include unused-parameter.h, needed for
39401         _GL_UNUSED_PARAMETER.
39402         * modules/fflush (Depends-on): Add snippet/unused-parameter.
39404 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39406         regex: pacify GCC when compiling GRUB
39407         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
39408         a diagnostic.  Reported by Vladimir Serbinenko in
39409         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
39411 2012-03-29  Eric Blake  <eblake@redhat.com>
39413         stdio: don't assume gets any more
39414         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
39415         support.
39416         * modules/stdio (Makefile.am): Likewise.
39417         * lib/stdio-read.c (gets): Likewise.
39418         * tests/test-stdio-c++.cc: Likewise.
39419         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
39420         * lib/stdio.in.h (gets): Make warning occur in more places.
39421         * doc/posix-functions/gets.texi (gets): Update documentation.
39422         Reported by Christer Solskogen.
39424         maint.mk: fix syntax checks without exclusions
39425         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
39426         Reported by Daniel P. Berrange.
39428         strerror_r: avoid compiler warning
39429         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
39430         level.
39432         fflush: avoid compiler warning
39433         * lib/fflush.c (update_fpos_cache): Mark variables that are
39434         potentially unused.
39436 2012-03-25  Bruno Haible  <bruno@clisp.org>
39438         Tests for module 'localeconv'.
39439         * modules/localeconv-tests: New file.
39440         * tests/test-localeconv.c: New file.
39442         New module 'localeconv'.
39443         * lib/locale.in.h (localeconv): New declaration.
39444         * lib/localeconv.c: New file.
39445         * m4/localeconv.m4: New file.
39446         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
39447         REPLACE_LOCALECONV.
39448         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
39449         REPLACE_LOCALECONV.
39450         * modules/localeconv: New file.
39451         * modules/nl_langinfo (Depends-on): Add localeconv.
39452         * modules/human (Depends-on): Likewise.
39453         * doc/posix-functions/localeconv.texi: Mention the new module.
39455 2012-03-25  Bruno Haible  <bruno@clisp.org>
39457         locale: Provide a complete 'struct lconv'.
39458         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39459         'struct lconv' does not contain int_p_cs_precedes.
39460         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39461         * doc/posix-headers/locale.texi: Update.
39463         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
39464         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
39465         * doc/posix-headers/locale.texi: Update.
39467         locale: Provide a working 'struct lconv'.
39468         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
39469         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39470         'struct lconv' does not even contain decimal_point.
39471         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
39472         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
39473         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39474         * doc/posix-headers/locale.texi: Mention the problems with
39475         'struct lconv'.
39476         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
39478 2012-03-24  Bruno Haible  <bruno@clisp.org>
39480         Enable common subexpression optimization in GCC.
39481         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
39482         macros.
39483         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
39484         GCC attribute 'const'.
39485         (uc_locale_language): Declare with GCC attribute 'pure'.
39486         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
39487         with GCC attribute 'const'.
39488         * lib/unictype.in.h (uc_is_general_category_withtable,
39489         uc_combining_class, uc_combining_class_name,
39490         uc_combining_class_long_name, uc_bidi_class_name,
39491         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
39492         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
39493         uc_decimal_value, uc_digit_value, uc_numeric_value,
39494         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
39495         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
39496         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
39497         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
39498         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
39499         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
39500         Declare with GCC attribute 'const'.
39501         (uc_general_category_name, uc_general_category_long_name,
39502         uc_general_category_byname, uc_general_category,
39503         uc_is_general_category, uc_combining_class_byname,
39504         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
39505         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
39506         Declare with GCC attribute 'pure'.
39507         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
39508         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
39509         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
39510         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
39511         with GCC attribute 'pure'.
39512         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
39513         'const'.
39514         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
39515         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
39516         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
39517         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
39518         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
39519         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
39520         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
39521         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
39522         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
39523         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
39524         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
39525         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
39526         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
39527         GCC attribute 'pure'.
39528         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
39529         'const'.
39530         * lib/uniwidth.in.h (uc_width): Simplify declaration.
39531         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
39532         u32_strwidth): Declare with GCC attribute 'pure'.
39534         Enable common subexpression optimization in GCC.
39535         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39536         (alphasort): Declare with GCC attribute 'pure'.
39537         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39538         (atoll): Declare with GCC attribute 'pure'.
39539         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39540         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39541         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
39542         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
39543         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
39544         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
39545         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
39547 2012-03-24  Bruno Haible  <bruno@clisp.org>
39549         gnulib-tool: Avoid unintended error output from 'cmp'.
39550         * gnulib-tool (func_add_file, func_update_file, func_import): Use
39551         "cmp -s", not "cmp > /dev/null".
39553 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
39555         gnulib-tool: fix imprecise comments w.r.t. an automake bug
39557         It's not just Automake versions < 1.9b that creates an empty
39558         pkgdatadir at installation time if pkgdata_DATA is specified
39559         to empty; modern automake versions do this as well, at least
39560         until automake 1.11.4 (not yet released at the moment of writing,
39561         but soon to appear).  That behaviour was generally considered a
39562         feature rather than a bug, at least until this discussion:
39563         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
39565         See also automake bugs #10997 and #11030.
39567         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
39568         reference to relevant automake bug numbers.
39569         (func_emit_tests_Makefile_am): Likewise.
39571 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
39573         announce-gen: use Digest::SHA when possible
39574         * build-aux/announce-gen: Use Digest::SHA when possible, falling
39575         back to Digest::SHA1 if necessary.
39577 2012-03-20  Jim Meyering  <meyering@redhat.com>
39579         tests: avoid gcc warnings about argv vs. const initializers
39580         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
39581         warnings about discarding 'const' qualifier from pointer target type.
39582         * tests/test-posix_spawn2.c (main): Likewise.
39584 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
39586         README-release: simplify slightly
39587         * top/README-release: Run "git checkout master" only once.
39589 2012-03-15  Mark Wielaard  <mark@klomp.org>
39591         git-merge-changelog: add specific example on how to use with hg.
39592         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
39594 2012-03-18  Mark Wielaard  <mark@klomp.org>
39596         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
39598 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
39600         git-version-gen: don't let "prefix" envvar cause trouble
39601         * build-aux/git-version-gen (prefix): Initialize properly,
39602         so as not to use a value specified via the environment.
39603         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
39605 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39607         regex: diagnose too-large repeat counts in EREs
39608         Previously, the code did not diagnose the too-large repeat count
39609         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
39610         as if it were 'b\{1000000000}', which is unexpected.
39611         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
39612         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
39613         is a reasonable one for this problem.  Another option would be to
39614         create a new REG_OVERFLOW error for repeat counts that are too large.
39615         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
39616         count is too large, so that the caller can distinguish the two cases.
39617         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
39618         "Too large" return code, and that repeat counts are one example of this.
39620 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39622         doc: some glibc x32 integer width issues
39623         * doc/posix-headers/sys_types.texi (sys/types.h):
39624         * doc/posix-headers/time.texi (time.h):
39625         Mention that glibc x32 does not conform to POSIX in a couple of
39626         areas related to integer widths.
39628 2012-03-15  Bruno Haible  <bruno@clisp.org>
39630         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
39631         * lib/fma.c (VOLATILE): New macro.
39632         (FUNC): Use it to work around a GCC compiler bug.
39634 2012-03-13  Bruno Haible  <bruno@clisp.org>
39636         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39637         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
39638         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
39639         REPLACE_HYPOTL to 1.
39640         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
39642 2012-03-13  Bruno Haible  <bruno@clisp.org>
39644         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39645         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
39646         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
39647         REPLACE_REMAINDERL to 1.
39648         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
39649         bug.
39651 2012-03-13  Bruno Haible  <bruno@clisp.org>
39653         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39654         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
39655         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
39656         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
39657         too big rounding errors.
39658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
39659         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
39660         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
39661         (Depends-on): Update conditions.
39662         * tests/test-sqrtl.c (my_ldexpl): New function.
39663         (main): Add test of a particular value.
39664         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
39666 2012-03-13  Pádraig Brady  <P@draigBrady.com>
39668         doc: Update timer_* platform portability notes.
39669         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
39670         that always return ENOSYS.
39671         * doc/posix-functions/timer_delete.texi: Likewise.
39672         * doc/posix-functions/timer_gettime.texi: Likewise.
39673         * doc/posix-functions/timer_settime.texi: Likewise.
39675 2012-03-13  Bruno Haible  <bruno@clisp.org>
39677         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
39678         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
39679         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
39680         REPLACE_CBRTL to 1.
39681         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
39683 2012-03-13  Bruno Haible  <bruno@clisp.org>
39685         remainderl: Avoid compilation error on AIX >= 5.2.
39686         * lib/math.in.h (remainderl): Undefine macro from the system header.
39688 2012-03-13  Bruno Haible  <bruno@clisp.org>
39690         Avoid compilation errors with MSVC option -fp:strict.
39691         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
39692         * lib/cbrtf.c: Likewise.
39693         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
39695 2012-03-12  Bruno Haible  <bruno@clisp.org>
39697         uninorm: Don't crash in out-of-memory conditions.
39698         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
39699         gracefully.
39700         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
39701         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
39703 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
39705         quote: fix syntax-check
39706         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
39707         also exports quote_quoting_options.
39709 2012-03-12  Simon Josefsson  <simon@josefsson.org>
39711         Collapse list of copyright years to ranges.  See
39712         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
39713         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
39714         build-aux/csharpexec.sh.in, build-aux/gnupload,
39715         build-aux/install-reloc, build-aux/javacomp.sh.in,
39716         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
39717         build-aux/move-if-change, build-aux/reloc-ldflags,
39718         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
39720 2012-03-11  Bruno Haible  <bruno@clisp.org>
39722         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
39723         * m4/log2f-ieee.m4: New file.
39724         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
39725         whether log2f works with a minus zero argument. Replace it if not.
39726         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
39727         (Depends-on): Add log2-ieee.
39728         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
39729         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
39731         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
39732         * m4/log2-ieee.m4: New file.
39733         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
39734         whether log2 works with a minus zero argument. Replace it if not.
39735         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
39736         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
39737         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
39739         Tests for module 'log2l-ieee'.
39740         * modules/log2l-ieee-tests: New file.
39741         * tests/test-log2l-ieee.c: New file.
39743         New module 'log2l-ieee'.
39744         * modules/log2l-ieee: New file.
39746         Tests for module 'log2-ieee'.
39747         * modules/log2-ieee-tests: New file.
39748         * tests/test-log2-ieee.c: New file.
39750         New module 'log2-ieee'.
39751         * modules/log2-ieee: New file.
39753         Tests for module 'log2f-ieee'.
39754         * modules/log2f-ieee-tests: New file.
39755         * tests/test-log2f-ieee.c: New file.
39756         * tests/test-log2-ieee.h: New file.
39758         New module 'log2f-ieee'.
39759         * modules/log2f-ieee: New file.
39761 2012-03-11  Bruno Haible  <bruno@clisp.org>
39763         Tests for module 'log2l'.
39764         * modules/log2l-tests: New file.
39765         * tests/test-log2l.c: New file.
39767         New module 'log2l'.
39768         * lib/math.in.h (log2l): New declaration.
39769         * lib/log2l.c: New file.
39770         * m4/log2l.m4: New file.
39771         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
39772         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
39773         REPLACE_LOG2L.
39774         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
39775         REPLACE_LOG2L.
39776         * modules/log2l: New file.
39777         * tests/test-math-c++.cc: Check the declaration of log2l.
39778         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
39779         and OSF/1 problems.
39781 2012-03-11  Bruno Haible  <bruno@clisp.org>
39783         Tests for module 'log2f'.
39784         * modules/log2f-tests: New file.
39785         * tests/test-log2f.c: New file.
39787         New module 'log2f'.
39788         * lib/math.in.h (log2f): New declaration.
39789         * lib/log2f.c: New file.
39790         * m4/log2f.m4: New file.
39791         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
39792         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
39793         REPLACE_LOG2F.
39794         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
39795         REPLACE_LOG2F.
39796         * modules/log2f: New file.
39797         * tests/test-math-c++.cc: Check the declaration of log2f.
39798         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
39799         and OSF/1 and Cygwin problems.
39801 2012-03-11  Bruno Haible  <bruno@clisp.org>
39803         Tests for module 'log2'.
39804         * modules/log2-tests: New file.
39805         * tests/test-log2.c: New file.
39806         * tests/test-log2.h: New file.
39808         New module 'log2'.
39809         * lib/math.in.h (log2): New declaration.
39810         * lib/log2.c: New file.
39811         * m4/log2.m4: New file.
39812         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
39813         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
39814         REPLACE_LOG2.
39815         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
39816         REPLACE_LOG2.
39817         * modules/log2: New file.
39818         * tests/test-math-c++.cc: Check the declaration of log2.
39819         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
39820         and OSF/1 and Cygwin problems.
39822 2012-03-11  Bruno Haible  <bruno@clisp.org>
39824         exp2* tests: More tests.
39825         * tests/test-exp2.h (test_function): Test all integral arguments that
39826         don't need to overflow or denormalized numbers.
39827         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
39828         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
39829         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
39831 2012-03-10  Bruno Haible  <bruno@clisp.org>
39833         log1pl-ieee: Work around test failure on AIX 7.1.
39834         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
39836         log1pl-ieee: Work around test failure on IRIX 6.5.
39837         * m4/log1pl-ieee.m4: New file.
39838         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
39839         test whether log1pl works with a minus zero argument. Replace it if
39840         not.
39841         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
39842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
39843         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
39844         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
39845         (Depends-on): Update conditions.
39846         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
39847         m4/signbit.m4.
39848         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
39849         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
39851         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
39852         * m4/log1pf-ieee.m4: New file.
39853         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
39854         test whether log1pf works with a minus zero argument. Replace it if
39855         not.
39856         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
39857         m4/signbit.m4.
39858         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
39859         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
39861         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
39862         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
39863         (configure.ac): Require gl_FUNC_LOG1PF.
39865         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
39866         * m4/log1p-ieee.m4: New file.
39867         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
39868         whether log1p works with a minus zero argument. Replace it if not.
39869         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
39870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
39871         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
39872         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
39873         (Depends-on): Update conditions.
39874         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
39875         m4/signbit.m4.
39876         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
39877         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
39879         Tests for module 'log1pl-ieee'.
39880         * modules/log1pl-ieee-tests: New file.
39881         * tests/test-log1pl-ieee.c: New file.
39883         New module 'log1pl-ieee'.
39884         * modules/log1pl-ieee: New file.
39886         Tests for module 'log1p-ieee'.
39887         * modules/log1p-ieee-tests: New file.
39888         * tests/test-log1p-ieee.c: New file.
39890         New module 'log1p-ieee'.
39891         * modules/log1p-ieee: New file.
39893         Tests for module 'log1pf-ieee'.
39894         * modules/log1pf-ieee-tests: New file.
39895         * tests/test-log1pf-ieee.c: New file.
39896         * tests/test-log1p-ieee.h: New file.
39898         New module 'log1pf-ieee'.
39899         * modules/log1pf-ieee: New file.
39901 2012-03-10  Bruno Haible  <bruno@clisp.org>
39903         Tests for module 'log1pl'.
39904         * modules/log1pl-tests: New file.
39905         * tests/test-log1pl.c: New file.
39907         New module 'log1pl'.
39908         * lib/math.in.h (log1pl): New declaration.
39909         * lib/log1pl.c: New file.
39910         * m4/log1pl.m4: New file.
39911         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
39912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
39913         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
39914         * modules/log1pl: New file.
39915         * tests/test-math-c++.cc: Check the declaration of log1pl.
39916         * doc/posix-functions/log1pl.texi: Mention the new module.
39918 2012-03-10  Bruno Haible  <bruno@clisp.org>
39920         Tests for module 'log1pf'.
39921         * modules/log1pf-tests: New file.
39922         * tests/test-log1pf.c: New file.
39924         New module 'log1pf'.
39925         * lib/math.in.h (log1pf): New declaration.
39926         * lib/log1pf.c: New file.
39927         * m4/log1pf.m4: New file.
39928         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
39929         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
39930         REPLACE_LOG1PF.
39931         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
39932         REPLACE_LOG1PF.
39933         * modules/log1pf: New file.
39934         * tests/test-math-c++.cc: Check the declaration of log1pf.
39935         * doc/posix-functions/log1pf.texi: Mention the new module.
39937 2012-03-10  Bruno Haible  <bruno@clisp.org>
39939         log1p tests: More tests.
39940         * tests/test-log1p.h: New file.
39941         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
39942         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
39943         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
39944         (main): Invoke test_function.
39946         log1p: Provide replacement for Minix and MSVC.
39947         * lib/math.in.h (log1p): New declaration.
39948         * lib/log1p.c: New file.
39949         * m4/log1p.m4: New file.
39950         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
39951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
39952         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
39953         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
39954         (Depends-on): Add math, isnand, log, round.
39955         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
39956         HAVE_LOG1P is 0.
39957         * tests/test-math-c++.cc: Check the declaration of log1p.
39958         * doc/posix-functions/log1p.texi: Mention the replacement.
39960 2012-03-10  Bruno Haible  <bruno@clisp.org>
39962         math tests: Small simplification.
39963         * tests/test-exp.h (test_function): Use the same err_bound for
39964         'double' on platforms with sizeof (long double) == sizeof (double)
39965         than on platforms with sizeof (long double) > sizeof (double).
39966         * tests/test-exp2.h (test_function): Likewise.
39967         * tests/test-expm1.h (test_function): Likewise.
39968         * tests/test-log.h (test_function): Likewise.
39970 2012-03-10  Bruno Haible  <bruno@clisp.org>
39972         Fix some comments.
39973         * lib/expl.c: Fix an ambiguous comment.
39974         * lib/expm1.c: Likewise.
39975         * lib/expm1l.c: Likewise.
39976         * lib/exp2.c: Likewise.
39977         * lib/exp2l.c: Likewise.
39979 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
39981         regex: allow inclusion of <regex.h> before <limits.h>
39982         Without this patch, portable programs had to include <limits.h> before
39983         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
39984         I ran into this problem with a test version of GNU grep on Solaris 8.
39985         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
39986         This is done conditionally so that this change can be merged
39987         back to glibc.
39988         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
39989         using the included regex.
39991         fts: depend on fdopendir
39992         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
39993         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
39994         problem was introduced when fdopendir was split out.
39996 2012-03-10  Bruno Haible  <bruno@clisp.org>
39998         Remove unused variables.
39999         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
40000         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40002 2012-03-10  Bruno Haible  <bruno@clisp.org>
40004         isnanf-nolibm: Fix last commit.
40005         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
40007         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
40008         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
40010 2012-03-10  Bruno Haible  <bruno@clisp.org>
40012         logf-ieee: Work around test failure on NetBSD 5.1.
40013         * m4/logf-ieee.m4: New file.
40014         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
40015         whether logf works with a negative argument. Replace it if not.
40016         * lib/logf.c (logf): For negative arguments, return NaN.
40017         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
40018         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
40019         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
40021         logf-ieee: Work around test failure on Solaris 9.
40022         * modules/logf-ieee (Depends-on): Add log-ieee.
40023         (configure.ac): Require gl_FUNC_LOGF.
40025         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40026         * m4/log-ieee.m4: New file.
40027         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
40028         log works with a negative argument. Replace it if not.
40029         * lib/log.c (log): For negative arguments, return NaN.
40030         * modules/log-ieee (Files): Add m4/log-ieee.m4.
40031         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
40032         * doc/posix-functions/log.texi: Mention the log-ieee module.
40034         Tests for module 'logl-ieee'.
40035         * modules/logl-ieee-tests: New file.
40036         * tests/test-logl-ieee.c: New file.
40038         New module 'logl-ieee'.
40039         * modules/logl-ieee: New file.
40041         Tests for module 'log-ieee'.
40042         * modules/log-ieee-tests: New file.
40043         * tests/test-log-ieee.c: New file.
40045         New module 'log-ieee'.
40046         * modules/log-ieee: New file.
40048         Tests for module 'logf-ieee'.
40049         * modules/logf-ieee-tests: New file.
40050         * tests/test-logf-ieee.c: New file.
40051         * tests/test-log-ieee.h: New file.
40053         New module 'logf-ieee'.
40054         * modules/logf-ieee: New file.
40056 2012-03-10  Bruno Haible  <bruno@clisp.org>
40058         log: Fix bug introduced on 2012-03-09.
40059         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
40061 2012-03-10  Pádraig Brady  <P@draigBrady.com>
40063         timer-time: link explicitly with pthreads on glibc
40064         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
40065         to support static linking, when newer glibc is
40066         detected, as that contains pthread emulation of
40067         POSIX timer functions where required.
40068         * modules/timer-time: Depend on threadlib to
40069         pull in the appropriate library to link.
40071 2012-03-10  Bruno Haible  <bruno@clisp.org>
40073         log* tests: More tests.
40074         * tests/test-log.h: New file.
40075         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
40076         (main): Invoke test_function.
40077         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
40078         (main): Invoke test_function.
40079         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
40080         (main): Invoke test_function.
40081         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40082         tests/randomd.c.
40083         (Makefile.am): Add randomd.c to test_log_SOURCES.
40084         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40085         tests/randomf.c.
40086         (Makefile.am): Add randomf.c to test_logf_SOURCES.
40087         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40088         tests/randoml.c.
40089         (Depends-on): Add 'float'.
40090         (Makefile.am): Add randoml.c to test_logl_SOURCES.
40092 2012-03-09  Bruno Haible  <bruno@clisp.org>
40094         logl: Work around OSF/1 5.1 bug.
40095         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
40096         * lib/logl.c (logl): If logl exists, use it and provide just the
40097         workaround.
40098         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
40099         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
40100         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
40101         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
40102         * modules/logl (configure.ac): Consider REPLACE_LOGL.
40103         (Depends-on): Update conditions.
40104         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
40106 2012-03-09  Bruno Haible  <bruno@clisp.org>
40108         logf: Work around OSF/1 5.1 bug.
40109         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
40110         * lib/logf.c (logf): If logf exists, use it and provide just the
40111         workaround.
40112         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
40113         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
40114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
40115         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
40116         * modules/logf (configure.ac): Consider REPLACE_LOGF.
40117         (Depends-on): Update conditions.
40118         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
40120 2012-03-09  Bruno Haible  <bruno@clisp.org>
40122         log: Work around OSF/1 5.1 bug.
40123         * lib/math.in.h (log): New declaration.
40124         * lib/log.c: New file.
40125         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
40126         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
40127         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
40128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
40129         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
40130         * modules/log (Files): Add lib/log.c.
40131         (Depends-on): Add math.
40132         (configure.ac): If REPLACE_LOG is 1, compile an override.
40133         * tests/test-math-c++.cc: Check the declaration of log.
40134         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
40136 2012-03-09  Jim Meyering  <meyering@redhat.com>
40138         readtokens.c: adjust wording in a comment
40139         * lib/readtokens.c: Insert omitted "that" in a comment.
40141 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40143         modechange: add notations +40, 00440, etc.
40144         * lib/modechange.c (mode_compile): Support new notations
40145         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
40147 2012-03-08  Bruno Haible  <bruno@clisp.org>
40149         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
40150         * m4/exp2l-ieee.m4: New file.
40151         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
40152         test whether exp2l works with a NaN argument and with a negative
40153         infinity argument. Replace it if not.
40154         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
40155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
40156         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
40157         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
40158         (Depends-on): Update conditions.
40159         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
40160         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
40161         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
40163         Tests for module 'exp2l-ieee'.
40164         * modules/exp2l-ieee-tests: New file.
40165         * tests/test-exp2l-ieee.c: New file.
40167         New module 'exp2l-ieee'.
40168         * modules/exp2l-ieee: New file.
40170         Tests for module 'exp2-ieee'.
40171         * modules/exp2-ieee-tests: New file.
40172         * tests/test-exp2-ieee.c: New file.
40174         New module 'exp2-ieee'.
40175         * modules/exp2-ieee: New file.
40177         Tests for module 'exp2f-ieee'.
40178         * modules/exp2f-ieee-tests: New file.
40179         * tests/test-exp2f-ieee.c: New file.
40180         * tests/test-exp2-ieee.h: New file.
40182         New module 'exp2f-ieee'.
40183         * modules/exp2f-ieee: New file.
40185 2012-03-08  Bruno Haible  <bruno@clisp.org>
40187         Tests for module 'exp2l'.
40188         * modules/exp2l-tests: New file.
40189         * tests/test-exp2l.c: New file.
40191         New module 'exp2l'.
40192         * lib/math.in.h (exp2l): New declaration.
40193         * lib/exp2l.c: New file.
40194         * lib/expl-table.c: New file, extracted from lib/expl.c.
40195         * lib/expl.c (gl_expl_table): New declaration.
40196         (expl): Remove expl_table. Update reference.
40197         * m4/exp2l.m4: New file.
40198         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
40199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
40200         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
40201         * modules/exp2l: New file.
40202         * modules/expl (Files): Add lib/expl-table.c.
40203         (configure.ac): Compile also expl-table.c.
40204         * tests/test-math-c++.cc: Check the declaration of exp2l.
40205         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
40206         problem.
40208 2012-03-08  Bruno Haible  <bruno@clisp.org>
40210         Tests for module 'exp2f'.
40211         * modules/exp2f-tests: New file.
40212         * tests/test-exp2f.c: New file.
40214         New module 'exp2f'.
40215         * lib/math.in.h (exp2f): New declaration.
40216         * lib/exp2f.c: New file.
40217         * m4/exp2f.m4: New file.
40218         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
40219         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
40220         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
40221         * modules/exp2f: New file.
40222         * tests/test-math-c++.cc: Check the declaration of exp2f.
40223         * doc/posix-functions/exp2f.texi: Mention the new module and the
40224         IRIX problem.
40226 2012-03-08  Bruno Haible  <bruno@clisp.org>
40228         Tests for module 'exp2'.
40229         * modules/exp2-tests: New file.
40230         * tests/test-exp2.c: New file.
40231         * tests/test-exp2.h: New file.
40233         New module 'exp2'.
40234         * lib/math.in.h (exp2): New declaration.
40235         * lib/exp2.c: New file.
40236         * m4/exp2.m4: New file.
40237         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
40238         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
40239         REPLACE_EXP2.
40240         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
40241         REPLACE_EXP2.
40242         * modules/exp2: New file.
40243         * tests/test-math-c++.cc: Check the declaration of exp2.
40244         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
40245         and OpenBSD problems.
40247 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40249         savedir: fix comment typo
40250         * lib/savedir.c (savedirstream): Fix typo in comment.
40252 2012-03-08  Bruno Haible  <bruno@clisp.org>
40254         test-readtokens.c: use const; remove unwarranted cast
40255         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
40257 2012-03-08  Bruno Haible  <bruno@clisp.org>
40259         fmal: Avoid compilation error on AIX.
40260         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
40261         AIX 5.2..7.1.
40263 2012-03-08  Bruno Haible  <bruno@clisp.org>
40265         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
40266         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
40267         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
40268         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
40269         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
40270         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
40271         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
40273 2012-03-08  Bruno Haible  <bruno@clisp.org>
40275         remainderf: Override buggy system function on IRIX 6.5.
40276         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
40277         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
40278         when it exists.
40279         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
40281 2012-03-08  Jim Meyering  <meyering@redhat.com>
40283         test-readtokens.c: avoid const-related compilation warnings
40284         * tests/test-readtokens.c: Avoid const-related compilation warnings.
40286 2012-03-07  Jim Meyering  <meyering@redhat.com>
40287             Bruno Haible  <bruno@clisp.org>
40289         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
40290         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
40291         tests/randomd.c.
40292         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
40293         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
40294         tests/randoml.c.
40295         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
40297 2012-03-07  Bruno Haible  <bruno@clisp.org>
40299         expm1l: Avoid compilation error on AIX.
40300         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
40301         AIX 5.2..7.1.
40303 2012-03-07  Bruno Haible  <bruno@clisp.org>
40305         expm1l: Don't override undeclared system function on IRIX 6.5.
40306         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
40307         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
40308         it exists. Set HAVE_DECL_EXPM1L.
40309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
40310         HAVE_EXPM1L.
40311         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
40312         HAVE_EXPM1L.
40313         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
40315 2012-03-07  Bruno Haible  <bruno@clisp.org>
40317         remainderl: Don't override undeclared system function on IRIX 6.5.
40318         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
40319         HAVE_REMAINDERL.
40320         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
40321         declared when it exists. Set HAVE_DECL_REMAINDERL.
40322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
40323         not HAVE_REMAINDERL.
40324         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
40325         HAVE_REMAINDERL.
40326         * doc/posix-functions/remainderl.texi: Mention missing declaration
40327         problem.
40329 2012-03-07  Bruno Haible  <bruno@clisp.org>
40331         rintf: Don't override undeclared system function on IRIX 6.5.
40332         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
40333         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
40334         exists. Set HAVE_DECL_RINTF.
40335         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
40336         HAVE_RINTF.
40337         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
40338         HAVE_RINTF.
40339         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
40341 2012-03-07  Bruno Haible  <bruno@clisp.org>
40343         roundl: Avoid compilation error on AIX.
40344         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
40345         AIX 5.2..7.1.
40347 2012-03-07  Bruno Haible  <bruno@clisp.org>
40349         roundl: Don't override undeclared system function on IRIX 6.5.
40350         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
40351         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
40352         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40353         * modules/roundl (configure.ac): For replacement code, test
40354         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40355         (Depends-on): Update conditions.
40356         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
40358 2012-03-07  Bruno Haible  <bruno@clisp.org>
40360         roundf: Don't override undeclared system function on IRIX 6.5.
40361         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
40362         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
40363         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40364         * modules/roundf (configure.ac): For replacement code, test
40365         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40366         (Depends-on): Update conditions.
40367         * modules/roundf-ieee (Depends-on): Update conditions.
40368         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
40370 2012-03-07  Bruno Haible  <bruno@clisp.org>
40372         round: Don't override undeclared system function on IRIX 6.5.
40373         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
40374         argument.
40375         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
40376         also when it is not declared. Set HAVE_ROUND. For replacement code,
40377         test HAVE_ROUND, not HAVE_DECL_ROUND.
40378         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
40379         not HAVE_DECL_ROUND.
40380         (Depends-on): Update conditions.
40381         * modules/round-ieee (Depends-on): Update conditions.
40382         * doc/posix-functions/round.texi: Mention the IRIX problem.
40384 2012-03-07  Bruno Haible  <bruno@clisp.org>
40386         copysignf: Don't override undeclared system function on IRIX 6.5.
40387         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
40388         HAVE_COPYSIGNF.
40389         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
40390         declared when it exists. Set HAVE_DECL_COPYSIGNF.
40391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
40392         not HAVE_COPYSIGNF.
40393         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
40394         HAVE_COPYSIGNF.
40395         * doc/posix-functions/copysignf.texi: Mention missing declaration
40396         problem.
40398 2012-03-07  Jim Meyering  <meyering@redhat.com>
40400         readtokens: add tests
40401         * modules/readtokens-tests: New file.
40402         * tests/test-readtokens.c: New file.
40404 2012-03-07  Jim Meyering  <meyering@redhat.com>
40406         quotearg: the module must now include quote.h
40407         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
40408         So must the module.
40409         * modules/quotearg (Files): Add quote.h.
40411 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
40413         readtokens: avoid core dumps with unusual calling patterns
40414         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
40415         * lib/readtokens.c: Include limits.h.
40416         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
40417         (readtoken): Don't cache the delimiters; the cache code was buggy
40418         if !delim && saved_delim, or if the new n_delim differs from the old.
40419         Also, it wasn't thread-safe.
40421 2012-03-07  Bruno Haible  <bruno@clisp.org>
40423         quote: Adhere to common module description layout.
40424         * modules/quote (Makefile.am): Add back empty section.
40426 2012-03-06  Akim Demaille  <demaille@gostai.com>
40428         quote: fuse into quotearg
40429         This patch is made for the benefit of Bison.
40430         quote does not leave the choice of the quoting style to the user.
40431         quoting_style provides poor customizability, yet quoting_options,
40432         which is very rich, is hidden inside quotearg.c.  So in order to
40433         allow quote customization, move its implementation to quotearg.c.
40434         * lib/quote.c: Remove.
40435         * modules/quote: Adjust.
40436         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
40437         warning: provide all the members of literal structs.
40438         (quote_quoting_options): New.
40439         (quote, quote_n): Import implementation from quote.c.
40440         * lib/quote.h: Import the comments from quote.c.
40441         (quote_quoting_options): New.
40443 2012-03-06  Bruno Haible  <bruno@clisp.org>
40445         Tests for module 'expm1l-ieee'.
40446         * modules/expm1l-ieee-tests: New file.
40447         * tests/test-expm1l-ieee.c: New file.
40449         New module 'expm1l-ieee'.
40450         * modules/expm1l-ieee: New file.
40452         Tests for module 'expm1f-ieee'.
40453         * modules/expm1f-ieee-tests: New file.
40454         * tests/test-expm1f-ieee.c: New file.
40456         New module 'expm1f-ieee'.
40457         * modules/expm1f-ieee: New file.
40459         Tests for module 'expm1-ieee'.
40460         * modules/expm1-ieee-tests: New file.
40461         * tests/test-expm1-ieee.c: New file.
40462         * tests/test-expm1-ieee.h: New file.
40464         New module 'expm1-ieee'.
40465         * modules/expm1-ieee: New file.
40466         * m4/expm1-ieee.m4: New file.
40467         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
40468         whether expm1 works with a minus zero argument. Replace it if not.
40469         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
40470         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
40471         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
40472         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
40473         (Depends-on): Update conditions.
40474         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
40475         AIX problem.
40477 2012-03-06  Bruno Haible  <bruno@clisp.org>
40479         Work around expm1f bug on IRIX 6.5.
40480         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
40481         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
40482         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
40483         not work.
40484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
40485         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
40486         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
40487         (Depends-on): Update conditions.
40488         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
40490 2012-03-06  Bruno Haible  <bruno@clisp.org>
40492         Tests for module 'expm1l'.
40493         * modules/expm1l-tests: New file.
40494         * tests/test-expm1l.c: New file.
40496         New module 'expm1l'.
40497         * lib/math.in.h (expm1l): New declaration.
40498         * lib/expm1l.c: New file.
40499         * m4/expm1l.m4: New file.
40500         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
40501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
40502         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
40503         * modules/expm1l: New file.
40504         * tests/test-math-c++.cc: Check the declaration of expm1l.
40505         * doc/posix-functions/expm1l.texi: Mention the new module.
40507 2012-03-06  Bruno Haible  <bruno@clisp.org>
40509         Tests for module 'expm1f'.
40510         * modules/expm1f-tests: New file.
40511         * tests/test-expm1f.c: New file.
40513         New module 'expm1f'.
40514         * lib/math.in.h (expm1f): New declaration.
40515         * lib/expm1f.c: New file.
40516         * m4/expm1f.m4: New file.
40517         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
40518         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
40519         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
40520         * modules/expm1f: New file.
40521         * tests/test-math-c++.cc: Check the declaration of expm1f.
40522         * doc/posix-functions/expm1f.texi: Mention the new module.
40524 2012-03-06  Bruno Haible  <bruno@clisp.org>
40526         Tests for module 'expm1'.
40527         * modules/expm1-tests: New file.
40528         * tests/test-expm1.c: New file.
40529         * tests/test-expm1.h: New file.
40531         New module 'expm1'.
40532         * lib/math.in.h (expm1): New declaration.
40533         * lib/expm1.c: New file.
40534         * m4/expm1.m4: New file.
40535         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
40536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
40537         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
40538         * modules/expm1: New file.
40539         * tests/test-math-c++.cc: Check the declaration of expm1.
40540         * doc/posix-functions/expm1.texi: Mention the new module.
40542 2012-03-06  Bruno Haible  <bruno@clisp.org>
40544         math: Ensure declarations of math functions.
40545         * modules/acosf (Depends-on): Add 'extensions'.
40546         * modules/asinf (Depends-on): Likewise.
40547         * modules/atan2f (Depends-on): Likewise.
40548         * modules/atanf (Depends-on): Likewise.
40549         * modules/cbrt (Depends-on): Likewise.
40550         * modules/cbrtf (Depends-on): Likewise.
40551         * modules/cbrtl (Depends-on): Likewise.
40552         * modules/copysignf (Depends-on): Likewise.
40553         * modules/copysignl (Depends-on): Likewise.
40554         * modules/cosf (Depends-on): Likewise.
40555         * modules/coshf (Depends-on): Likewise.
40556         * modules/expf (Depends-on): Likewise.
40557         * modules/fabsf (Depends-on): Likewise.
40558         * modules/fabsl (Depends-on): Likewise.
40559         * modules/fmaf (Depends-on): Likewise.
40560         * modules/fmal (Depends-on): Likewise.
40561         * modules/fmodf (Depends-on): Likewise.
40562         * modules/fmodl (Depends-on): Likewise.
40563         * modules/frexpf (Depends-on): Likewise.
40564         * modules/frexpl (Depends-on): Likewise.
40565         * modules/hypot (Depends-on): Likewise.
40566         * modules/hypotf (Depends-on): Likewise.
40567         * modules/hypotl (Depends-on): Likewise.
40568         * modules/ldexpf (Depends-on): Likewise.
40569         * modules/ldexpl (Depends-on): Likewise.
40570         * modules/log10f (Depends-on): Likewise.
40571         * modules/log10l (Depends-on): Likewise.
40572         * modules/log1p (Depends-on): Likewise.
40573         * modules/logb (Depends-on): Likewise.
40574         * modules/logf (Depends-on): Likewise.
40575         * modules/modff (Depends-on): Likewise.
40576         * modules/modfl (Depends-on): Likewise.
40577         * modules/powf (Depends-on): Likewise.
40578         * modules/remainderf (Depends-on): Likewise.
40579         * modules/remainderl (Depends-on): Likewise.
40580         * modules/rintf (Depends-on): Likewise.
40581         * modules/rintl (Depends-on): Likewise.
40582         * modules/sinf (Depends-on): Likewise.
40583         * modules/sinhf (Depends-on): Likewise.
40584         * modules/sqrtf (Depends-on): Likewise.
40585         * modules/tanf (Depends-on): Likewise.
40586         * modules/tanhf (Depends-on): Likewise.
40587         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
40588         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
40589         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
40590         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
40591         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
40592         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
40593         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
40594         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
40595         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
40596         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
40597         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
40598         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
40599         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
40600         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
40601         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
40602         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
40603         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
40604         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
40605         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
40606         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
40607         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
40608         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
40609         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
40610         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
40611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
40612         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
40613         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
40614         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
40615         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
40616         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
40617         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
40618         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
40619         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40620         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
40621         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
40622         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
40623         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
40624         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
40625         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
40626         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
40627         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
40629 2012-03-06  Bruno Haible  <bruno@clisp.org>
40631         math: Update module names in warnings.
40632         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
40633         tanl): Use specific module name in warn-on-use warning.
40635 2012-03-06  Bruno Haible  <bruno@clisp.org>
40637         expl: Simplify computation.
40638         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
40640 2012-03-05  Bruno Haible  <bruno@clisp.org>
40642         exp* tests: More tests.
40643         * tests/test-exp.h: New file.
40644         * tests/test-exp.c: Include <float.h> and test-exp.h.
40645         (main): Invoke test_function.
40646         * tests/test-expf.c: Include <float.h> and test-exp.h.
40647         (main): Invoke test_function.
40648         * tests/test-expl.c: Include <float.h> and test-exp.h.
40649         (main): Invoke test_function.
40650         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
40651         (Makefile.am): Add randomd.c to test_exp_SOURCES.
40652         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
40653         (Makefile.am): Add randomf.c to test_expf_SOURCES.
40654         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
40655         (Depends-on): Add 'float'.
40656         (Makefile.am): Add randoml.c to test_expl_SOURCES.
40658         expl: Fix precision of computed result.
40659         * lib/expl.c: Completely rewritten.
40660         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
40661         (Maintainer): Add me.
40662         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
40664 2012-03-05  Bruno Haible  <bruno@clisp.org>
40666         cbrt* tests: More tests.
40667         * tests/test-cbrt.h: New file.
40668         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
40669         (main): Invoke test_function.
40670         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
40671         (main): Invoke test_function.
40672         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
40673         (main): Invoke test_function.
40674         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
40675         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
40676         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
40677         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
40678         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
40679         (Depends-on): Add 'float'.
40680         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
40682 2012-03-05  Bruno Haible  <bruno@clisp.org>
40684         hypot* tests: More tests.
40685         * tests/test-hypot.h: New file, partially extracted from
40686         tests/test-hypotl.c.
40687         * tests/test-hypot.c: Include test-hypot.h.
40688         (main): Invoke test_function.
40689         * tests/test-hypotf.c: Include test-hypot.h.
40690         (main): Invoke test_function.
40691         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
40692         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
40693         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
40694         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
40695         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
40696         tests/randomf.c.
40697         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
40698         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
40699         tests/randoml.c.
40700         (Depends-on): Add 'fpucw', 'float'.
40701         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
40703 2012-03-05  Bruno Haible  <bruno@clisp.org>
40705         fpucw: Doc about FreeBSD.
40706         * lib/fpucw.h: Mention FreeBSD in comments.
40708 2012-03-04  Bruno Haible  <bruno@clisp.org>
40710         sqrt* tests: More tests.
40711         * tests/test-sqrt.h: New file.
40712         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
40713         (main): Invoke test_function.
40714         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
40715         (main): Invoke test_function.
40716         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
40717         (main): Invoke test_function.
40718         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
40719         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
40720         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
40721         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
40722         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
40723         (Depends-on): Add 'float'.
40724         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
40726 2012-03-04  Bruno Haible  <bruno@clisp.org>
40728         remainder* tests: More tests.
40729         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
40730         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
40731         (main): Invoke test_function.
40732         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
40733         (main): Invoke test_function.
40734         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
40735         (main): Invoke test_function.
40736         * modules/remainder-tests (Files): Add tests/test-remainder.h,
40737         tests/randomd.c.
40738         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
40739         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
40740         tests/randomf.c.
40741         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
40742         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
40743         tests/randoml.c.
40744         (Depends-on): Add 'float'.
40745         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
40747 2012-03-04  Bruno Haible  <bruno@clisp.org>
40749         remainder, remainderf, remainderl: Fix computation for large quotients.
40750         * lib/remainder.c: Completely rewritten.
40751         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
40752         USE_FLOAT.
40753         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
40754         USE_LONG_DOUBLE.
40755         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
40756         isnand, isinf. Remove round, fma.
40757         * modules/remainderf (Files): Add lib/remainder.c.
40758         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
40759         Remove roundf, fmaf.
40760         * modules/remainderl (Files): Add lib/remainder.c.
40761         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
40762         isinf. Remove roundl, fmal.
40763         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
40764         REMAINDER_LIBM.
40765         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
40766         REMAINDERF_LIBM.
40767         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
40768         REMAINDERL_LIBM.
40770 2012-03-04  Bruno Haible  <bruno@clisp.org>
40772         fmod* tests: More tests.
40773         * tests/test-fmod.h (my_ldexp): New function.
40774         (test_function): Reduce amount of random numbers to test. Add tests
40775         of very large quotients x / y.
40776         * tests/test-fmod.c (MAX_EXP): New macro.
40777         * tests/test-fmodf.c (MAX_EXP): Likewise.
40778         * tests/test-fmodl.c (MAX_EXP): Likewise.
40780 2012-03-04  Bruno Haible  <bruno@clisp.org>
40782         fmod, fmodl: Fix computation for large quotients x / y.
40783         * lib/fmod.c: Completely rewritten.
40784         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
40785         USE_LONG_DOUBLE.
40786         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
40787         isnand. Remove fma.
40788         * modules/fmodl (Files): Add lib/fmod.c.
40789         (Depends-on): Add float, isfinite, signbit, fabsl,
40790         frexpl, ldexpl, isnanl. Remove fma.
40791         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
40792         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
40794 2012-03-03  Bruno Haible  <bruno@clisp.org>
40796         fmod* tests: More tests.
40797         * tests/test-fmod.h: New file.
40798         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
40799         (main): Invoke test_function.
40800         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
40801         (main): Invoke test_function.
40802         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
40803         (main): Invoke test_function.
40804         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
40805         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
40806         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
40807         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
40808         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
40809         (Depends-on): Add 'float'.
40810         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
40812 2012-03-03  Bruno Haible  <bruno@clisp.org>
40814         rint* tests: More tests.
40815         * tests/test-rint.h: New file, partially extracted from
40816         tests/test-rintl.c.
40817         * tests/test-rint.c: Include test-rint.h.
40818         (main): Invoke test_function.
40819         * tests/test-rintf.c: Include test-rint.h.
40820         (main): Invoke test_function.
40821         * tests/test-rintl.c: Include test-rint.h.
40822         (main): Invoke test_function.
40823         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
40824         (Makefile.am): Add randomd.c to test_rint_SOURCES.
40825         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
40826         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
40827         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
40828         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
40830 2012-03-03  Bruno Haible  <bruno@clisp.org>
40832         modf* tests: More tests.
40833         * tests/test-modf.h: New file.
40834         * tests/test-modf.c: Include <float.h> and test-modf.h.
40835         (main): Invoke test_function.
40836         * tests/test-modff.c: Include <float.h> and test-modf.h.
40837         (main): Invoke test_function.
40838         * tests/test-modfl.c: Include <float.h> and test-modf.h.
40839         (main): Invoke test_function.
40840         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
40841         (Makefile.am): Add randomd.c to test_modf_SOURCES.
40842         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
40843         (Makefile.am): Add randomf.c to test_modff_SOURCES.
40844         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
40845         (Depends-on): Add 'float'.
40846         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
40848 2012-03-03  Bruno Haible  <bruno@clisp.org>
40850         fabs* tests: More tests.
40851         * tests/test-fabs.h: New file, partially extracted from
40852         tests/test-fabsl.c.
40853         * tests/test-fabs.c (RANDOM): New macro.
40854         * tests/test-fabsf.c (RANDOM): New macro.
40855         * tests/test-fabsl.c (RANDOM): New macro.
40856         * modules/fabs-tests (Files): Add tests/randomd.c.
40857         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
40858         * modules/fabsf-tests (Files): Add tests/randomf.c.
40859         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
40860         * modules/fabsl-tests (Files): Add tests/randoml.c.
40861         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
40863 2012-03-03  Bruno Haible  <bruno@clisp.org>
40865         ldexp* tests: More tests.
40866         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
40867         * tests/test-ldexp.c (RANDOM): New macro.
40868         * tests/test-ldexpf.c (RANDOM): New macro.
40869         * tests/test-ldexpl.c (RANDOM): New macro.
40870         * modules/ldexp-tests (Files): Add tests/randomd.c.
40871         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
40872         * modules/ldexpf-tests (Files): Add tests/randomf.c.
40873         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
40874         * modules/ldexpl-tests (Files): Add tests/randoml.c.
40875         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
40877 2012-03-03  Bruno Haible  <bruno@clisp.org>
40879         frexp* tests: More tests.
40880         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
40881         * tests/test-frexp.c (RANDOM): New macro.
40882         * tests/test-frexpf.c (RANDOM): New macro.
40883         * tests/test-frexpl.c (RANDOM): New macro.
40884         * modules/frexp-tests (Files): Add tests/randomd.c.
40885         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
40886         * modules/frexpf-tests (Files): Add tests/randomf.c.
40887         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
40888         * modules/frexpl-tests (Files): Add tests/randoml.c.
40889         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
40891 2012-03-03  Bruno Haible  <bruno@clisp.org>
40893         Support for pseudo-random numbers in tests.
40894         * tests/randomf.c: New file.
40895         * tests/randomd.c: New file.
40896         * tests/randoml.c: New file.
40897         * tests/macros.h (randomf, randomd, randoml): New declarations.
40899 2012-03-03  Bruno Haible  <bruno@clisp.org>
40901         frexp* tests: Refactor.
40902         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
40903         * tests/test-frexp.c: Include and use it.
40904         * tests/test-frexpf.c: Likewise.
40905         * tests/test-frexpl.c: Likewise.
40906         * modules/frexp-tests (Files): Add tests/test-frexp.h.
40907         * modules/frexpf-tests (Files): Likewise.
40908         * modules/frexpl-tests (Files): Likewise.
40910 2012-03-02  Jim Meyering  <meyering@redhat.com>
40912         maint: don't specify XZ_OPT=-9ev in dist-related rule
40913         Using xz's -9 option is warranted only if you have a very large
40914         tarball (see xz's documentation for the sizes vs. presets), and
40915         requires 64MiB of memory at decompression time.
40916         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
40917         Automake's default of just "-e" is fine.  Override on a
40918         per-package basis by setting XZ_OPT e.g., in cfg.mk.
40920 2012-03-01  Eric Blake  <eblake@redhat.com>
40922         maint.mk: allow announcement for non-gnulib project
40923         * maint.mk (announcement): Skip gnulib version if not used.
40925 2012-03-01  Jim Meyering  <meyering@redhat.com>
40927         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
40928         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
40929         envvar settings cannot interfere.  Otherwise, setting envvars like
40930         prohibit=foo require=bar, etc. would cause spurious test failures.
40932 2012-03-01  Eric Blake  <eblake@redhat.com>
40934         maint.mk: add per-line exclusions to prohibitions
40935         * maint.mk (_sc_search_regexp): Add $exclude parameter.
40936         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
40937         (sc_const_long_option): Use it.
40939 2012-03-01  Bruno Haible  <bruno@clisp.org>
40941         Tests for module 'expl-ieee'.
40942         * modules/expl-ieee-tests: New file.
40943         * tests/test-expl-ieee.c: New file.
40945         New module 'expl-ieee'.
40946         * modules/expl-ieee: New file.
40948         Tests for module 'exp-ieee'.
40949         * modules/exp-ieee-tests: New file.
40950         * tests/test-exp-ieee.c: New file.
40952         New module 'exp-ieee'.
40953         * modules/exp-ieee: New file.
40955         Tests for module 'expf-ieee'.
40956         * modules/expf-ieee-tests: New file.
40957         * tests/test-expf-ieee.c: New file.
40958         * tests/test-exp-ieee.h: New file.
40960         New module 'expf-ieee'.
40961         * modules/expf-ieee: New file.
40963 2012-02-29  Bruno Haible  <bruno@clisp.org>
40965         cbrtl-ieee: Work around test failure on IRIX 6.5.
40966         * m4/cbrtl-ieee.m4: New file.
40967         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
40968         test whether cbrtl works with a minus zero argument. Replace it if not.
40969         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
40970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
40971         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
40972         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
40973         (Depends-on): Update conditions.
40974         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
40975         m4/signbit.m4.
40976         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
40977         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
40978         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
40980         Tests for module 'cbrtl-ieee'.
40981         * modules/cbrtl-ieee-tests: New file.
40982         * tests/test-cbrtl-ieee.c: New file.
40984         New module 'cbrtl-ieee'.
40985         * modules/cbrtl-ieee: New file.
40987         Tests for module 'cbrt-ieee'.
40988         * modules/cbrt-ieee-tests: New file.
40989         * tests/test-cbrt-ieee.c: New file.
40991         New module 'cbrt-ieee'.
40992         * modules/cbrt-ieee: New file.
40994         Tests for module 'cbrtf-ieee'.
40995         * modules/cbrtf-ieee-tests: New file.
40996         * tests/test-cbrtf-ieee.c: New file.
40997         * tests/test-cbrt-ieee.h: New file.
40999         New module 'cbrtf-ieee'.
41000         * modules/cbrtf-ieee: New file.
41002 2012-02-29  Bruno Haible  <bruno@clisp.org>
41004         cbrtf: Work around bug in IRIX 6.5 system function.
41005         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
41006         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
41007         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
41008         work.
41009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
41010         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
41011         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
41012         (Depends-on): Update conditions.
41013         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
41015 2012-02-29  Bruno Haible  <bruno@clisp.org>
41017         Tests for module 'cbrtl'.
41018         * modules/cbrtl-tests: New file.
41019         * tests/test-cbrtl.c: New file.
41021         New module 'cbrtl'.
41022         * lib/math.in.h (cbrtl): New declaration.
41023         * lib/cbrtl.c: New file.
41024         * m4/cbrtl.m4: New file.
41025         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
41026         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
41027         HAVE_DECL_CBRTL.
41028         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
41029         HAVE_DECL_CBRTL.
41030         * modules/cbrtl: New file.
41031         * tests/test-math-c++.cc: Check the declaration of cbrtl.
41032         * doc/posix-functions/cbrtl.texi: Mention the new module.
41034 2012-02-29  Bruno Haible  <bruno@clisp.org>
41036         Tests for module 'cbrtf'.
41037         * modules/cbrtf-tests: New file.
41038         * tests/test-cbrtf.c: New file.
41040         New module 'cbrtf'.
41041         * lib/math.in.h (cbrtf): New declaration.
41042         * lib/cbrtf.c: New file.
41043         * m4/cbrtf.m4: New file.
41044         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
41045         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
41046         HAVE_DECL_CBRTF.
41047         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
41048         HAVE_DECL_CBRTF.
41049         * modules/cbrtf: New file.
41050         * tests/test-math-c++.cc: Check the declaration of cbrtf.
41051         * doc/posix-functions/cbrtf.texi: Mention the new module.
41053 2012-02-29  Bruno Haible  <bruno@clisp.org>
41055         cbrt: Provide replacement on MSVC and Minix.
41056         * lib/math.in.h (cbrt): New declaration.
41057         * lib/cbrt.c: New file.
41058         * m4/cbrt.m4: New file.
41059         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
41060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
41061         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
41062         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
41063         (Depends-on): Add dependencies.
41064         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
41065         * tests/test-math-c++.cc: Check the declaration of cbrt.
41066         * doc/posix-functions/cbrt.texi: Mention that the module provides a
41067         replacement.
41069 2012-02-29  Bruno Haible  <bruno@clisp.org>
41071         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
41072         * m4/hypotl-ieee.m4: New file.
41073         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
41074         test whether hypotl works with mixed NaN and Infinity arguments.
41075         Replace it if not.
41076         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
41077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
41078         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
41079         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
41080         (Depends-on): Update conditions.
41081         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
41082         (Depends-on): Add hypot-ieee.
41083         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
41084         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
41086         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
41087         * m4/hypotf-ieee.m4: New file.
41088         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
41089         test whether hypotf works with mixed NaN and Infinity arguments.
41090         Replace it if not.
41091         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
41092         (Depends-on): Add hypot-ieee.
41093         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
41094         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
41096         hypot-ieee: Work around test failure on OSF/1 and native Windows.
41097         * lib/math.in.h (hypot): New declaration.
41098         * lib/hypot.c: New file.
41099         * m4/hypot-ieee.m4: New file.
41100         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
41101         whether hypot works with mixed NaN and Infinity arguments. Replace it
41102         if not.
41103         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
41104         REPLACE_HYPOT.
41105         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
41106         * modules/hypot (Files): Add lib/hypot.c.
41107         (Depends-on): Add dependencies.
41108         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
41109         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
41110         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
41111         * tests/test-math-c++.cc: Check the declaration of hypot.
41112         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
41114         Tests for module 'hypotl-ieee'.
41115         * modules/hypotl-ieee-tests: New file.
41116         * tests/test-hypotl-ieee.c: New file.
41118         New module 'hypotl-ieee'.
41119         * modules/hypotl-ieee: New file.
41121         Tests for module 'hypot-ieee'.
41122         * modules/hypot-ieee-tests: New file.
41123         * tests/test-hypot-ieee.c: New file.
41125         New module 'hypot-ieee'.
41126         * modules/hypot-ieee: New file.
41128         Tests for module 'hypotf-ieee'.
41129         * modules/hypotf-ieee-tests: New file.
41130         * tests/test-hypotf-ieee.c: New file.
41131         * tests/test-hypot-ieee.h: New file.
41133         New module 'hypotf-ieee'.
41134         * modules/hypotf-ieee: New file.
41136 2012-02-29  Bruno Haible  <bruno@clisp.org>
41138         Remove unused variables.
41139         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
41140         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41141         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
41142         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41144 2012-02-29  Eric Blake  <eblake@redhat.com>
41146         termios: fix pid_t always, not just for tcgetsid
41147         * doc/posix-headers/termios.texi (termios.h): Mention problem.
41148         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
41149         just when building tcgetsid.
41151 2012-02-29  Bruno Haible  <bruno@clisp.org>
41153         Tests for module 'hypotl'.
41154         * modules/hypotl-tests: New file.
41155         * tests/test-hypotl.c: New file.
41157         New module 'hypotl'.
41158         * lib/math.in.h (hypotl): New declaration.
41159         * lib/hypotl.c: New file.
41160         * m4/hypotl.m4: New file.
41161         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41162         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
41163         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
41164         * modules/hypotl: New file.
41165         * tests/test-math-c++.cc: Check the hypotl declaration.
41166         * doc/posix-functions/hypotl.texi: Mention the new module.
41168 2012-02-29  Eric Blake  <eblake@redhat.com>
41170         tcgetsid: fix cygwin header bug
41171         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
41173         docs: update cygwin progress
41174         * doc/posix-functions/llround.texi (llround): Added in cygwin
41175         1.7.8.
41176         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
41177         * doc/glibc-functions/program_invocation_name.texi
41178         (program_invocation_name): Likewise.
41179         * doc/glibc-functions/program_invocation_short_name.texi
41180         (program_invocation_short_name): Likewise.
41181         * doc/glibc-functions/madvise.texi (madvise): Likewise.
41182         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
41183         Likewise.
41184         * doc/posix-functions/pthread_spin_destroy.texi
41185         (pthread_spin_destroy): Added in cygwin 1.7.10.
41186         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
41187         Likewise.
41188         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
41189         Likewise.
41190         * doc/posix-functions/pthread_spin_trylock.texi
41191         (pthread_spin_trylock): Likewise.
41192         * doc/posix-functions/pthread_spin_unlock.texi
41193         (pthread_spin_unlock): Likewise.
41194         * doc/posix-functions/pthread_setschedprio.texi
41195         (pthread_setschedprio): Likewise.
41196         * doc/posix-functions/pthread_attr_getstack.texi
41197         (pthread_attr_getstack): Likewise.
41198         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
41199         (pthread_attr_getstackaddr): Likewise.
41200         * doc/glibc-functions/pthread_getattr_np.texi
41201         (pthread_getattr_np): Likewise.
41202         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
41203         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
41204         * doc/posix-functions/clock_settime.texi (clock_settime):
41205         Likewise.
41206         * doc/posix-functions/pthread_attr_getguardsize.texi
41207         (pthread_attr_getguardsize): Likewise.
41208         * doc/posix-functions/pthread_attr_setguardsize.texi
41209         (pthread_attr_setguardsize): Likewise.
41210         * doc/posix-functions/pthread_attr_setstack.texi
41211         (pthread_attr_setstack): Likewise.
41212         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
41213         (pthread_attr_setstackaddr): Likewise.
41214         * doc/posix-functions/clock_getcpuclockid.texi
41215         (clock_getcpuclockid): Likewise.
41216         * doc/posix-functions/pthread_getcpuclockid.texi
41217         (pthread_getcpuclockid): Likewise.
41218         * doc/glibc-functions/error.texi (error): Likewise.
41219         * doc/glibc-functions/error_at_line.texi (error_at_line):
41220         Likewise.
41221         * doc/glibc-functions/error_message_count.texi
41222         (error_message_count): Likewise.
41223         * doc/glibc-functions/error_one_per_line.texi
41224         (error_one_per_line): Likewise.
41225         * doc/glibc-functions/error_print_progname.texi
41226         (error_print_progname): Likewise.
41227         * doc/posix-functions/pthread_condattr_getclock.texi
41228         (pthread_condattr_getclock): Likewise.
41229         * doc/posix-functions/pthread_condattr_setclock.texi
41230         (pthread_condattr_setclock): Likewise.
41231         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
41232         Likewise.
41233         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
41234         * doc/glibc-functions/getpt.texi (getpt): Likewise.
41235         * doc/glibc-functions/get_current_dir_name.texi
41236         (get_current_dir_name): Likewise.
41237         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
41238         Likewise.
41239         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
41240         wrong return type.
41241         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
41242         1.7.11.
41244 2012-02-29  Bruno Haible  <bruno@clisp.org>
41246         Tests for module 'hypotf'.
41247         * modules/hypotf-tests: New file.
41248         * tests/test-hypotf.c: New file.
41250         New module 'hypotf'.
41251         * lib/math.in.h (hypotf): New declaration.
41252         * lib/hypotf.c: New file.
41253         * m4/hypotf.m4: New file.
41254         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
41256         REPLACE_HYPOTF.
41257         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
41258         REPLACE_HYPOTF.
41259         * modules/hypotf: New file.
41260         * tests/test-math-c++.cc: Check the hypotf declaration.
41261         * doc/posix-functions/hypotf.texi: Mention the new module.
41263         hypot: Prepare for hypotf module.
41264         * m4/hypot.m4: New file.
41265         * modules/hypot (Files): Add m4/hypot.m4.
41266         (configure.ac): Invoke gl_FUNC_HYPOT.
41268 2012-02-29  Bruno Haible  <bruno@clisp.org>
41270         hypot tests: More tests.
41271         * tests/test-hypot.c: Include <float.h>.
41272         (main): Add tests about overflow and underflow.
41274 2012-02-29  Bruno Haible  <bruno@clisp.org>
41276         math code: Add comments.
41277         * lib/acosl.c: Add comment about related glibc source files.
41278         * lib/asinl.c: Likewise.
41279         * lib/atanl.c: Likewise.
41280         * lib/expl.c: Likewise.
41281         * lib/logl.c: Likewise.
41282         * lib/sincosl.c: Likewise.
41283         * lib/sinl.c: Likewise.
41284         * lib/tanl.c: Likewise.
41285         * lib/trigl.c: Likewise.
41286         * lib/cosl.c: Likewise. Fix comments.
41288 2012-02-28  Bruno Haible  <bruno@clisp.org>
41290         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
41291         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
41292         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
41293         HUGE_VALL are defined.
41294         (numeric_equald): Renamed from numeric_equal.
41295         (numeric_equalf, numeric_equall): New functions.
41296         (main): Check also HUGE_VALF, HUGE_VALL.
41297         * modules/math-tests (Files): Add tests/macros.h.
41298         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
41299         HUGE_VALL.
41301 2012-02-28  Bruno Haible  <bruno@clisp.org>
41303         doc: Move ISO C11 feature notes into POSIX chapters.
41304         * doc/posix-functions/aligned_alloc.texi: Renamed from
41305         doc/glibc-functions/aligned_alloc.texi.
41306         * doc/posix-functions/quick_exit.texi: Renamed from
41307         doc/glibc-functions/quick_exit.texi.
41308         * doc/posix-headers/uchar.texi: Renamed from
41309         doc/glibc-headers/uchar.texi.
41310         * doc/posix-functions/c16rtomb.texi: Renamed from
41311         doc/glibc-functions/c16rtomb.texi.
41312         * doc/posix-functions/c32rtomb.texi: Renamed from
41313         doc/glibc-functions/c32rtomb.texi.
41314         * doc/posix-functions/mbrtoc16.texi: Renamed from
41315         doc/glibc-functions/mbrtoc16.texi.
41316         * doc/posix-functions/mbrtoc32.texi: Renamed from
41317         doc/glibc-functions/mbrtoc32.texi.
41318         * doc/gnulib.texi: Update.
41319         (Glibc uchar.h): Remove section.
41320         Suggested by Eric Blake.
41322 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
41324         stdnoreturn: port to MSVC better
41325         MSVC standard headers use __declspec(noreturn), so #define noreturn
41326         to empty on that platform.  Reported by Bruno Haible in
41327         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
41328         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
41329         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
41331 2012-02-28  Bruno Haible  <bruno@clisp.org>
41333         doc: Mention new glibc headers and functions.
41334         * doc/glibc-headers/uchar.texi: New file.
41335         * doc/glibc-functions/aligned_alloc.texi: New file.
41336         * doc/glibc-functions/c16rtomb.texi: New file.
41337         * doc/glibc-functions/c32rtomb.texi: New file.
41338         * doc/glibc-functions/clock_adjtime.texi: New file.
41339         * doc/glibc-functions/fanotify_init.texi: New file.
41340         * doc/glibc-functions/fanotify_mark.texi: New file.
41341         * doc/glibc-functions/inet6_opt_append.texi: New file.
41342         * doc/glibc-functions/inet6_opt_find.texi: New file.
41343         * doc/glibc-functions/inet6_opt_finish.texi: New file.
41344         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
41345         * doc/glibc-functions/inet6_opt_init.texi: New file.
41346         * doc/glibc-functions/inet6_opt_next.texi: New file.
41347         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
41348         * doc/glibc-functions/inet6_rth_add.texi: New file.
41349         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
41350         * doc/glibc-functions/inet6_rth_init.texi: New file.
41351         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
41352         * doc/glibc-functions/inet6_rth_segments.texi: New file.
41353         * doc/glibc-functions/inet6_rth_space.texi: New file.
41354         * doc/glibc-functions/login.texi: New file.
41355         * doc/glibc-functions/mbrtoc16.texi: New file.
41356         * doc/glibc-functions/mbrtoc32.texi: New file.
41357         * doc/glibc-functions/name_to_handle_at.texi: New file.
41358         * doc/glibc-functions/ntp_gettimex.texi: New file.
41359         * doc/glibc-functions/open_by_handle_at.texi: New file.
41360         * doc/glibc-functions/prlimit.texi: New file.
41361         * doc/glibc-functions/process_vm_readv.texi: New file.
41362         * doc/glibc-functions/process_vm_writev.texi: New file.
41363         * doc/glibc-functions/recvmmsg.texi: New file.
41364         * doc/glibc-functions/scandirat.texi: New file.
41365         * doc/glibc-functions/sendmmsg.texi: New file.
41366         * doc/glibc-functions/setns.texi: New file.
41367         * doc/glibc-functions/timespec_get.texi: New file.
41368         * doc/gnulib.texi: Include them.
41369         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
41370         sections.
41371         Reported by Eric Blake.
41373 2012-02-28  Bruno Haible  <bruno@clisp.org>
41375         Avoid compilation errors with MSVC option -fp:strict.
41376         * lib/floor.c: Use MSVC specific pragma fenv_access.
41377         * lib/ceil.c: Likewise.
41378         * lib/trunc.c: Likewise.
41379         * lib/round.c: Likewise.
41380         * lib/rint.c: Likewise.
41381         * lib/fma.c: Likewise.
41382         * lib/integer_length.c: Likewise.
41383         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41384         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41385         * tests/test-floor2.c: Likewise.
41386         * tests/test-floorf2.c: Likewise.
41387         * tests/test-ceil2.c: Likewise.
41388         * tests/test-ceilf2.c: Likewise.
41389         * tests/test-trunc2.c: Likewise.
41390         * tests/test-truncf2.c: Likewise.
41391         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41393 2012-02-27  Bruno Haible  <bruno@clisp.org>
41395         Tests for module 'sqrtl-ieee'.
41396         * modules/sqrtl-ieee-tests: New file.
41397         * tests/test-sqrtl-ieee.c: New file.
41399         New module 'sqrtl-ieee'.
41400         * modules/sqrtl-ieee: New file.
41402         Tests for module 'sqrt-ieee'.
41403         * modules/sqrt-ieee-tests: New file.
41404         * tests/test-sqrt-ieee.c: New file.
41406         New module 'sqrt-ieee'.
41407         * modules/sqrt-ieee: New file.
41409         Tests for module 'sqrtf-ieee'.
41410         * modules/sqrtf-ieee-tests: New file.
41411         * tests/test-sqrtf-ieee.c: New file.
41412         * tests/test-sqrt-ieee.h: New file.
41414         New module 'sqrtf-ieee'.
41415         * modules/sqrtf-ieee: New file.
41417 2012-02-27  Bruno Haible  <bruno@clisp.org>
41419         remainderl-ieee: Work around test failure on OSF/1.
41420         * m4/remainderl-ieee.m4: New file.
41421         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
41422         present, test whether remainderl works with a zero second argument.
41423         Replace it if not.
41424         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
41425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
41426         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
41427         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
41428         (Depends-on): Update conditions.
41429         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
41430         (Depends-on): Add remainder-ieee.
41431         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
41432         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
41433         module.
41435         remainderf-ieee: Work around test failure on OSF/1.
41436         * m4/remainderf-ieee.m4: New file.
41437         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
41438         present, test whether remainderf works with a zero second argument.
41439         Replace it if not.
41440         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
41441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
41442         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
41443         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
41444         (Depends-on): Update conditions.
41445         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
41446         (Depends-on): Add remainder-ieee.
41447         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
41448         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
41449         module.
41451         remainder-ieee: Work around test failure on OSF/1.
41452         * m4/remainder-ieee.m4: New file.
41453         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
41454         present, test whether remainder works with a zero second argument.
41455         Replace it if not.
41456         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
41457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
41458         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
41459         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
41460         (Depends-on): Update dependencies.
41461         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
41462         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
41463         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
41465         Tests for module 'remainderl-ieee'.
41466         * modules/remainderl-ieee-tests: New file.
41467         * tests/test-remainderl-ieee.c: New file.
41469         New module 'remainderl-ieee'.
41470         * modules/remainderl-ieee: New file.
41472         Tests for module 'remainder-ieee'.
41473         * modules/remainder-ieee-tests: New file.
41474         * tests/test-remainder-ieee.c: New file.
41476         New module 'remainder-ieee'.
41477         * modules/remainder-ieee: New file.
41479         Tests for module 'remainderf-ieee'.
41480         * modules/remainderf-ieee-tests: New file.
41481         * tests/test-remainderf-ieee.c: New file.
41482         * tests/test-remainder-ieee.h: New file.
41484         New module 'remainderf-ieee'.
41485         * modules/remainderf-ieee: New file.
41487 2012-02-27  Bruno Haible  <bruno@clisp.org>
41489         modff, modfl: Fix configure syntax error.
41490         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
41491         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41493 2012-02-27  Bruno Haible  <bruno@clisp.org>
41495         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
41496         * m4/fmodl-ieee.m4: New file.
41497         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
41498         whether fmodl works with zero arguments. Replace it if not.
41499         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
41500         (Depends-on): Add fmod-ieee.
41501         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
41502         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
41504         fmodf-ieee: Work around test failure on OSF/1.
41505         * m4/fmodf-ieee.m4: New file.
41506         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
41507         whether fmodf works with zero arguments. Replace it if not.
41508         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
41509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
41510         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
41511         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
41512         (Depends-on): Update dependencies.
41513         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
41514         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
41515         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
41517         fmodf-ieee: Work around test failure on MSVC 9.
41518         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
41519         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
41521         fmod-ieee: Work around test failures on OSF/1, mingw.
41522         * m4/fmod-ieee.m4: New file.
41523         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
41524         whether fmod works with zero arguments. Replace it if not.
41525         * lib/math.in.h (fmod): New declaration.
41526         * lib/fmod.c: New file.
41527         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
41528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
41529         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
41530         * modules/fmod (Files): Add lib/fmod.c.
41531         (Depends-on): Add math, isinf, trunc, fma.
41532         (configure.ac): Arrange to compile lib/fmod.c if needed.
41533         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
41534         m4/signbit.m4.
41535         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
41536         * tests/test-math-c++.cc: Check the declaration of fmod.
41537         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
41539         fmodl-ieee: Fix test failures.
41540         * lib/fmodl.c (fmodl): Treat Inf specially.
41541         * modules/fmodl (Depends-on): Add isinf.
41543         Tests for module 'fmodl-ieee'.
41544         * modules/fmodl-ieee-tests: New file.
41545         * tests/test-fmodl-ieee.c: New file.
41547         New module 'fmodl-ieee'.
41548         * modules/fmodl-ieee: New file.
41550         Tests for module 'fmod-ieee'.
41551         * modules/fmod-ieee-tests: New file.
41552         * tests/test-fmod-ieee.c: New file.
41554         New module 'fmod-ieee'.
41555         * modules/fmod-ieee: New file.
41557         Tests for module 'fmodf-ieee'.
41558         * modules/fmodf-ieee-tests: New file.
41559         * tests/test-fmodf-ieee.c: New file.
41560         * tests/test-fmod-ieee.h: New file.
41562         New module 'fmodf-ieee'.
41563         * modules/fmodf-ieee: New file.
41565 2012-02-27  Bruno Haible  <bruno@clisp.org>
41567         Tests for module 'rintl-ieee'.
41568         * modules/rintl-ieee-tests: New file.
41569         * tests/test-rintl-ieee.c: New file.
41571         New module 'rintl-ieee'.
41572         * modules/rintl-ieee: New file.
41574         Tests for module 'rint-ieee'.
41575         * modules/rint-ieee-tests: New file.
41576         * tests/test-rint-ieee.c: New file.
41578         New module 'rint-ieee'.
41579         * modules/rint-ieee: New file.
41581         Tests for module 'rintf-ieee'.
41582         * modules/rintf-ieee-tests: New file.
41583         * tests/test-rintf-ieee.c: New file.
41584         * tests/test-rint-ieee.h: New file.
41586         New module 'rintf-ieee'.
41587         * modules/rintf-ieee: New file.
41589 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
41591         regex: re_search etc. should return -2 when memory exhausted
41592         This bug was uncovered when testing 'grep'.  Without the fix,
41593         re_search and friends return -1 when memory is exhausted, but -1
41594         means no match, and this causes grep to falsely report no-match
41595         instead of memory-exhaustion.  See
41596         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
41597         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
41598         trouble; this can occur if re_search_internal ran out of memory.
41600 2012-02-26  Bruno Haible  <bruno@clisp.org>
41602         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
41603         * m4/modfl-ieee.m4: New file.
41604         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
41605         whether modfl works with Inf. Replace it if not.
41606         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
41607         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
41608         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
41609         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
41610         (Depends-on): Update dependencies.
41611         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
41612         m4/signbit.m4.
41613         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
41614         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
41616         modfl-ieee: Fix dependencies.
41617         * modules/modfl-ieee (Depends-on): Add modf-ieee.
41619         modfl-ieee: Fix test failures.
41620         * lib/modfl.c (modfl): Treat NaN and Inf specially.
41621         * modules/modfl (Depends-on): Add isfinite, isinf.
41623         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
41624         * m4/modff-ieee.m4: New file.
41625         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
41626         whether modff works with NaN and Inf. Replace it if not.
41627         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
41628         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
41629         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
41630         * modules/modff (configure.ac): Consider REPLACE_MODFF.
41631         (Depends-on): Update dependencies.
41632         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
41633         m4/signbit.m4.
41634         (Depends-on): Add modf-ieee.
41635         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
41636         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
41638         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
41639         * m4/modf-ieee.m4: New file.
41640         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
41641         whether modf works with NaN and Inf. Replace it if not.
41642         * lib/math.in.h (modf): New declaration.
41643         * lib/modf.c: New file.
41644         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
41645         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
41646         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
41647         * modules/modf (Files): Add lib/modf.c.
41648         (Depends-on): Add math, isfinite, trunc, isinf.
41649         (configure.ac): Addrange to compile lib/modf.c if needed.
41650         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
41651         m4/signbit.m4.
41652         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
41653         * tests/test-math-c++.cc: Check the declaration of modf.
41654         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
41656         Tests for module 'modfl-ieee'.
41657         * modules/modfl-ieee-tests: New file.
41658         * tests/test-modfl-ieee.c: New file.
41660         New module 'modfl-ieee'.
41661         * modules/modfl-ieee: New file.
41663         Tests for module 'modf-ieee'.
41664         * modules/modf-ieee-tests: New file.
41665         * tests/test-modf-ieee.c: New file.
41667         New module 'modf-ieee'.
41668         * modules/modf-ieee: New file.
41670         Tests for module 'modff-ieee'.
41671         * modules/modff-ieee-tests: New file.
41672         * tests/test-modff-ieee.c: New file.
41673         * tests/test-modf-ieee.h: New file.
41675         New module 'modff-ieee'.
41676         * modules/modff-ieee: New file.
41678 2012-02-26  Bruno Haible  <bruno@clisp.org>
41680         Tests for module 'fabsl-ieee'.
41681         * modules/fabsl-ieee-tests: New file.
41682         * tests/test-fabsl-ieee.c: New file.
41684         New module 'fabsl-ieee'.
41685         * modules/fabsl-ieee: New file.
41687         Tests for module 'fabs-ieee'.
41688         * modules/fabs-ieee-tests: New file.
41689         * tests/test-fabs-ieee.c: New file.
41691         New module 'fabs-ieee'.
41692         * modules/fabs-ieee: New file.
41694         Tests for module 'fabsf-ieee'.
41695         * modules/fabsf-ieee-tests: New file.
41696         * tests/test-fabsf-ieee.c: New file.
41697         * tests/test-fabs-ieee.h: New file.
41699         New module 'fabsf-ieee'.
41700         * modules/fabsf-ieee: New file.
41702 2012-02-26  Bruno Haible  <bruno@clisp.org>
41704         Tests for module 'fmal-ieee'.
41705         * modules/fmal-ieee-tests: New file.
41706         * tests/test-fmal-ieee.c: New file.
41708         New module 'fmal-ieee'.
41709         * modules/fmal-ieee: New file.
41711         Tests for module 'fma-ieee'.
41712         * modules/fma-ieee-tests: New file.
41713         * tests/test-fma-ieee.c: New file.
41715         New module 'fma-ieee'.
41716         * modules/fma-ieee: New file.
41718         Tests for module 'fmaf-ieee'.
41719         * modules/fmaf-ieee-tests: New file.
41720         * tests/test-fmaf-ieee.c: New file.
41721         * tests/test-fma-ieee.h: New file.
41723         New module 'fmaf-ieee'.
41724         * modules/fmaf-ieee: New file.
41726 2012-02-26  Bruno Haible  <bruno@clisp.org>
41728         Tests for module 'ldexpl-ieee'.
41729         * modules/ldexpl-ieee-tests: New file.
41730         * tests/test-ldexpl-ieee.c: New file.
41732         New module 'ldexpl-ieee'.
41733         * modules/ldexpl-ieee: New file.
41735         Tests for module 'ldexp-ieee'.
41736         * modules/ldexp-ieee-tests: New file.
41737         * tests/test-ldexp-ieee.c: New file.
41739         New module 'ldexp-ieee'.
41740         * modules/ldexp-ieee: New file.
41742         Tests for module 'ldexpf-ieee'.
41743         * modules/ldexpf-ieee-tests: New file.
41744         * tests/test-ldexpf-ieee.c: New file.
41745         * tests/test-ldexp-ieee.h: New file.
41747         New module 'ldexpf-ieee'.
41748         * modules/ldexpf-ieee: New file.
41750 2012-02-26  Bruno Haible  <bruno@clisp.org>
41752         Refactor frexp*-ieee tests.
41753         * tests/test-frexp-ieee.h: New file.
41754         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
41755         (main): Just call test_function.
41756         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
41757         (main): Just call test_function.
41758         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
41759         (main): Just call test_function.
41760         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
41761         * modules/frexp-ieee-tests (Files): Likewise.
41762         * modules/frexpl-ieee-tests (Files): Likewise.
41764         Tests for module 'frexpl-ieee'.
41765         * modules/frexpl-ieee-tests: New file.
41766         * tests/test-frexpl-ieee.c: New file.
41768         New module 'frexpl-ieee'.
41769         * modules/frexpl-ieee: New file.
41771         Tests for module 'frexp-ieee'.
41772         * modules/frexp-ieee-tests: New file.
41773         * tests/test-frexp-ieee.c: New file.
41775         New module 'frexp-ieee'.
41776         * modules/frexp-ieee: New file.
41778         Tests for module 'frexpf-ieee'.
41779         * modules/frexpf-ieee-tests: New file.
41780         * tests/test-frexpf-ieee.c: New file.
41782         New module 'frexpf-ieee'.
41783         * modules/frexpf-ieee: New file.
41785 2012-02-26  Bruno Haible  <bruno@clisp.org>
41787         roundl-ieee tests: More tests.
41788         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41789         (main): Add tests for [MX] shaded specification in POSIX.
41790         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41791         (Depends-on): Add isnanl-nolibm.
41793         round-ieee tests: More tests.
41794         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41795         (main): Add tests for [MX] shaded specification in POSIX.
41796         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41797         (Depends-on): Add isnand-nolibm.
41799         roundf-ieee tests: More tests.
41800         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41801         (main): Add tests for [MX] shaded specification in POSIX.
41802         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41803         (Depends-on): Add isnanf-nolibm.
41805         truncl-ieee tests: More tests.
41806         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41807         (main): Add tests for [MX] shaded specification in POSIX.
41808         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41809         (Depends-on): Add isnanl-nolibm.
41811         trunc-ieee tests: More tests.
41812         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41813         (main): Add tests for [MX] shaded specification in POSIX.
41814         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41815         (Depends-on): Add isnand-nolibm.
41817         truncf-ieee tests: More tests.
41818         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41819         (main): Add tests for [MX] shaded specification in POSIX.
41820         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41821         (Depends-on): Add isnanf-nolibm.
41823         ceill-ieee tests: More tests.
41824         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41825         (main): Add tests for [MX] shaded specification in POSIX.
41826         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41827         (Depends-on): Add isnanl-nolibm.
41829         ceil-ieee tests: More tests.
41830         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41831         (main): Add tests for [MX] shaded specification in POSIX.
41832         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41833         (Depends-on): Add isnand-nolibm.
41835         ceilf-ieee tests: More tests.
41836         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41837         (main): Add tests for [MX] shaded specification in POSIX.
41838         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41839         (Depends-on): Add isnanf-nolibm.
41841         floorl-ieee tests: More tests.
41842         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
41843         (main): Add tests for [MX] shaded specification in POSIX.
41844         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41845         (Depends-on): Add isnanl-nolibm.
41847         floor-ieee tests: More tests.
41848         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
41849         (main): Add tests for [MX] shaded specification in POSIX.
41850         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41851         (Depends-on): Add isnand-nolibm.
41853         floorf-ieee tests: More tests.
41854         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
41855         (main): Add tests for [MX] shaded specification in POSIX.
41856         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
41857         (Depends-on): Add isnanf-nolibm.
41859 2012-02-26  Bruno Haible  <bruno@clisp.org>
41861         fpieee: More comments.
41862         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
41864 2012-02-25  Bruno Haible  <bruno@clisp.org>
41866         Tests for module 'log10l'.
41867         * modules/log10l-tests: New file.
41868         * tests/test-log10l.c: New file.
41869         * tests/test-math-c++.cc: Check the declaration of log10l.
41871         New module 'log10l'.
41872         * lib/math.in.h (log10l): New declaration.
41873         * lib/log10l.c: New file.
41874         * m4/log10l.m4: New file.
41875         * modules/log10l: New file.
41876         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
41877         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
41878         HAVE_DECL_LOG10L.
41879         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
41880         HAVE_DECL_LOG10L.
41881         * doc/posix-functions/log10l.texi: Mention the new module.
41883 2012-02-25  Bruno Haible  <bruno@clisp.org>
41885         fmodl, remainder*: Avoid wrong results due to rounding errors.
41886         * lib/fmodl.c (fmodl): Correct the result if it is not within the
41887         expected bounds.
41888         * lib/remainderf.c (remainderf): Likewise.
41889         * lib/remainder.c (remainder): Likewise.
41890         * lib/remainderl.c (remainderl): Likewise.
41892 2012-02-25  Bruno Haible  <bruno@clisp.org>
41894         Tests for module 'remainderl'.
41895         * modules/remainderl-tests: New file.
41896         * tests/test-remainderl.c: New file.
41897         * tests/test-math-c++.cc: Check the declaration of remainderl.
41899         New module 'remainderl'.
41900         * lib/math.in.h (remainderl): New declaration.
41901         * lib/remainderl.c: New file.
41902         * m4/remainderl.m4: New file.
41903         * modules/remainderl: New file.
41904         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
41905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
41906         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
41907         HAVE_REMAINDERL.
41908         * doc/posix-functions/remainderl.texi: Mention the new module.
41910 2012-02-25  Bruno Haible  <bruno@clisp.org>
41912         Tests for module 'remainderf'.
41913         * modules/remainderf-tests: New file.
41914         * tests/test-remainderf.c: New file.
41915         * tests/test-math-c++.cc: Check the declaration of remainderf.
41917         New module 'remainderf'.
41918         * lib/math.in.h (remainderf): New declaration.
41919         * lib/remainderf.c: New file.
41920         * m4/remainderf.m4: New file.
41921         * modules/remainderf: New file.
41922         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
41923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
41924         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
41925         HAVE_REMAINDERF.
41926         * doc/posix-functions/remainderf.texi: Mention the new module.
41928 2012-02-25  Bruno Haible  <bruno@clisp.org>
41930         remainder: Support for MSVC.
41931         * lib/math.in.h (remainder): New declaration.
41932         * lib/remainder.c: New file.
41933         * m4/remainder.m4: New file.
41934         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
41935         (Depends-on): Add math, round, fma.
41936         (configure.ac): Use results of gl_FUNC_REMAINDER.
41937         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
41938         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
41939         HAVE_DECL_REMAINDER.
41940         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
41941         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
41942         * tests/test-math-c++.cc: Check the declaration of remainder.
41943         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
41944         problems are fixed.
41946 2012-02-25  Bruno Haible  <bruno@clisp.org>
41948         Tests for module 'fmodl'.
41949         * modules/fmodl-tests: New file.
41950         * tests/test-fmodl.c: New file.
41951         * tests/test-math-c++.cc: Check the declaration of fmodl.
41953         New module 'fmodl'.
41954         * lib/math.in.h (fmodl): New declaration.
41955         * lib/fmodl.c: New file.
41956         * m4/fmodl.m4: New file.
41957         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
41958         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
41959         REPLACE_FMODL.
41960         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
41961         REPLACE_FMODL.
41962         * modules/fmodl: New file.
41963         * doc/posix-functions/fmodl.texi: Mention the new module.
41965 2012-02-25  Bruno Haible  <bruno@clisp.org>
41967         Tests for module 'modfl'.
41968         * modules/modfl-tests: New file.
41969         * tests/test-modfl.c: New file.
41970         * tests/test-math-c++.cc: Check the declaration of modfl.
41972         New module 'modfl'.
41973         * lib/math.in.h (modfl): New declaration.
41974         * lib/modfl.c: New file.
41975         * m4/modfl.m4: New file.
41976         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
41977         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
41978         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
41979         * modules/modfl: New file.
41980         * doc/posix-functions/modfl.texi: Mention the new module.
41982 2012-02-25  Bruno Haible  <bruno@clisp.org>
41984         Tests for module 'fabsl'.
41985         * modules/fabsl-tests: New file.
41986         * tests/test-fabsl.c: New file.
41987         * tests/test-math-c++.cc: Check the declaration of fabsl.
41989         New module 'fabsl'.
41990         * lib/math.in.h (fabsl): New declaration.
41991         * lib/fabsl.c: New file.
41992         * m4/fabsl.m4: New file.
41993         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
41994         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
41995         REPLACE_FABSL.
41996         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
41997         REPLACE_FABSL.
41998         * modules/fabsl: New file.
41999         * doc/posix-functions/fabsl.texi: Mention the new module.
42001 2012-02-25  Bruno Haible  <bruno@clisp.org>
42003         fabs tests: More tests.
42004         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
42005         (zero): New variable.
42006         (main): Add tests for signed zero.
42007         * modules/fabs-tests (Files): Add tests/minus-zero.h.
42009         fabsf tests: More tests.
42010         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
42011         (zero): New variable.
42012         (main): Add tests for signed zero.
42013         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
42015 2012-02-24  Bruno Haible  <bruno@clisp.org>
42017         atanl: Provide function definition on MSVC.
42018         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
42019         function pointer.
42020         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
42022 2012-02-24  Bruno Haible  <bruno@clisp.org>
42024         acosl: Provide function definition on MSVC.
42025         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
42026         function pointer.
42027         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
42029 2012-02-24  Bruno Haible  <bruno@clisp.org>
42031         asinl: Provide function definition on MSVC.
42032         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
42033         function pointer.
42034         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
42036 2012-02-24  Bruno Haible  <bruno@clisp.org>
42038         tanl: Provide function definition on MSVC.
42039         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
42040         function pointer.
42041         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42043 2012-02-24  Bruno Haible  <bruno@clisp.org>
42045         cosl: Provide function definition on MSVC.
42046         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
42047         function pointer.
42048         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
42050 2012-02-24  Bruno Haible  <bruno@clisp.org>
42052         sinl: Provide function definition on MSVC.
42053         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
42054         function pointer.
42055         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
42057 2012-02-24  Bruno Haible  <bruno@clisp.org>
42059         logl: Provide function definition on MSVC.
42060         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
42061         function pointer.
42062         * lib/math.in.h (logl): Undefine if it does not exist as a function.
42064 2012-02-24  Bruno Haible  <bruno@clisp.org>
42066         expl: Provide function definition on MSVC.
42067         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
42068         function pointer.
42069         * lib/math.in.h (expl): Undefine if it does not exist as a function.
42071 2012-02-24  Bruno Haible  <bruno@clisp.org>
42073         sqrtl: Provide function definition on MSVC.
42074         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
42075         a function pointer.
42076         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
42078 2012-02-24  Bruno Haible  <bruno@clisp.org>
42080         ceill: Provide function definition on MSVC.
42081         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
42082         used as a function pointer.
42083         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
42085 2012-02-24  Bruno Haible  <bruno@clisp.org>
42087         floorl: Provide function definition on MSVC.
42088         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
42089         used as a function pointer.
42090         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
42092 2012-02-24  Bruno Haible  <bruno@clisp.org>
42094         ceilf: Provide function definition on MSVC.
42095         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
42096         used as a function pointer.
42097         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
42099 2012-02-24  Bruno Haible  <bruno@clisp.org>
42101         floorf: Provide function definition on MSVC.
42102         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
42103         used as a function pointer.
42104         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
42106 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42108         stdnoreturn: new module
42109         This implements a replacement for C11's <stdnoreturn.h>.
42110         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
42111         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
42112         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
42113         * tests/test-stdnoreturn.c: New files.
42115 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
42117         regex: fix false multibyte matches in some regular expressions
42118         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
42119         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
42120         * lib/regex_internal.c (re_string_skip_chars):
42121         Fix miscomputation of remain_len that may cause incomplete
42122         multi-byte character and false match.
42124 2012-02-24  Jim Meyering  <meyering@redhat.com>
42126         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
42127         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
42128         uses with "==" *before* the call, e.g., 0 == strcmp (...)
42129         Remove now-unnecessary str''cmp obfuscation.
42130         Suggested by Akim Demaille.
42132 2012-02-24  Bruno Haible  <bruno@clisp.org>
42134         streq: Rename macro.
42135         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
42136         * NEWS: Mention the change.
42137         * lib/mbrtowc.c (mbrtowc): Update.
42138         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
42139         * lib/wcwidth.c (wcwidth): Update.
42140         Suggested by Akim Demaille and Jim Meyering.
42142 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42144         regex: fix typo in definition of MIN
42145         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
42146         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42148 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42149             Bruno Haible  <bruno@clisp.org>
42151         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
42152         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
42153         entries into a stack-allocated buffer directly.
42154         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
42156 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42157             Bruno Haible  <bruno@clisp.org>
42159         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
42161          - There were several instances of this pattern:
42163              for (;;) {
42164                n = acl (f, GETACLCNT, 0, NULL);
42165                [ allocate an array A of size N ]
42166                if (acl (f, GETACL, n, a) == n)
42167                  break;
42168              }
42170            This loop might never terminate if some other process is constantly
42171            manipulating the file's ACL.  The loop should be rewritten to
42172            terminate.
42174          - The acl (... GETACLNT ...) call is merely an optimization; its value
42175            is merely a hint as to how big to make the array.  A better
42176            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
42177            and just guess a reasonably-big size, growing the size and trying
42178            again if it's not large enough.  This guarantees termination, and
42179            saves a system call.
42181         * lib/acl-internal.h: Include <limits.h>.
42182         (MIN, SIZE_MAX): New macros.
42183         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
42184         a stack-allocated buffer, and use malloc if it does not fit. Don't
42185         use GETACLCNT.
42186         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42188 2012-02-19  Bruno Haible  <bruno@clisp.org>
42190         acl: Fix endless loop on Solaris with vxfs.
42191         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
42192         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
42193         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42194         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
42195         * tests/test-sameacls.c (main)[Solaris]: Likewise.
42196         Reported by Bill Jones in
42197         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
42199 2012-02-19  Bruno Haible  <bruno@clisp.org>
42201         acl: Fix copy-acl test failure on Solaris 11.0.
42202         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
42203         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
42204         that this function returns 0 in some more cases.
42206 2012-02-19  Bruno Haible  <bruno@clisp.org>
42208         acl: Update doc references.
42209         * doc/acl-resources.txt: Update links to Solaris documentation.
42211 2012-02-19  Bruno Haible  <bruno@clisp.org>
42213         Fix test failure in many locales on Solaris 11.
42214         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
42215         'tr' arguments.
42216         * tests/test-pipe-filter-ii1.c (main): Likewise.
42217         * build-aux/bootstrap (check_versions): Run 'tr' command with range
42218         expressions in the C locale.
42219         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
42220         * m4/host-os.m4 (gl_HOST_OS): Likewise.
42222 2012-02-19  Bruno Haible  <bruno@clisp.org>
42224         gnulib-tool: Improve usage message.
42225         * gnulib-tool (func_usage): Move doc of --help and --version to the
42226         section "Operation modes".
42228 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
42230         README-release: make it easier to execute commands
42231         * top/README-release: break commands out on to separate lines.
42233 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
42235         GNUmakefile: simplify detection of unconfigured trees
42236         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
42237         whether the tree make is being run from is already configured or
42238         not.  Related simplifications.
42240 2012-02-13  Simon Josefsson  <simon@josefsson.org>
42242         * gnulib-tool (func_usage): Document --help and --version.
42244 2012-02-11  Jim Meyering  <meyering@redhat.com>
42246         bootstrap: don't exit 0 upon gnulib-tool failure
42247         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
42248         its exit status, not 0.
42250 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
42252         README-release: various improvements
42253         * top/README-release: Give a command to push changes for the
42254         release.  Add "distcheck" to list of other pre-release checks.
42255         Fix instance of "make stable" which should be "make TYPE".
42257 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42259         maint: replace FSF snail-mail addresses with URLs
42260         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
42261         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
42262         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
42263         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
42264         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
42265         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
42266         * lib/check-version.c, lib/check-version.h, lib/config.charset:
42267         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
42268         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
42269         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
42270         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
42271         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
42272         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
42273         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
42274         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
42275         * lib/glthread/thread.c, lib/glthread/thread.h:
42276         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
42277         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
42278         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
42279         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
42280         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
42281         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
42282         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
42283         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
42284         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
42285         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
42286         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
42287         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
42288         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
42289         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
42290         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
42291         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
42292         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
42293         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
42294         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
42295         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
42296         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
42297         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
42298         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
42299         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
42300         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
42301         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
42302         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
42303         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
42304         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
42305         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
42306         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
42307         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
42308         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
42309         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
42310         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
42311         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
42312         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
42313         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
42314         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
42315         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
42316         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
42317         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
42318         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
42319         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
42320         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
42321         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
42322         * tests/test-poll.c, tests/test-quotearg-simple.c:
42323         * tests/test-quotearg.c, tests/test-quotearg.h:
42324         * tests/test-round-ieee.c, tests/test-round1.c:
42325         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
42326         * tests/test-roundl-ieee.c, tests/test-roundl.c:
42327         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
42328         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
42329         * tests/test-strerror.c, tests/test-strerror_r.c:
42330         * tests/test-strsignal.c, tests/test-strverscmp.c:
42331         * tests/test-xmemdup0.c:
42332         Replace FSF snail mail addresses with URLs, as per GNU coding
42333         standards.  See glibc bug
42334         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
42336 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
42338         README-release: capitalize a word and split a line
42339         * top/README-release: Fix punctuation and spacing.
42341 2012-02-08  Akim Demaille  <demaille@gostai.com>
42343         fatal-signal: use C prototypes (with explicit void).
42344         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42345         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
42347 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42349         regex: spelling fix
42350         * lib/regexec.c: spelling fix
42352         regex: rely on stdint.h for SIZE_MAX
42353         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
42355 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42357         regex: merge glibc changes
42359         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
42360         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
42361         (init_word_char): Work even if bitset words are not exactly 32 or
42362         64 bits wide.  Don't assume there are no padding bits.
42363         * lib/regex.c [_LIBC]: Do not include <config.h>.
42364         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
42365         and -Wtype-limits.
42366         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
42367         needless disagreement with glibc.  All uses changed.  Define it to
42368         1 only if _GNU_SOURCE, to match glibc.
42369         (_REG_RM_NAME): Remove; no longer needed, since the names in
42370         question are now all protected by __USE_GNU.
42371         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
42372         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
42373         * lib/regex_internal.h (MIN): New macro.
42375         2012-01-03 Ulrich Drepper <drepper@gmail.com>
42376         * lib/regcomp.c (init_word_char): Optimize regex a bit.
42378         2011-12-30 Jakub Jelinek <jakub@redhat.com>
42379         * lib/regex_internal.c (re_string_fetch_byte_case):
42380         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
42381         is miscompiled, and it turns out it is because of an incorrect
42382         attribute on re_string_fetch_byte_case.  Unlike
42383         re_string_peek_byte_case, this one is really not pure, it modifies
42384         memory (increments pstr->cur_idx), and with the pure attribute GCC
42385         assumed it doesn't and it cached the presumed value of
42386         regexp->cur_idx in a variable across the
42387          for (;; ++i)
42388            {
42389              if (i >= BRACKET_NAME_BUF_SIZE)
42390                return REG_EBRACK;
42391              if (token->type == OP_OPEN_CHAR_CLASS)
42392                ch = re_string_fetch_byte_case (regexp);
42393              else
42394                ch = re_string_fetch_byte (regexp);
42395              if (re_string_eoi(regexp))
42396                return REG_EBRACK;
42397              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
42398                break;
42399              elem->opr.name[i] = ch;
42400            }
42402         2011-11-29 Andreas Schwab <schwab@redhat.com>
42403         * lib/regcomp.c (build_equiv_class):
42404         Fix access after end of search string in regex matcher.
42406         2011-11-12 Ulrich Drepper <drepper@redhat.com>
42407         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
42409         2011-10-12 Ulrich Drepper <drepper@redhat.com>
42410         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
42412         2011-10-11 Ulrich Drepper <drepper@redhat.com>
42413         * lib/regcomp.c (parse_branch, parse_sub_exp):
42414         More regex memory leak fixes and tests.
42415         (parse_sub_exp, parse_bracket_exp):
42416         Fix memory leak for some invalid regular expressions.
42418         2011-05-28 Ulrich Drepper <drepper@gmail.com>
42419         * lib/regex_internal.c, lib/regexec.c:
42420         Fix unnecessary overallocation due to incomplete character.  When
42421         incomplete characters are found at the end of a string the code
42422         ran amok and allocated lots of memory.  Stricter limits are now in
42423         place.
42425         2011-05-20 Reuben Thomas <rrt@sc3d.org>
42426         * lib/regex.h: Update documentation.
42428         2011-05-16 Aharon Robbins <arnold@skeeve.com>
42429         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
42431         2010-05-05 Andreas Schwab <schwab@redhat.com>
42432         * lib/regexec.c (find_collation_sequence_value):
42433         Fix lookup of collation sequence value during regexp matching.
42435         2010-01-22 Ulrich Drepper <drepper@redhat.com>
42436         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
42438         2008-01-16 Ulrich Drepper <drepper@redhat.com>
42439         * lib/regex.h: Cleanup namespace.
42441         2007-11-26 Ulrich Drepper <drepper@redhat.com>
42442         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
42444         2007-08-26 Ulrich Drepper <drepper@redhat.com>
42445         * lib/regex_internal.h: Prevent some declarations and definitions
42446         to be seen when used in tests.
42448         2005-05-06 Ulrich Drepper <drepper@redhat.com>
42449         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
42450         __libc_lock_* macros if not _LIBC.
42451         (struct re_dfa_t): Add lock.
42453 2012-02-07  Eric Blake  <eblake@redhat.com>
42455         maint.mk: also prohibit lower-case @var@
42456         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
42457         lower case, like @top_srcdir@.
42459 2012-02-04  Eric Blake  <eblake@redhat.com>
42461         canonicalize: avoid uninitialized memory use
42462         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
42463         random '/' left in dest.
42464         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
42466 2012-02-04  Bruno Haible  <bruno@clisp.org>
42468         isatty: Fix test failure of ptsname_r on native Windows.
42469         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
42470         and don't set errno.
42471         (isatty): Test first whether fd is valid. Set errno when returning 0.
42473 2012-02-04  Bruno Haible  <bruno@clisp.org>
42475         spawn-pipe tests: Fix a NULL program name in a diagnostic.
42476         * tests/test-spawn-pipe-main.c: Include progname.h.
42477         (main): Invoke set_program_name.
42478         * modules/spawn-pipe-tests (Depends-on): Add progname.
42480         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
42481         * tests/test-nonblocking-socket-main.c: Include progname.h.
42482         (main): Invoke set_program_name.
42483         * modules/nonblocking-socket-tests (Depends-on): Add progname.
42485         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
42486         * tests/test-nonblocking-pipe-main.c: Include progname.h.
42487         (main): Invoke set_program_name.
42488         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
42490 2012-02-04  Eric Blake  <eblake@redhat.com>
42492         canonicalize-lgpl: fix // handling
42493         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
42495         canonicalize: fix // handling
42496         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
42497         /// to //, since only // is special.
42499 2012-02-04  Bruno Haible  <bruno@clisp.org>
42501         ioctl: Fix test failure on native Windows.
42502         * lib/ioctl.c: Include msvc-nothrow.h.
42503         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
42505 2012-02-04  Bruno Haible  <bruno@clisp.org>
42507         fsync: Avoid test failure on native Windows.
42508         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
42509         read-only.
42511 2012-02-04  Bruno Haible  <bruno@clisp.org>
42513         sys_select: Avoid syntax error on OpenBSD 5.0.
42514         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
42515         currently being included, just include the system's <sys/select.h>.
42517 2012-02-04  Bruno Haible  <bruno@clisp.org>
42519         sys_select: Avoid syntax error on OpenBSD 5.0.
42520         * lib/sys_select.in.h: Include <signal.h> only after the include_next
42521         <sys/select.h>, not before.
42522         Reported by Jiri B <jirib@devio.us>.
42524 2012-02-04  Bruno Haible  <bruno@clisp.org>
42526         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
42527         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
42528         global variables.
42529         * tests/test-get-rusage-data.c (main): Likewise.
42530         Reported by Jim Meyering.
42532 2012-02-04  Bruno Haible  <bruno@clisp.org>
42534         stdioext: Fix last commit.
42535         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
42537 2012-02-03  Bruno Haible  <bruno@clisp.org>
42539         stdioext: Add tentative support for Plan9.
42540         * lib/stdio-impl.h: Include <errno.h>.
42541         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
42542         * lib/freadable.c (freadable): Likewise.
42543         * lib/fwritable.c (fwritable): Likewise.
42544         * lib/fbufmode.c (fbufmode): Likewise.
42545         * lib/freading.c (freading): Likewise.
42546         * lib/fwriting.c (fwriting): Likewise.
42547         * lib/freadptr.c (freadptr): Likewise.
42548         * lib/freadseek.c (freadptrinc): Likewise.
42549         * lib/freadahead.c (freadahead): Likewise.
42550         * lib/fpurge.c (fpurge): Likewise.
42551         * lib/fseeko.c (rpl_fseeko): Likewise.
42552         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
42553         Reported by Jens Staal <staal1978@gmail.com>.
42555 2012-02-02  Jim Meyering  <meyering@redhat.com>
42557         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
42558         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
42559         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
42560         not even to try to add the attribute.  Instead, add a pragma to suppress
42561         the suggestion/warning.
42563 2012-01-31  Karl Berry  <karl@gnu.org>
42565         setstate doc: typo.
42566         * doc/posix-functions/setstate.texi (setstate): { not (.
42568 2012-01-31  Bruno Haible  <bruno@clisp.org>
42570         popen: Make more robust on Windows.
42571         * lib/popen.c: On native Windows, use the _popen based code even if
42572         HAVE_POPEN is set.
42573         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
42574         environment variable on native Windows.
42576 2012-01-30  Bruno Haible  <bruno@clisp.org>
42578         pclose: Fix typo.
42579         * lib/stdio.in.h (pclose): Fix typo in warning message.
42581 2012-01-30  Bruno Haible  <bruno@clisp.org>
42583         doc about getlogin_r, setstate.
42584         * doc/posix-functions/getlogin_r.texi: List the incompatible
42585         declaration problem under "not fixed by gnulib".
42586         * doc/posix-functions/setstate.texi: Mention incompatible declaration
42587         problem on Solaris 11 and other platforms.
42589 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
42590             Bruno Haible  <bruno@clisp.org>
42592         poll tests: Make test more robust.
42593         * tests/test-poll.c: Include macros.h.
42594         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
42595         return value of various I/O operations.
42596         * modules/poll-tests (Files): Add tests/macros.h.
42598 2012-01-30  Bruno Haible  <bruno@clisp.org>
42600         sys_stat: Fix support for mingw64 and MSVC.
42601         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
42602         header files already do it.
42603         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
42604         stat itself.
42605         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
42607 2012-01-30  Bruno Haible  <bruno@clisp.org>
42609         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
42610         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
42611         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
42613 2012-01-29  Bruno Haible  <bruno@clisp.org>
42615         quotearg: Fix test failure on MacOS X 10.5.
42616         * tests/test-quotearg-simple.c: Include localcharset.h.
42617         (main): If the locale encoding is not ASCII, bypass the tests of
42618         locale_quoting_style and clocale_quoting_style.
42619         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
42621 2012-01-29  Jim Meyering  <meyering@redhat.com>
42623         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
42624         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
42625         detect uses of canonicalize_file_name.
42627 2012-01-28  Bruno Haible  <bruno@clisp.org>
42629         test-framework-sh: Fix test failure with AIX 7.1 diff.
42630         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
42631         in column 1, like 'diff -c' does.
42632         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
42633         whether 'diff -u' is used. Instead, test whether the output contains
42634         some '@' character.
42636 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42638         strtoimax: eliminate need for stdint.h, inttypes.h checks
42639         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
42640         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
42641         the prerequisites for a recently-introduced strtoimax test.
42642         I guess this might cause strtoimax to be replaced when not
42643         strictly necessary on older hosts, but this shouldn't introduce
42644         any bugs and it should make Emacs 'configure' faster on typical
42645         modern hosts.  Problem discovered when importing the latest gnulib
42646         to an Emacs test version.
42647         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
42649 2012-01-28  Bruno Haible  <bruno@clisp.org>
42651         sys_time: Override 'struct timeval' on some native Windows platforms.
42652         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
42653         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
42654         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
42655         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
42656         needs to be overridden.
42657         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
42658         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
42659         * tests/test-sys_select.c: Check that the tv_sec member has the same
42660         size as a 'time_t'.
42661         * tests/test-sys_time.c: Likewise.
42662         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
42663         is set, set also REPLACE_GETTIMEOFDAY.
42664         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
42665         convert the resulting 'struct timeval' before returning.
42666         * lib/select.c: Include <sys/time.h>.
42667         (select, timeval): Undefine at the right place.
42668         * modules/select (Depends-on): Add sys_time.
42669         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
42670         some Windows platforms.
42671         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
42673 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42675         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
42676         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
42677         an integer.
42678         * lib/fcntl.c (dupfd): Likewise.
42679         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
42681 2012-01-28  Bruno Haible  <bruno@clisp.org>
42683         fcntl: Avoid compilation error on native Windows.
42684         * modules/fcntl (Depends-on): Add 'close'.
42686 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42688         select, poll, isatty: Avoid warnings on x86_64 mingw64.
42689         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
42690         pointer to an integer.
42691         * lib/poll.c (IsConsoleHandle): Likewise.
42692         * lib/isatty.c (IsConsoleHandle): Likewise.
42694 2012-01-28  Jim Meyering  <meyering@redhat.com>
42696         doc: clarify README-release
42697         * top/README-release: Clarify: you should make a point to have
42698         the latest stable versions of build tools in your PATH, and the
42699         reference to buildreq is solely for its list of tool names, not
42700         for its minimal-functional version numbers.
42701         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
42703         maint.mk: use more readable (yet functionally equivalent) quoting
42704         It is common to quote a single quote in a single quoted string like
42705         this:  '...'\''...'.  Unless you know the idiom, that looks like
42706         gibberish, so prefer to double-quote the string when possible.
42707         Then you can use a more readable, lone single quote: "...'..."
42708         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
42709         "don't" is more readable than the equivalent 'don'\''t'.
42710         (sc_cast_of_x_alloc_return_value): Likewise.
42711         (sc_cast_of_alloca_return_value): Likewise.
42712         (sc_makefile_path_separator_check): Similar: use ":" in '...',
42713         rather than '\'':'\''.
42715 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
42717         stdalign: relax _Alignof and tighten _Alignas test
42718         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
42719         as it was too strict: alignof must divide offsetof, but it need
42720         not equal offsetof.  Inspired by Joseph S. Myers's comment
42721         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
42722         Conversely, tighten the _Alignas test a bit, as the resulting
42723         alignment must be exactly 8.
42725 2012-01-27  Bruno Haible  <bruno@clisp.org>
42727         stdalign: Document the last change.
42728         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
42730 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
42732         stdalign: check that alignof and offsetof are consistent
42733         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
42734         Problem reported for gnulib by Richard W.M. Jones in
42735         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
42737 2012-01-27  Jim Meyering  <meyering@redhat.com>
42739         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
42740         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
42741         convert a sequence with gaps to the minimal containing range.
42742         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
42743         * tests/test-update-copyright.sh: Test for this.
42744         The FSF confirmed it is ok to do this, assuming there is at
42745         least one significant change per year in the affected range:
42746         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
42748 2012-01-26  Bruno Haible  <bruno@clisp.org>
42750         pipe2: refine doc about thread-safety
42751         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
42752         multithread-safety problem.
42753         * doc/glibc-functions/accept4.texi: Likewise.
42755 2012-01-26  Bruno Haible  <bruno@clisp.org>
42757         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
42758         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
42759         In the test program, include <fcntl.h>, for O_RDONLY.
42761 2012-01-26  Eric Blake  <eblake@redhat.com>
42763         pipe2: document lack of thread-safety in replacement
42764         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
42765         issue in replacement.
42766         * doc/glibc-functions/accept4.texi (accept4): Likewise.
42767         Based on a report by Eric Wong.
42769 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
42770             Bruno Haible  <bruno@clisp.org>
42772         malloca: Avoid warnings on x86_64 mingw64.
42773         * lib/malloca.c: Include <stdint.h>.
42774         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
42775         * modules/malloca (Depends-on): Add stdint.
42776         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
42778 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42780         obstack: remove __STDC__ conditionals
42781         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
42782         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
42783         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
42784         m4/include_next.m4 as the only gnulib-maintained places that still
42785         refer to __STDC__.
42787 2012-01-24  Bruno Haible  <bruno@clisp.org>
42789         havelib: Modern quoting.
42790         * build-aux/config.rpath: Quote 'like this', not `like this', as per
42791         the recent change to the GNU coding standards.
42793 2012-01-24  Bruno Haible  <bruno@clisp.org>
42795         stdint: Improve support for Android.
42796         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
42797         Reported by Simon Josefsson <simon@josefsson.org>.
42799 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42801         doc: omit trailing empty lines from INSTALL etc.
42802         * doc/Makefile (INSTALL): Omit trailing empty lines.
42803         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
42804         omit trailing empty lines.  This simplifies the build procedure.
42806 2012-01-23  Jim Meyering  <meyering@redhat.com>
42808         tests: avoid spurious warnings about gl_sockets_startup
42809         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
42810         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
42811         reporting a "statement with no effect".
42812         * tests/test-accept.c (main): Mark as "(void)".
42813         * tests/test-accept4.c (main): Likewise.
42814         * tests/test-bind.c (main): Likewise.
42815         * tests/test-connect.c (main): Likewise.
42816         * tests/test-getpeername.c (main): Likewise.
42817         * tests/test-getsockname.c (main): Likewise.
42818         * tests/test-getsockopt.c (main): Likewise.
42819         * tests/test-listen.c (main): Likewise.
42820         * tests/test-recv.c (main): Likewise.
42821         * tests/test-recvfrom.c (main): Likewise.
42822         * tests/test-send.c (main): Likewise.
42823         * tests/test-sendto.c (main): Likewise.
42824         * tests/test-setsockopt.c (main): Likewise.
42825         * tests/test-shutdown.c (main): Likewise.
42827 2012-01-21  Bruno Haible  <bruno@clisp.org>
42829         locale-fr.m4: Fix for Android.
42830         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
42831         failure of the test program on Bionic libc.
42833 2012-01-21  Jim Meyering  <meyering@redhat.com>
42835         bootstrap: fail when bootstrap_post_import_hook fails
42836         Otherwise, it's far too easy to miss diagnostics emitted
42837         between gnulib-tool's output and that of running configure.
42838         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
42840 2012-01-17  Jim Meyering  <meyering@redhat.com>
42842         maint: enable sc_trailing_blank
42843         * build-aux/pmccabe.css: Remove trailing blanks.
42844         * doc/acl-cygwin.txt: Likewise.
42845         * doc/gnu-oids.texi: Likewise
42846         * cfg.mk: Enable sc_trailing_blank.
42847         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
42849 2012-01-17  Jim Meyering  <meyering@redhat.com>
42851         maint: enable sc_prohibit_openat_without_use
42852         * cfg.mk: Enable sc_prohibit_openat_without_use.
42853         Exempt lib/selinux-at.c.
42855 2012-01-17  Jim Meyering  <meyering@redhat.com>
42857         maint: enable sc_prohibit_cloexec_without_use
42858         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
42859         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
42861 2012-01-17  Jim Meyering  <meyering@redhat.com>
42863         maint: enable sc_prohibit_intprops_without_use
42864         * cfg.mk: Enable sc_prohibit_intprops_without_use
42865         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
42867 2012-01-17  Jim Meyering  <meyering@redhat.com>
42869         maint: enable sc_prohibit_hash_pjw_without_use
42870         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
42871         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
42872         to match any use of \<hash_pjw\>, i.e., not necessarily with a
42873         following " (".
42875 2012-01-17  Jim Meyering  <meyering@redhat.com>
42877         maint: enable double-word-prohibiting rule
42878         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
42879         Exempt three files.
42881 2012-01-17  Jim Meyering  <meyering@redhat.com>
42883         maint: remove empty lines at EOF, but excluding modules/*
42884         Apply syntax rules at home as well as abroad.  Most changes
42885         were induced by running this:
42886           make srcdir=. _build-aux=build-aux -f top/maint.mk \
42887             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
42888             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
42889         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
42890         Exempt modules/* and two binary files.
42891         Also exempt doc/INSTALL*, per request from Bruno Haible.
42892         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
42893         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
42894         * doc/Copyright/request-assign.future: Likewise.
42895         * doc/Copyright/request-disclaim.changes: Likewise.
42896         * doc/INSTALL: Likewise.
42897         * doc/INSTALL.ISO: Likewise.
42898         * doc/INSTALL.UTF-8: Likewise.
42899         * doc/acl-cygwin.txt: Likewise.
42900         * doc/acl-resources.txt: Likewise.
42901         * doc/fdl-1.2.texi: Likewise.
42902         * doc/fdl-1.3.texi: Likewise.
42903         * doc/fdl.texi: Likewise.
42904         * lib/argp-pin.c: Likewise.
42905         * lib/round.c: Likewise.
42906         * lib/unicase/u16-totitle.c: Likewise.
42907         * lib/unictype/block_test.c: Likewise.
42908         * lib/uninorm/canonical-decomposition.c: Likewise.
42909         * m4/README: Likewise.
42910         * m4/relocatable-lib.m4: Likewise.
42911         * tests/test-isnand-nolibm.c: Likewise.
42912         * tests/test-isnand.c: Likewise.
42913         * tests/uninorm/NormalizationTest.txt: Likewise.
42915 2012-01-17  Jim Meyering  <meyering@redhat.com>
42917         maint: add framework to run syntax-check rules against gnulib sources
42918         * cfg.mk: New file, to disable all currently-failing tests.
42919         We'll enable them one by one, as they are made to pass.
42920         * Makefile (sc_maint): New rule.
42922 2012-01-21  Bruno Haible  <bruno@clisp.org>
42924         stdint: Add support for Android.
42925         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
42926         include the system's <stdint.h>.
42927         Reported by Simon Josefsson <simon@josefsson.org>.
42929 2012-01-19  Jim Meyering  <meyering@redhat.com>
42931         bootstrap: add bootstrap_post_import_hook
42932         Bison does still need something like the gnulib_mk_hook whose
42933         invocation I had to remove along with slurp in commit 767ccd40.
42934         Technically, we could get along without it, but doing so would
42935         have required living with a warning and a mandatory post-bootstrap
42936         automake rerun.
42937         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
42938         (bootstrap_post_import_hook): New function.
42939         Invoke it after gnulib-tool --import and before autoreconf.
42941 2012-01-18  Jim Meyering  <meyering@redhat.com>
42943         gitlog-to-changelog: don't use "no_"-prefixed variable name
42944         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
42945         to enable both --cluster and --no-cluster.  Change variable name,
42946         s/\$no_cluster/$cluster/, and reverse usage to match.
42948         gitlog-to-changelog: use "||", not "or" in expressions
42949         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
42950         expressions.
42952 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
42954         gitlog-to-changelog: new option --no-cluster
42955         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
42956         clustering of adjacent commit messages.
42958 2012-01-17  Jim Meyering  <meyering@redhat.com>
42960         maint: spell file systems with two words, not one
42961         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
42962         two words, not one.
42964 2012-01-16  Jim Meyering  <meyering@redhat.com>
42966         bootstrap: add a FIXME comment to ensure we eventually remove the hack
42967         * build-aux/bootstrap (gnulib_tool_options): Add comment.
42969 2012-01-16  Eric Blake  <eblake@redhat.com>
42971         bootstrap: cater to autoconf 2.59
42972         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
42973         is not available.
42975         bootstrap: properly check for libtool
42976         * build-aux/bootstrap (libtoolize): Also run libtool when older
42977         usage is detected.
42979 2012-01-15  Bruno Haible  <bruno@clisp.org>
42981         Improve support for MSVC 9.
42982         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
42983         clashes on MSVC.
42984         * lib/fcntl.in.h: Likewise.
42985         * lib/stdlib.in.h: Likewise.
42986         * lib/sys_stat.in.h: Likewise.
42988 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
42990         gnupload: we hold the master copy of this script now
42991         For motivation and more information, see:
42992         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
42993         * build-aux/gnupload: Make it clear in the heading comments that the
42994         master copy of this file is maintained by gnulib.  Since we are at
42995         it, bump its copyright year and ...
42996         ($scriptversion): ... the date in its version.
42997         ($usage): Patches and bug reports should be sent to the gnulib list,
42998         not the automake one.
42999         * config/srclist.txt: Don't try to sync 'gnupload' from automake
43000         anymore.
43002 2012-01-15  Bruno Haible  <bruno@clisp.org>
43004         Fix module 'random'.
43005         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
43006         initstate, setstate are declared.
43008 2012-01-14  Bruno Haible  <bruno@clisp.org>
43010         Tests for module 'random'.
43011         * modules/random-tests: New file.
43012         * tests/test-random.c: New file, based on tests/test-random_r.c.
43014         New module 'random'.
43015         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
43016         declarations.
43017         * lib/random.c: New file, based on glibc/stdlib/random.c.
43018         * m4/random.m4: New file.
43019         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
43020         HAVE_RANDOM.
43021         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
43022         * modules/random: New file.
43023         * config/srclist.txt: Add an entry for random.c.
43024         * doc/posix-functions/random.texi: Mention the 'random' module.
43025         * doc/posix-functions/initstate.texi: Likewise.
43026         * doc/posix-functions/setstate.texi: Likewise.
43027         * doc/posix-functions/srandom.texi: Likewise.
43029 2012-01-12  Bruno Haible  <bruno@clisp.org>
43031         random_r: Use common idioms.
43032         * lib/random_r.c: Include <stdlib.h> first.
43034         random_r: Override incompatible API on AIX, OSF/1.
43035         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
43036         Override the system function if REPLACE_RANDOM_R is 1.
43037         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
43038         and OSF/1, set REPLACE_RANDOM_R.
43039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
43040         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
43041         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
43042         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
43043         * doc/glibc-functions/random_r.texi: Likewise.
43044         * doc/glibc-functions/setstate_r.texi: Likewise.
43046         random_r: Support for MSVC 9.
43047         * lib/random_r.c: Include stdint.h, not inttypes.h.
43049 2012-01-12  Eric Blake  <eblake@redhat.com>
43051         inet_ntop: guard extra work by IF_LINT
43052         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
43053         better code generation when not checking for warnings.
43054         Suggested by Paul Eggert and Jim Meyering.
43056         strptime: fix regression on mingw
43057         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
43058         Fix regression.  Reported by Bruno Haible.
43060 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
43061             Bruno Haible  <bruno@clisp.org>
43063         copy-file: add error-code-returning variant.
43064         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
43065         (qcopy_file_preserving): New declaration.
43066         * lib/copy-file.c (qcopy_file_preserving): Renamed from
43067         copy_file_preserving. Change return type to 'int'. Don't emit an error
43068         message here.
43069         (copy_file_preserving): New function.
43070         * tests/test-copy-file.c: Include <stdlib.h>.
43071         (main): Test qcopy_file_preserving if the environment variable
43072         NO_STDERR_OUTPUT is set.
43073         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
43074         with NO_STDERR_OUTPUT
43075         * tests/test-copy-file-2.sh: Likewise.
43077 2012-01-10  Bruno Haible  <bruno@clisp.org>
43079         copy-file: Use 'quote' module consistently.
43080         * lib/copy-file.c (copy_file_preserving): Use quote().
43082         copy-file: Refactor.
43083         * lib/copy-file.c: Include quote.h.
43084         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
43085         message here.
43086         * modules/copy-file (Depends-on): Add quote.
43088         acl: Export qcopy_acl.
43089         * lib/acl.h (qcopy_acl): New declaration.
43090         * lib/copy-acl.c (qcopy_acl): Make non-static.
43092         acl: Rename a local variable.
43093         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
43095         acl: Align return values of copy_acl and qcopy_acl.
43096         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
43097         maybe < -1.
43099 2012-01-11  Eric Blake  <eblake@redhat.com>
43101         strptime: silence gcc warnings
43102         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
43103         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
43104         Reported by Daniel P. Berrange.
43106         inet_ntop: silence gcc warning
43107         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
43108         Reported by Daniel P. Berrange.
43110 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
43112         getloadavg test: skip the test on GNU/Linux without /proc mounted
43113         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
43114         file.  When /proc is not mounted, it always fails with ENOENT.
43115         * tests/test-getloadavg.c (main): Treat ENOENT return code from
43116         getloadavg(3) the same way as ENOSYS and ENOTSUP.
43118 2012-01-10  Bruno Haible  <bruno@clisp.org>
43120         regex: Avoid link error on MSVC 9.
43121         * modules/regex (Depends-on): Add wctype.
43123 2012-01-10  Bruno Haible  <bruno@clisp.org>
43125         doc: Mention --with-tests option.
43126         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
43127         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
43128         --with-tests.
43129         Reported by Reuben Thomas.
43131 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
43133         users.txt: order package names lexicographically.
43134         * users.txt: Order package names lexicographically.
43136 2012-01-10  Jim Meyering  <meyering@redhat.com>
43138         maint.mk: fix description in comment
43139         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
43141         ignore-value: remove deprecated ignore_ptr function
43142         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
43143         * NEWS: Note this.
43145 2012-01-09  Jim Meyering  <meyering@redhat.com>
43147         test-init.sh: avoid a subshell
43148         * tests/test-init.sh: Remove protective subshell.
43149         Suggested by Bernhard Voelker.  While a subshell is normally
43150         required to protect against older shells (Solaris, FreeBSD) that
43151         warn about a missing program before performing redirection, the
43152         shell-selection tests performed by init.sh probably exclude any
43153         offending shell.
43155 2012-01-08  Bruno Haible  <bruno@clisp.org>
43157         setlocale tests: Avoid test failure on Solaris 11.0.
43158         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
43159         variable.
43161 2012-01-08  Bruno Haible  <bruno@clisp.org>
43163         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
43164         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43165         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43166         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
43167         macro.
43168         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
43169         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43170         * lib/spawn_faction_addopen.c: Add workaround implementation if
43171         HAVE_WORKING_POSIX_SPAWN.
43172         * modules/spawn (Makefile): Substitute
43173         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43174         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
43175         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
43176         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43177         (Depends-on): Update conditions.
43178         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43179         the Solaris 11 bug.
43181 2012-01-08  Bruno Haible  <bruno@clisp.org>
43183         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
43184         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43185         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43186         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
43187         macro.
43188         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
43189         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43190         * lib/spawn_faction_adddup2.c: Add workaround implementation if
43191         HAVE_WORKING_POSIX_SPAWN.
43192         * modules/spawn (Makefile): Substitute
43193         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43194         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
43195         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
43196         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43197         (Depends-on): Update conditions.
43198         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43199         the Solaris 11 bug.
43201 2012-01-08  Bruno Haible  <bruno@clisp.org>
43203         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
43204         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43205         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43206         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
43207         HAVE_WORKING_POSIX_SPAWN.
43208         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
43209         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
43210         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43211         * lib/spawn_faction_addclose.c: Add workaround implementation if
43212         HAVE_WORKING_POSIX_SPAWN.
43213         * modules/spawn (Makefile): Substitute
43214         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43215         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
43216         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
43217         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43218         (Depends-on): Update conditions.
43219         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43220         the Solaris 11 bug.
43222 2012-01-08  Bruno Haible  <bruno@clisp.org>
43224         doc: Update for Solaris 11.0.
43225         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
43226         * m4/printf.m4: Update comments.
43228 2012-01-08  Bruno Haible  <bruno@clisp.org>
43230         mktime: Avoid compilation error on Solaris 11.
43231         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
43233 2012-01-08  Bruno Haible  <bruno@clisp.org>
43235         doc: Small fix.
43236         * doc/posix-headers/nl_types.texi: Correct platforms list.
43238 2012-01-08  Simon Josefsson  <simon@josefsson.org>
43240         Add lgpl-3.0 module.
43241         * MODULES.html.sh (Support for building documentation): Add
43242         lgpl-3.0.
43243         * modules/lgpl-3.0: New file.
43245 2012-01-08  Jim Meyering  <meyering@redhat.com>
43247         select.c: indent with spaces, not TABs
43248         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
43250 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43252         quotearg: do not use grave accent for left quote
43253         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
43254         locale_quoting_style.
43255         (quotearg_buffer_restyled): Fix example.
43256         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
43258 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43260         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
43261         Most programs do not have translation catalogs for English and much
43262         less separate catalogs for British and American English.  Drop the
43263         suggestion to translators about these two, and provide it
43264         automatically for Unicode locales.  Like most programs, even those
43265         using American English, we use single quotation marks.  This conflicts
43266         with the American typographic convention, but works better when you
43267         cite the entire error message within double quotes.  It also tries not
43268         to clash with established practice and with what non-gnulib programs
43269         will usually do.
43270         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
43271         using an UTF-8 or GB-18030 locale.  The list of other locales with
43272         quotes was provided by Bruno Haible.
43273         (quotearg_buffer_restyled): Adjust instructions to translators.
43274         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
43275         text, since this would be wrong when using Unicode.
43276         * modules/quotearg: Depend on c-strcaseeq.
43278 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43280         quotearg: fix Wikipedia link
43281         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
43283 2012-01-07  Simon Josefsson  <simon@josefsson.org>
43285         Fix for mingw with MSVC9.
43286         * m4/ld-version-script.m4: Check that compiler rejects version
43287         scripts with syntax errors.  Reported by Bruno Haible
43288         <bruno@clisp.org>.
43290 2012-01-06  Bruno Haible  <bruno@clisp.org>
43292         Talk about "native Windows API", not "Woe32".
43293         * lib/accept4.c: Update comments to mention native Windows.
43294         * lib/execute.c: Likewise.
43295         * lib/fatal-signal.c: Likewise.
43296         * lib/localcharset.c: Likewise.
43297         * lib/nanosleep.c: Likewise.
43298         * lib/nl_langinfo.c: Likewise.
43299         * lib/pclose.c: Likewise.
43300         * lib/pipe-filter-gi.c: Likewise.
43301         * lib/pipe-filter-ii.c: Likewise.
43302         * lib/pipe.c: Likewise.
43303         * lib/pipe2.c: Likewise.
43304         * lib/popen.c: Likewise.
43305         * lib/progreloc.c: Likewise.
43306         * lib/relocatable.c: Likewise.
43307         * lib/sigaction.c: Likewise.
43308         * lib/sigprocmask.c: Likewise.
43309         * lib/spawn-pipe.h: Likewise.
43310         * lib/spawn-pipe.c: Likewise.
43311         * lib/spawni.c: Likewise.
43312         * lib/stat-time.h: Likewise.
43313         * lib/w32spawn.h: Likewise.
43314         * tests/test-isatty.c: Likewise.
43315         * lib/config.charset: More comments.
43316         * doc/gnulib-intro.texi: Mention native Windows.
43317         * doc/posix-functions/_Exit_C99.texi: Likewise.
43318         * doc/posix-headers/fcntl.texi: Likewise.
43320 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
43322         argp: Avoid crash if translator uses % characters in a translation.
43323         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
43324         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43326 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
43328         doc: C11 and C++11 are now official
43329         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
43330         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
43331         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
43332         * modules/stdalign:
43333         Replace references to draft C1X to C11, and to draft C++0X to C++11.
43335 2012-01-06  Bruno Haible  <bruno@clisp.org>
43337         uc-is-grapheme-break tests: Tweak.
43338         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
43339         message.
43341 2012-01-06  Bruno Haible  <bruno@clisp.org>
43343         test-init.sh: correct the test for diff -u
43344         * tests/test-init.sh: Also redirect stdout to /dev/null.
43346 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43348         Use ', not `, for quoting output.
43349         * build-aux/announce-gen (usage, sizes, print_news_deltas)
43350         (print_changelog_deltas, get_tool_versions, main program):
43351         * build-aux/git-version-gen:
43352         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
43353         * build-aux/move-if-change (help):
43354         * build-aux/useless-if-before-free (usage, main program):
43355         * check-module (parse_module_file, usage)
43356         (find_included_lib_files, check_module):
43357         * lib/argmatch.c (main) [TEST]:
43358         * lib/argp-help.c (_help):
43359         * lib/getopt1.c (main) [TEST]:
43360         * lib/git-merge-changelog.c (usage):
43361         * lib/xstrtol-error.c (xstrtol_error):
43362         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
43363         * m4/argz.m4 (gl_FUNC_ARGZ):
43364         * m4/bison.m4 (gl_BISON):
43365         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
43366         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
43367         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
43368         * m4/fpending.m4 (gl_PREREQ_FPENDING):
43369         * m4/gc-random.m4 (gl_GC_RANDOM):
43370         * m4/intl.m4 (gt_CHECK_DECL):
43371         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
43372         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
43373         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
43374         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
43375         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
43376         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
43377         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
43378         * tests/test-dirname.c (main):
43379         * tests/test-getpass.c (main):
43380         * tests/test-iconvme.c (main):
43381         * tests/test-parse-datetime.c (LOG):
43382         * tests/test-xstrtoimax.sh:
43383         * tests/test-xstrtol.sh:
43384         * tests/test-xstrtoll.sh:
43385         * tests/test-xstrtoumax.sh:
43386         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
43387         * top/GNUmakefile (abort-due-to-no-makefile):
43388         Quote 'like this', not `like this', as per the recent change to
43389         the GNU coding standards.
43391 2012-01-05  Bruno Haible  <bruno@clisp.org>
43393         strtoimax: Don't force a replacement on systems where intmax_t is int.
43394         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
43395         'intmax_t' is not larger than 'int'.
43396         Reported by Pádraig Brady <P@draigBrady.com>.
43398 2012-01-05  Bruno Haible  <bruno@clisp.org>
43400         doc: Mention NetBSD bugs.
43401         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
43402         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
43404 2012-01-05  Bruno Haible  <bruno@clisp.org>
43406         strtoumax tests: Enhance tests.
43407         * tests/test-strtoumax.c (main): Add tests for large values.
43409 2012-01-05  Bruno Haible  <bruno@clisp.org>
43411         strtoimax: Work around AIX 5.1 bug.
43412         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
43413         definition.
43414         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
43415         Set HAVE_STRTOIMAX.
43416         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
43417         REPLACE_STRTOIMAX.
43418         * modules/inttypes-incomplete (Makefile.am): Substitute
43419         REPLACE_STRTOIMAX.
43420         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
43421         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
43422         (Depends-on): Update conditions.
43423         * tests/test-strtoimax.c (main): Add tests for large values.
43424         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
43426 2012-01-05  Bruno Haible  <bruno@clisp.org>
43428         inttypes: Modernize.
43429         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
43430         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
43431         (Makefile.am): Update inttypes.h rule.
43433 2012-01-05  Jim Meyering  <meyering@redhat.com>
43435         init.sh: don't waste a subshell just to redirect stderr
43436         * tests/init.sh: In testing for diff -u and diff -c, use a
43437         stderr-redirecting exec inside `...` rather than a subshell.
43439         test-init.sh: avoid failure on HP-UX 11.00
43440         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
43441         resolves to diff -c or cmp.  Reported by Bruno Haible.
43443 2012-01-05  Bruno Haible  <bruno@clisp.org>
43445         Tests for module 'strtoull'.
43446         * modules/strtoull-tests: New file.
43447         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
43449 2012-01-05  Bruno Haible  <bruno@clisp.org>
43451         Tests for module 'strtoll'.
43452         * modules/strtoll-tests: New file.
43453         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
43455 2012-01-05  Bruno Haible  <bruno@clisp.org>
43457         Tests for module 'strtoul'.
43458         * modules/strtoul-tests: New file.
43459         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
43461 2012-01-05  Bruno Haible  <bruno@clisp.org>
43463         Tests for module 'strtol'.
43464         * modules/strtol-tests: New file.
43465         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
43467 2012-01-04  Jim Meyering  <meyering@redhat.com>
43469         test-init.sh: accommodate Solaris 5.10's different diff -u output
43470         * tests/test-init.sh: Also exempt @@ lines from the comparison
43471         of diff output, since Solaris 5.10 and GNU diff formats differ.
43472         Reported by Stefano Lattarini.
43474 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43476         test-posixtm: don't assume signed integer wraparound
43477         * tests/test-posixtm.c (main): Don't assume wraparound semantics
43478         after signed integer overflow.  Inspired by (though it may not
43479         fix) Bruno Haible's bug report in
43480         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
43482         Spell out "Windows 9x" and "Windows XP".
43483         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
43484         "Windows 9x" and "WinXP" with "Windows XP".
43486 2012-01-04  Jim Meyering  <meyering@redhat.com>
43488         test-vc-list-files-cvs.sh: remove obsolete comment
43489         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
43490         double exit.  Now that's all encapsulated via skip_ and Exit.
43492 2012-01-04  Bruno Haible  <bruno@clisp.org>
43494         Talk about "native Windows API", not "Win32".
43495         * lib/classpath.c: Update comments to mention native Windows.
43496         * lib/csharpexec.c: Likewise.
43497         * lib/dup2.c: Likewise.
43498         * lib/error.c: Likewise.
43499         * lib/fcntl.c: Likewise.
43500         * lib/filename.h: Likewise.
43501         * lib/findprog.c: Likewise.
43502         * lib/get-rusage-as.c: Likewise.
43503         * lib/get-rusage-data.c: Likewise.
43504         * lib/getpagesize.c: Likewise.
43505         * lib/javaexec.c: Likewise.
43506         * lib/msvc-inval.c: Likewise.
43507         * lib/msvc-nothrow.c: Likewise.
43508         * lib/nanosleep.c: Likewise.
43509         * lib/nonblocking.c: Likewise.
43510         * lib/printf-parse.c: Likewise.
43511         * lib/setlocale.c: Likewise.
43512         * lib/sigaction.c: Likewise.
43513         * lib/strerror_r.c: Likewise.
43514         * lib/tmpdir.c: Likewise.
43515         * lib/vasnprintf.c: Likewise.
43516         * lib/w32spawn.h: Likewise.
43517         * lib/waitpid.c: Likewise.
43518         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
43519         * m4/locale-ar.m4: Likewise.
43520         * m4/locale-fr.m4: Likewise.
43521         * m4/locale-ja.m4: Likewise.
43522         * m4/locale-tr.m4: Likewise.
43523         * m4/locale-zh.m4: Likewise.
43524         * m4/printf.m4: Likewise.
43525         * tests/test-cloexec.c: Likewise.
43526         * tests/test-copy-acl.sh: Likewise.
43527         * tests/test-copy-file.sh: Likewise.
43528         * tests/test-file-has-acl.sh: Likewise.
43529         * tests/test-set-mode-acl.sh: Likewise.
43530         * tests/test-dup-safer.c: Likewise.
43531         * tests/test-dup2.c: Likewise.
43532         * tests/test-dup3.c: Likewise.
43533         * tests/test-fcntl.c: Likewise.
43534         * tests/test-nonblocking-pipe.h: Likewise.
43535         * tests/test-nonblocking-socket.h: Likewise.
43536         * tests/test-pipe.c: Likewise.
43537         * tests/test-pipe2.c: Likewise.
43538         * tests/test-spawn-pipe-child.c: Likewise.
43539         * doc/acl-resources.txt: Likewise.
43540         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43541         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
43542         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
43543         * lib/localcharset.c: Update comments to mention native Windows.
43544         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43545         * lib/localename.c: Likewise.
43546         * lib/progreloc.c: Likewise.
43547         * lib/relocatable.c: Likewise.
43548         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
43549         (windows_compute_revents): Renamed from win32_compute_revents.
43550         (windows_compute_revents_socket): Renamed from
43551         win32_compute_revents_socket.
43552         * lib/select.c: Update comments to mention native Windows.
43553         (windows_poll_handle): Renamed from win32_poll_handle.
43554         * m4/threadlib.m4: Update comments to mention native Windows.
43555         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
43556         --enable-threads=windows instead of --enable-threads=win32. Set
43557         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
43558         * lib/glthread/lock.h: Update comments to mention native Windows.
43559         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
43560         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
43561         USE_WIN32_THREADS.
43562         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
43563         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
43564         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
43565         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
43566         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
43567         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
43568         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
43569         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
43570         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
43571         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
43572         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
43573         * tests/test-tls.c: Likewise.
43574         Rationale:
43575         Microsoft renamed the "Win32 API" to "Windows API", as it is available
43576         on both 32-bit and 64-bit Windows systems.
43577         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
43578         line of distinction is between "native Windows" on one side and Unix/
43579         POSIX systems on the other side. More details in
43580         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
43581         Suggested by Paul Eggert.
43583 2012-01-03  Bruno Haible  <bruno@clisp.org>
43585         isatty: Support for MSVC 9.
43586         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
43587         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
43588         (_isatty_nothrow): New function.
43589         (isatty): Use it instead of _isatty.
43590         (IsConsoleHandle): Add comment, from Paolo Bonzini.
43591         * lib/poll.c (IsConsoleHandle): Likewise.
43592         * lib/select.c (IsConsoleHandle): Likewise.
43593         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
43594         (gl_PREREQ_ISATTY): New macro.
43595         * modules/isatty (Depends-on): Add msvc-inval.
43596         (configure.ac): Invoke gl_PREREQ_ISATTY.
43598 2012-01-03  Jim Meyering  <meyering@redhat.com>
43600         maint.mk: remove temporary transition aid from over 1.5 years ago
43601         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
43602         purpose was to aid in the transition (avoiding silent malfunction)
43603         from that old name to the new _sc_search_regexp.  This shim was
43604         added by commit 219c504b.
43606         init.sh: do not try to accommodate compare arguments starting with "-"
43607         * tests/init.sh (compare_dev_null_): Do not try to accommodate
43608         compare arguments that start with "-".  Besides, we do not worry
43609         about this when invoking diff or cmp; why start now with sed?
43610         Using "--" to separate options from argument would trigger sed
43611         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
43612         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
43614 2012-01-02  Bruno Haible  <bruno@clisp.org>
43616         Enhance tests for module 'isatty'.
43617         * modules/isatty-tests (Depends-on): Add pipe-posix.
43618         * tests/test-isatty.c: Include <fcntl.h>.
43619         (DEV_NULL): New macro.
43620         (main): Test the resut of isatty() also on regular files, pipes, and
43621         /dev/null.
43623         New module 'isatty'.
43624         * lib/unistd.in.h (isatty): New declaration.
43625         * lib/isatty.c: New file, based on an idea of
43626         Bastien Roucariès <roucaries.bastien@gmail.com>.
43627         * m4/isatty.m4: New file.
43628         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
43629         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
43630         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
43631         REPLACE_ISATTY.
43632         * modules/isatty: New file.
43633         * doc/posix-functions/isatty.texi: Mention the new module.
43634         Suggested by Paolo Bonzini.
43636 2012-01-02  Bruno Haible  <bruno@clisp.org>
43638         canonicalize: Tweak 2011-12-29 commit.
43639         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
43640         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
43642 2012-01-02  Jim Meyering  <meyering@redhat.com>
43644         gitlog-to-changelog: describe input syntax in --help output
43645         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
43647         gitlog-to-changelog: fix typo in --help: show backslash before email @
43648         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
43649         in sources, but not in actual output.
43651 2011-12-30  Jim Meyering  <meyering@redhat.com>
43653         gitlog-to-changelog: don't malfunction when name contains %-directive
43654         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
43655         in a name string cause trouble.  E.g., with a user name of "%s",
43656         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
43658 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
43660         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
43661         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
43662         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
43663         the "  (tiny change)" notation that is appended to the standard
43664         ChangeLog "date  name  email" header line.
43666 2012-01-01  Jim Meyering  <meyering@redhat.com>
43668         test-framework-sh: init.sh: fix "make dist" failure
43669         When using gnulib-tool's --with-tests option and any module that
43670         depends on test-framework-sh, "make dist" would fail due to the
43671         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
43672         in the gltests directory, and not in the gllib/ directory.
43673         One way to work around that is to move the EXTRA_DIST += init.sh
43674         from the primary module to the -tests one:
43675         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
43676         * modules/test-framework-sh (Makefile.am): ...not here.
43677         Reported by Tom G. Christensen in
43678         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
43680         version-etc: update copyright year reported by --version
43681         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
43683 2011-12-31  Pádraig Brady  <P@draigBrady.com>
43685         canonicalize: only stat() if required
43686         * lib/canonicalize.c (canonicalize_filename_mode):
43687         Avoid calling l?stat() when both CAN_MISSING,
43688         and CAN_NOLINKS are set, as we neither need
43689         to resolve symlinks or test component existence.
43691 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
43693         doc: cover st_ino issues once; add OpenVMS etc.
43694         * doc/posix-functions/stat.texi (stat):
43695         * doc/posix-functions/lstat.texi (lstat):
43696         * doc/posix-functions/fstatat.texi (fstatat):
43697         * doc/posix-functions/fstat.texi (fstat):
43698         Move general 'struct stat' stuff to sys_stat.texi,
43699         leaving behind a pointer.
43700         * doc/posix-headers/sys_stat.texi (sys/stat.h):
43701         Merge duplicate info about 'struct stat' problems into here.
43702         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
43703         and suggest partial workarounds.
43705         same-inode: port to OpenVMS
43706         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
43707         three st_ino values.
43709 2011-12-30  Pádraig Brady  <P@draigBrady.com>
43711         canonicalize: fix references to stat() and lstat()
43712         * lib/canonicalize.c (canonicalize_filename_mode):
43713         Ensure references always resolve to a replacement
43714         function if required (even via a macro).
43716 2011-12-30  Jim Meyering  <meyering@redhat.com>
43718         gitlog-to-changelog: remove a little duplication
43719         * build-aux/gitlog-to-changelog (main): Grep @lines once,
43720         rather than twice.
43722 2011-12-29  Pádraig Brady  <P@draigBrady.com>
43724         canonicalize: add support for not resolving symlinks
43725         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
43726         indicate we don't want to follow symlinks.  Also
43727         provide CAN_MODE_MASK to aid setting these existing
43728         mutually exclusive values.
43729         * lib/canonicalize.c (canonicalize_filename_mode):
43730         Extract the flags from can_mode parameter, which
43731         are currently just used to select between stat()
43732         and lstat().  Also ensure that mutually exclusive
43733         values are flagged immediately as invalid.
43734         * tests/test-canonicalize.c: Verify symlinks are
43735         not followed, and that invalid flag combinations
43736         are diagnosed.
43738 2011-12-25  Jim Meyering  <meyering@redhat.com>
43740         gitlog-to-changelog: do not clump multi-paragraph entries
43741         Identical header lines (date,name,email+coauthors) are suppressed,
43742         thus putting all entries with those same characteristics under
43743         a single header.  However, when a log entry consists of two or
43744         more paragraphs, it may not be clear where it starts and ends.
43745         This change makes it so that such an entry is always separated
43746         from others by a header line, even when that header would
43747         otherwise be suppressed.
43748         * build-aux/gitlog-to-changelog: Implement the above.
43749         Inspired by a related request from Stefano Lattarini in
43750         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
43752 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43754         announce-gen: fix `cmd' typo in diagnostic
43755         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
43756         diagnostic: a missing '$' meant that the command was not output.
43758 2011-12-23  Jim Meyering  <meyering@redhat.com>
43760         test-framework-sh: distribute init.sh
43761         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
43762         Otherwise, "make -C gnulib-tests check" (at least in grep) would
43763         fail due to the lack of init.sh.
43765         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
43766         * modules/atexit-tests: Rather than listing tests/init.sh,
43767         now that there's a module for it, simply depend on that new module.
43768         * modules/closein-tests: Likewise.
43769         * modules/exclude-tests: Likewise.
43770         * modules/getcwd-tests: Likewise.
43771         * modules/perror-tests: Likewise.
43772         * modules/pread-tests: Likewise.
43773         * modules/pwrite-tests: Likewise.
43774         * modules/vc-list-files-tests: Likewise.
43775         * modules/verify-tests: Likewise.
43776         * modules/xalloc-die-tests: Likewise.
43777         * modules/xstrtoimax-tests: Likewise.
43778         * modules/xstrtol-tests: Likewise.
43779         * modules/xstrtoll-tests: Likewise.
43780         * modules/xstrtoumax-tests: Likewise.
43781         * modules/yesno-tests: Likewise.
43783 2011-12-22  Jim Meyering  <meyering@redhat.com>
43785         test-framework-sh: add minimal tests of init.sh's compare function
43786         * modules/test-framework-sh-tests: New file.
43787         * tests/test-init.sh: New file.
43789         test-framework-sh: new module
43790         * modules/test-framework-sh: New file.
43791         * MODULES.html.sh (Support for maintaining and releasing projects):
43792         List it.
43794         init.sh: do not emit simulated diff output to stderr
43795         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
43797 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43799         .gitignore: ignore gnulib.dvi and regex.info
43800         * doc/.gitignore:add gnulib.dvi and regex.info
43802 2011-12-22  Jim Meyering  <meyering@redhat.com>
43804         init.sh: correct previous change
43805         * tests/init.sh (compare): My previous change was wrong.
43806         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
43808         init.sh: avoid unwarranted test failure when using "set -e"
43809         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
43810         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
43811         a use like "compare exp out" would get evoke an unconditional failure.
43813 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
43815         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
43816         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
43817         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
43818         autoreconf that did not.
43819         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
43820         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43822 2011-12-17  Jim Meyering  <meyering@redhat.com>
43824         bootstrap: remove some now-unneeded code
43825         This script arose back when gnulib-tool was young.
43826         Since then, it has seen improvements that render much of this
43827         script unnecessary.  In particular, it can now make symlinks
43828         to the files it uses.  Also, I no longer see as much value in
43829         marking files as read-only via comments.
43830         If you relied on the symlink-creation feature of the preceding
43831         version of this script, you can get most of that functionality
43832         by adding the --symlink option to the definition of
43833         gnulib_tool_option_extras in your bootstrap.conf file.
43834         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
43835         Run autopoint and libtoolize *before* gnulib-tool.
43836         After it, run an abbreviated autoreconf, rather than a loop around
43837         all tools.
43838         (slirp, bt_mark_as_generated): Remove functions.
43840 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43842         ftoastr: fix typo
43843         * lib/ftoastr.h: Fix misspelling in comment.
43845 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
43847         * top/README-release: fix punctuation.
43849 2011-12-17  Jim Meyering  <meyering@redhat.com>
43851         bootstrap: correct the recent buildreq change
43852         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
43853         had no effect.
43854         * build-aux/bootstrap (buildreq): Bracket each search term with
43855         "*...*", so that the shell "case" statement works as intended.
43856         Add comments.
43858 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
43860         build: let bootstrap resort to wget when downloading .po files
43861         * build-aux/bootstrap (download_po_files): Fallback to wget when
43862         downloading the .po files via rsync fails.  This is necessary to
43863         bootstrap from behind a strict firewall.
43865 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
43867         stdint: don't assume C++11 when compiling with g++
43868         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
43869         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
43870         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
43871         work also in C++ before C++11, as that improperly inhibits
43872         generating a substitute stdint.h for that case.
43874 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
43876         alloca: protect comment from gnulib-tool
43877         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
43878         that gnulib-tool doesn't think it's a license, and munge it to
43879         say "GCC version 3".
43881 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
43883         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
43884         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
43885         $(abs_top_builddir) instead of $(top_builddir).
43887 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
43889         strftime-tests: also test nanoseconds
43890         * tests/test-strftime.c (T): Add a test of %N.
43892 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
43894         inttypes, stdint: add C++11 support
43895         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
43896         when including inttypes.h and stdint.h.  Support this change to
43897         the standard.
43898         * doc/posix-headers/inttypes.texi (inttypes.h):
43899         * doc/posix-headers/stdint.texi (stdint.h): Document this.
43900         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
43901         Define if not defined already, for the benefit of pre-C++11 hosts.
43902         Define the standard format macros (e.g., PRId8) always.
43903         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
43904         Likewise, if __cpluspus.  Define the standard constant and limit
43905         macros (e.g., INT8_C, INT8_MAX) always.
43906         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
43907         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
43908         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
43909         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
43910         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
43911         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
43912         Likewise.
43914 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
43916         nonblocking tests: Fix test failure on Linux/PPC.
43917         Suggested by Prerna Saxena in
43918         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
43919         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
43920         Set to 1100000.
43922 2011-12-12  Jim Meyering  <meyering@redhat.com>
43924         argmatch: don't hard-code `' when listing valid option arguments
43925         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
43926         use the quote function to add quotes.  Use fputs rather than
43927         fprintf for the format string with no format directive.
43929 2011-12-07  Eric Blake  <eblake@redhat.com>
43931         bootstrap: detect tools required by gnulib-tool
43932         * build-aux/bootstrap (buildreq): Provide minimum implicit
43933         dependencies.
43934         * DEPENDENCIES: Mention patch as a prereq.
43936 2011-12-04  Bruno Haible  <bruno@clisp.org>
43938         sethostname: Port to Windows platforms.
43939         * lib/sethostname.c: Provide an alternate implementation for Windows
43940         platforms.
43941         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
43942         (main): Skip the test if sethostname() fails with EPERM. On Windows
43943         platforms, don't check the result of gethostname().
43945 2011-12-04  Bruno Haible  <bruno@clisp.org>
43946             Jim Meyering  <meyering@redhat.com>
43948         tests: Avoid spurious error message on platforms without mktemp program.
43949         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
43951 2011-12-04  Bruno Haible  <bruno@clisp.org>
43953         sethostname: Fix documentation.
43954         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
43955         "not fixed" section.
43957 2011-12-03  Bruno Haible  <bruno@clisp.org>
43959         gnulib-tool: Verify that the License field is present and non-empty.
43960         * gnulib-tool (func_get_license_raw): New function, extracted from
43961         func_get_license.
43962         (func_get_license): Use it. Warn if the module is not a test module and
43963         has no license.
43964         Suggested by Jim Meyering.
43966 2011-12-03  Bruno Haible  <bruno@clisp.org>
43968         sethostname tests: Fix link error on mingw.
43969         * tests/test-sethostname1.c: New file, extracted from
43970         tests/test-sethostname.c.
43971         * tests/test-sethostname2.c: New file, extracted from
43972         tests/test-sethostname.c.
43973         * tests/test-sethostname.c: Remove file.
43974         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
43975         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
43976         (Depends-on): Add gethostname.
43977         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
43978         Link the latter with $(GETHOSTNAME_LIB).
43980         sethostname tests: Fix compilation error on mingw.
43981         * tests/test-sethostname.c: Don't include <sys/types.h>.
43982         (geteuid): Use a dummy value without uid_t.
43983         * modules/sethostname-tests (Depends-on): Remove sys_types.
43985         sethostname tests: Avoid a gcc warning.
43986         * tests/test-sethostname.c (main): Remove an unused variable.
43988         Tweak last commit.
43989         * modules/sethostname-tests (Files): Sort by decreasing importance.
43990         (configure.ac): Check for geteuid.
43991         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
43992         the test when there's nothing to test. Drop an unnecessary cast.
43993         Improve an error message. Verify that the final sethostname() call
43994         succeeds.
43996 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
43998         Add a test suite for the sethostname module.
43999         * modules/sethostname-tests: New file.  A test program
44000         for the sethostname module.
44001         * tests/test-sethostname.c: Likewise.
44003 2011-12-03  Bruno Haible  <bruno@clisp.org>
44005         Tweak last commit.
44006         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
44007         Fix preprocessor directives indentation. Fix typos.
44008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44009         * modules/unistd (Makefile): Likewise.
44011 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44013         Integrate the sethostname module into unistd.
44014         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
44015         into the unistd.h header.
44016         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
44017         preprocessor directives.
44018         * modules/unistd: Setup the Makefile substitutions of the
44019         SETHOSTNAME preprocessor directives.
44021 2011-12-03  Bruno Haible  <bruno@clisp.org>
44023         Tweak last commit.
44024         * lib/sethostname.c: Don't include <string.h>.
44025         (sethostname): No need to copy the argument string to the stack. Don't
44026         call clearerr. Preserve errno when fprintf failed.
44027         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
44028         Don't invoke AC_REPLACE_FUNCS.
44029         * modules/sethostname (Link): Remove empty section.
44030         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
44031         failure problem.
44033 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44035         New module 'sethostname'.
44036         * lib/sethostname.c (sethostname): New file.  Provide sethostname
44037         for systems that lack it.
44038         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
44039         sethostname declaration and function.
44040         * modules/sethostname: New file.  Define the sethostname module.
44042 2011-12-03  Bruno Haible  <bruno@clisp.org>
44044         Tweak last commit.
44045         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
44047 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44049         Split the HOST_NAME_MAX detection into a separate m4 macro.
44050         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
44051         macro so it can be used by the pending sethostname module.
44053 2011-12-03  Bruno Haible  <bruno@clisp.org>
44055         Fix module descriptions syntax.
44056         * modules/argv-iter (License): Fix syntax.
44057         * modules/di-set (License): Likewise.
44058         * modules/ino-map (License): Likewise.
44059         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
44061 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
44063         stdalign: port to Clang 3.0
44064         Problem reported by Simon Josefsson in
44065         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
44066         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
44067         which has <stdalign.h> but which does not define alignof.
44068         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
44070 2011-12-01  Eric Blake  <eblake@redhat.com>
44072         mktempd: silence dd usage
44073         * build-aux/mktempd (rand_bytes): Silence dd.
44075 2011-11-30  Simon Josefsson  <simon@josefsson.org>
44077         manywarnings: Don't mention gcc version in docstring.
44078         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
44079         Jim Meyering <meyering@redhat.com>.
44081 2011-11-30  Jim Meyering  <meyering@redhat.com>
44083         hash: mark a few floating point constants with "f" suffix
44084         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
44085         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
44086         floating point constants with "f", since they're destined to be
44087         saved/used as "float"s.
44089 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
44091         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
44092         * tests/test-float.c (test_long_double): Correct and re-enable the
44093         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
44095 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
44097         Avoid subtracting two pointers that don't point into the same block.
44098         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
44099         only pointers into the same memory block are subtracted. We cannot
44100         assume that sizeof (ptrdiff_t) == sizeof (void *).
44102 2011-11-29  Eric Blake  <eblake@redhat.com>
44104         maint.mk: add syntax check for use of compare from init.sh
44105         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
44106         moved here from coreutils.
44108         manywarnings: drop -Wunsuffixed-float-constants
44109         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
44110         '1.0D', which is the only way to silence this warning for 'double'.
44112 2011-11-29  Jim Meyering  <meyering@redhat.com>
44114         hash: mark compute_bucket_size with the pure attribute
44115         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
44117         quotearg, propername: correct pragma guard expression
44118         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
44119         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
44121 2011-11-28  Jim Meyering  <meyering@redhat.com>
44123         propername: do not mark proper_name with the const attribute
44124         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
44125         since it examines data pointed to by its parameter.
44126         * lib/propername.c (proper_name): Instead, add a pragma to suppress
44127         the suggestion from -Wsuggest-attribute=const.
44129         propername: mark one more function as const
44130         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
44132 2011-11-27  Jim Meyering  <meyering@redhat.com>
44134         mark functions with const and pure attributes
44136         Mark functions per suggestions from gcc-4.6 when using these options:
44137         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
44138         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
44139         Follow these guidelines: when possible, apply the attribute to
44140         an extern declaration, not to its definition.  Apply it to the
44141         definition only when the definition is static.
44142         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
44143         * lib/argv-iter.h (argv_iter_n_args): Likewise.
44144         * lib/base64.h (isbase64): Likewise.
44145         * lib/basename-lgpl.c (last_component, base_len): Likewise.
44146         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
44147         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
44148         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
44149         (c_tolower, c_toupper): Likewise.
44150         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
44151         * lib/chdir-long.c (find_non_slash): Likewise.
44152         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
44153         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
44154         * lib/file-type.h (file_type): Likewise.
44155         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
44156         * lib/filevercmp.c (verrevcmp): Likewise.
44157         * lib/freadahead.h (freadahead): Likewise.
44158         * lib/fts.c (fts_maxarglen): Likewise.
44159         * lib/hash-pjw.h (hash_pjw): Likewise.
44160         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
44161         * lib/hash.c (is_prime, next_prime): Likewise.
44162         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
44163         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
44164         (hash_table_ok, hash_get_first, hash_string): Likewise.
44165         (compute_bucket_size): Likewise.
44166         * lib/i-ring.h (i_ring_empty): Likewise.
44167         * lib/isnan.c (isnanl): Likewise.
44168         * lib/math.h (isnanl, rpl_isnanl): Likewise.
44169         * lib/memcasecmp.h (memcasecmp): Likewise.
44170         * lib/memchr2.h (memchr2): Likewise.
44171         * lib/memcmp2.h (memcmp2): Likewise.
44172         * lib/parse-datetime.y (lookup_zone): Likewise.
44173         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
44174         [!WINDOWS_SOCKETS]: Likewise.
44175         * lib/strnlen1.h (strnlen1): Likewise.
44176         * lib/uniwidth.in.h (uc_width): Likewise.
44177         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
44178         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
44179         (quoting_options_from_style): Add a comment.
44180         * lib/propername.h (proper_name): Add a comment.
44182 2011-11-27  Bruno Haible  <bruno@clisp.org>
44184         Remove unused macros from !_LIBC code in glibc-borrowed files.
44185         * lib/fnmatch.c (STRCOLL): Remove macro.
44186         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
44187         * lib/glob.c (__stat, __readdir64): Remove macros.
44188         * lib/tempname.c (__open64, __xstat64): Remove macros.
44189         Suggested by Paul Eggert.
44191 2011-11-27  Bruno Haible  <bruno@clisp.org>
44193         getcwd: Fix link error on MSVC 9.
44194         * modules/getcwd (Depends-on): Add readdir, rewinddir.
44196 2011-11-27  Bruno Haible  <bruno@clisp.org>
44198         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
44199         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
44200         HAVE_OPENDIR is 0.
44201         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
44202         HAVE_CLOSEDIR is 0.
44203         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
44204         is 0.
44205         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
44207 2011-11-27  Bruno Haible  <bruno@clisp.org>
44209         getcwd: Fix bug from 2011-08-17.
44210         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
44211         platforms that need it.
44212         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
44213         code of 4 to be a failure, not a success. This ensures that
44214         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
44216 2011-11-27  Bruno Haible  <bruno@clisp.org>
44218         binary-io tests: Avoid test failure on mingw when libtool is used.
44219         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
44220         Don't verify the size of t-bin-out1.tmp here.
44221         * tests/test-binary-io.sh: Verify it here.
44222         Reported by Simon Josefsson.
44224 2011-11-26  Bruno Haible  <bruno@clisp.org>
44226         Fix conflict between two instantiations of module 'unistd'.
44227         * gnulib-tool (func_emit_autoconf_snippet): Substitute
44228         ${include_guard_prefix} also in the autoconf snippet.
44229         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
44230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
44231         GNULIB_UNISTD_H_GETOPT.
44232         * modules/getopt-posix (configure.ac): Set the
44233         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
44234         * modules/getopt-gnu (configure.ac): Likewise.
44235         * modules/unistd (Makefile.am): Change the substitution value of
44236         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
44237         Reported by Simon Josefsson.
44239 2011-11-25  Bruno Haible  <bruno@clisp.org>
44241         pagealign_alloc: Doc and comments.
44242         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
44243         module.
44244         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
44246 2011-11-25  Jim Meyering  <meyering@redhat.com>
44248         test-update-copyright.sh: avoid false-positive failure
44249         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
44250         around false positive failure on Cygwin/Windows.  The latter was
44251         matching erroneously-created files with names like
44252         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
44254 2011-11-25  Simon Josefsson  <simon@josefsson.org>
44256         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
44257         * m4/valgrind-tests.m4: Check that the parameters that will be
44258         used works, not just a subset of them.  Reported by Bruno Haible
44259         <bruno@clisp.org>.
44261 2011-11-24  Jim Meyering  <meyering@redhat.com>
44263         test-stdalign.c: comment out long double tests
44264         * tests/test-stdalign.c: Don't try to reduce alignment of long double
44265         variables.  That provokes errors like this from gcc-4.7.0 20111124:
44266         error: '_Alignas' specifiers cannot reduce alignment of \
44267         'static_longdouble_alignas'.
44269 2011-11-22  Jim Meyering  <meyering@redhat.com>
44271         init.sh: make "compare /dev/null FILE" output more readable
44272         * tests/init.sh (compare_): Document the preferred order of arguments.
44273         (emit_diff_u_header_): New function.
44274         (compare_dev_null_): Emit a simulated diff, rather than just the
44275         contents of the unexpected file.  Suggestion from Bruno Haible.
44277 2011-11-21  Jim Meyering  <meyering@redhat.com>
44278             Eric Blake  <eblake@redhat.com>
44280         init.sh: work around OSF/1 5.1's mishandling of /dev/null
44281         * tests/init.sh: Make our compare function slightly more portable.
44282         Reported by Bruno Haible in
44283         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
44285 2011-11-21  Simon Josefsson  <simon@josefsson.org>
44287         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
44288         before using it, in code that ends up in config.h.
44290 2011-11-20  Bruno Haible  <bruno@clisp.org>
44292         getcwd: Work around getcwd bug on AIX 5..7.
44293         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
44294         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
44295         Use a different value for gl_cv_func_getcwd_path_max. Move the
44296         definition of HAVE_PARTLY_WORKING_GETCWD from here...
44297         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
44298         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
44299         Define HAVE_MINIMALLY_WORKING_GETCWD.
44300         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
44301         where it is not even minimally working, that is, on AIX.
44302         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
44303         m4/getcwd-path-max.m4.
44304         (main): Update exit code computation.
44305         * doc/posix-functions/getcwd.texi: Mention list of platforms where
44306         getcwd does not handle long file names.
44308 2011-11-20  Bruno Haible  <bruno@clisp.org>
44310         getcwd: Fix bug from 2009-09-10.
44311         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
44312         like "no".
44314 2011-11-20  Simon Josefsson  <simon@josefsson.org>
44316         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
44318 2011-11-20  Bruno Haible  <bruno@clisp.org>
44320         fma tests: Avoid shadowing local variables.
44321         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
44322         expected.
44324 2011-11-20  Bruno Haible  <bruno@clisp.org>
44326         copysignf tests: Fix.
44327         * tests/test-copysignf.c: Fix signature check.
44329 2011-11-20  Bruno Haible  <bruno@clisp.org>
44331         fma: Remove unused code.
44332         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
44333         unused macros.
44335 2011-11-20  Bruno Haible  <bruno@clisp.org>
44337         sethostname: Fix doc about AIX.
44338         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
44339         sethostname; it has it.
44341         sethostname: Mention more portability problems.
44342         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
44343         problem.
44344         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
44346 2011-11-19  Bruno Haible  <bruno@clisp.org>
44348         Depend on module fcntl-h when AT_FDCWD is used.
44349         * modules/utimens (Depends-on): Add fcntl-h.
44350         * modules/areadlinkat (Depends-on): Likewise.
44351         * modules/areadlinkat-with-size (Depends-on): Likewise.
44352         * modules/faccessat (Depends-on): Likewise.
44353         * modules/fchmodat (Depends-on): Likewise.
44354         * modules/fchownat (Depends-on): Likewise.
44355         * modules/getcwd (Depends-on): Likewise.
44356         * modules/mkdirat (Depends-on): Likewise.
44357         * modules/mkfifoat (Depends-on): Likewise.
44358         * modules/readlinkat (Depends-on): Likewise.
44359         * modules/symlinkat (Depends-on): Likewise.
44360         * modules/dup2-tests (Depends-on): Likewise.
44361         * modules/fdutimensat-tests (Depends-on): Likewise.
44362         * modules/futimens-tests (Depends-on): Likewise.
44364 2011-11-19  Bruno Haible  <bruno@clisp.org>
44366         euidaccess: Update a comment.
44367         * lib/euidaccess.c: Update comment about platforms with faccessat.
44369 2011-11-19  Bruno Haible  <bruno@clisp.org>
44371         openat: Fix file list.
44372         * modules/openat (Files): Remove lib/at-func.c.
44374 2011-11-19  Bruno Haible  <bruno@clisp.org>
44376         fstatat: Simplify.
44377         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
44378         gnulib should define rpl_fstatat, there is a
44379         "#define fstatat rpl_fstatat" in <sys/stat.h>.
44381 2011-11-19  Bruno Haible  <bruno@clisp.org>
44383         Ensure 'inline' can be used in tests/test-utimens-common.h.
44384         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
44385         * modules/futimens-tests (configure.ac): Likewise.
44386         * modules/utimens-tests (configure.ac): Likewise.
44387         * modules/utimensat-tests (configure.ac): Likewise.
44389 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44391         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
44392         not hash_insert0.
44393         (hash_insert_if_absent): Doc fix.
44395 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44397         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
44399 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
44401         test-getcwd: disambiguate exit status
44402         * tests/test-getcwd.c (test_long_name): Return 0..7.
44403         (main): Exit with an unambiguous exit status.  The old
44404         code yielded a mysterious mixture of two failure codes.
44406         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
44407         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
44408         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
44409         rpl_fstatat or fstatat.  This should fix the other problem
44410         reported by Kai Habel in
44411         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44412         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
44413         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
44414         and I reproduced it on a Solaris 8 host we still have in production.
44416 2011-11-18  Jim Meyering  <meyering@redhat.com>
44418         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
44419         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
44420         Add a sentence to the comment.
44421         (hash_insert0): New function that simply calls hash_insert_if_absent.
44422         * lib/hash.h (hash_insert_if_absent): Declare it.
44423         (hash_insert0): Add deprecation attribute.
44424         (_GL_ATTRIBUTE_DEPRECATED): Define.
44425         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
44426         not hash_insert0.
44427         * NEWS: Mention it, even though it's not really an incompatible change.
44429 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
44431         openat: avoid compilation failure due to lack of <errno.h> inclusion
44432         * lib/openat.c: Include <errno.h>.
44434 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44436         * modules/getcwd (Depends-on): Add fdopendir.
44437         This fixes one of the two problems reported by Kai Habel in
44438         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44440         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
44441         stdalign problem reported by Ian Beckwith in
44442         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
44443         * modules/crypto/gc-arcfour (Depends-on):
44444         Depend conditionally on crypto/arcfour.
44445         * modules/crypto/gc-arctwo (Depends-on):
44446         Depend conditionally on crypto/arctwo.
44447         * modules/crypto/gc-des (Depends-on):
44448         Depend conditionally on crypto/des.
44449         * modules/crypto/gc-hmac-md5 (Depends-on):
44450         Depend conditionally on crypto/hmac-md5.
44451         * modules/crypto/gc-hmac-sha1 (Depends-on):
44452         Depend conditionally on crypto/hmac-sha1.
44453         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
44454         * modules/crypto/gc-md4 (Depends-on):
44455         Depend conditionally on crypto/md4.
44456         * modules/crypto/gc-md5 (Depends-on):
44457         Depend conditionally on crypto/md5.
44458         * modules/crypto/gc-rijndael (Depends-on):
44459         Depend conditionally on crypto/rijndael.
44460         * modules/crypto/gc-sha1 (Depends-on):
44461         Depend conditionally on crypto/sha1.
44462         * modules/crypto/gc-arcfour:
44463         * modules/crypto/gc-arctwo:
44464         * modules/crypto/gc-des:
44465         * modules/crypto/gc-hmac-md5:
44466         * modules/crypto/gc-hmac-sha1:
44467         * modules/crypto/gc-md2:
44468         * modules/crypto/gc-md4:
44469         * modules/crypto/gc-md5:
44470         * modules/crypto/gc-rijndael:
44471         * modules/crypto/gc-sha1:
44472         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
44473         now that the conditional dependencies do the work for us.
44475 2011-11-17  Jim Meyering  <meyering@redhat.com>
44477         tests: factor st_ctime-comparison out of two headers
44478         * tests/test-utimens-common.h (ctime_compare): Define.
44479         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
44480         * tests/test-lutimens.h (test_lutimens): Likewise.
44481         * tests/test-utimens.h (test_utimens): Likewise.
44483         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
44484         Invoke the test program via an init.sh-using wrapper.
44485         * tests/test-getcwd.sh: New file.
44486         * modules/getcwd-tests (Files): Add it.
44487         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
44489 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
44491         gitlog-to-changelog: support multi-author commits.
44492         The FSF cares about keeping track of all authors of patches to its
44493         projects, but Git doesn't provide obvious support for multi-author
44494         changesets. Consensus seems to be forming around the use of extra
44495         Signed-off-by inspired lines in the log message formatted as
44496         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
44497         multi-author commits between version control systems.
44498         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
44499         log message and output in standard ChangeLog multi-author format.
44500         Reported by Peter Rosin <peda@lysator.liu.se>
44502 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
44503             Bruno Haible  <bruno@clisp.org>
44505         Fix some modules' file list.
44506         * modules/fstatat (Files): Add m4/lstat.m4.
44507         * modules/openat (Files): Likewise.
44508         * modules/unlinkat (Files): Likewise.
44510 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
44512         maint.mk: fix tight-scope.mk generation in VPATH builds.
44513         * top/maint.mk (tight-scope.mk): Make sure to prefix file
44514         reference with $(srcdir) so that the file is found correctly even
44515         when running `make syntax-check' in a VPATH build.
44517 2011-11-13  Bruno Haible  <bruno@clisp.org>
44518             Jim Meyering  <meyering@redhat.com>
44520         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
44521         * tests/init.sh (compare): Remove "No differences encountered" or
44522         synonymous output from the 'diff' program.
44524 2011-11-13  Bruno Haible  <bruno@clisp.org>
44526         Makefile: Tweak indentation.
44527         * Makefile: Use tab as first character in every line that contains rule
44528         commands.
44530 2011-11-13  Bruno Haible  <bruno@clisp.org>
44532         Syntax check for copyright statements.
44533         * check-copyright: New file.
44534         * Makefile (sc_check_copyright): New rule.
44536 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44538         * build-aux/git-version-gen: Add --prefix to configure the tag
44539         match string.
44541 2011-11-13  Simon Josefsson  <simon@josefsson.org>
44543         * build-aux/git-version-gen: Add --help and --version.
44545 2011-11-12  Jim Meyering  <meyering@redhat.com>
44547         revamp the other test-exclude?.sh scripts to use init.sh, too
44548         * tests/test-exclude1.sh: Use init.sh.
44549         * tests/test-exclude2.sh: Likewise.
44550         * tests/test-exclude3.sh: Likewise.
44551         * tests/test-exclude4.sh: Likewise.
44552         * tests/test-exclude5.sh: Likewise.
44553         * tests/test-exclude6.sh: Likewise.
44554         * tests/test-exclude7.sh: Likewise.
44555         * tests/test-exclude8.sh: Likewise.
44556         * modules/exclude-tests (Files): List init.sh.
44558         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
44559         These shell scripts ignored failure of the binary test-exclude,
44560         so making the latter return 77 didn't cause them to be skipped.
44561         * tests/test-exclude5.sh: Exit with test-exclude's error status
44562         when that program fails.  Revamp to use init.sh.
44563         * tests/test-exclude2.sh: Likewise.
44565         test-exclude: fix a typo
44566         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
44568 2011-11-11  Bruno Haible  <bruno@clisp.org>
44570         obstack: Fix compilation error on MSVC 9.
44571         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
44573 2011-11-11  Jim Meyering  <meyering@redhat.com>
44575         test-exclude: skip tests rather than failing on deficient systems
44576         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
44577         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
44578         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
44579         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
44581 2011-11-10  Bruno Haible  <bruno@clisp.org>
44583         ptsname_r test: Avoid gcc warning on glibc systems.
44584         * tests/test-ptsname_r.c (null_ptr): New function.
44585         (test_errors): Use it.
44587 2011-11-10  Bruno Haible  <bruno@clisp.org>
44589         ptsname_r: Avoid compilation error on OSF/1 5.1.
44590         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
44591         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
44592         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
44593         function is not declared or incompatibly declared.
44594         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
44595         * modules/ptsname_r (Depends-on, configure.ac): Update.
44596         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
44598 2011-11-10  Bruno Haible  <bruno@clisp.org>
44600         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
44601         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
44602         When cross-compiling, guess yes on all platforms except AIX.
44603         Reported by Ludovic Courtès <ludo@gnu.org>.
44605 2011-11-09  Bruno Haible  <bruno@clisp.org>
44607         ptsname_r tests: Fix bugs.
44608         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
44609         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
44611 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44613         fstatat: work with cross-compilation
44614         Problem reported by Ludovic Courtès in
44615         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
44616         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
44617         "cross-compiling" and assume the bug is present.  Replace
44618         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
44619         an inverted sense, to be more conservative about our assumptions.
44620         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
44622 2011-11-09  Bruno Haible  <bruno@clisp.org>
44624         Improve MODULES.html output.
44625         * modules/mkfifoat (Description): Use the word "function".
44626         * modules/readlinkat (Description): Likewise.
44627         * modules/symlinkat (Description): Likewise.
44629 2011-11-09  Eric Blake  <eblake@redhat.com>
44631         ptsname_r-tests: new test module
44632         * modules/ptsname_r-tests: New module.
44633         * tests/test-ptsname_r.c: New file.
44635         ptsname_r: new module
44636         * modules/ptsname_r: New module.
44637         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
44638         * lib/ptsname.c (__ptsname_r): Split...
44639         * lib/ptsname_r.c: ...into new file.
44640         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
44641         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
44642         * modules/stdlib (Makefile.am): Substitute witnesses.
44643         * lib/stdlib.in.h (ptsname_r): Declare it.
44644         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
44645         * MODULES.html.sh (Misc): Likewise.
44646         * modules/ptsname (Depends-on): Alter dependency.
44647         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
44649 2011-11-09  Jim Meyering  <meyering@redhat.com>
44651         announce-gen: be more concise when there's only one URL+tarball
44652         * build-aux/announce-gen (get_tool_versions): When you distribute
44653         only one type of tarball, combine the first two "Here are..."
44654         sections and make the key-checking grammar independent of
44655         how many tarballs there are.
44657 2011-11-09  Eric Blake  <eblake@redhat.com>
44659         openpty: provide a stub on mingw
44660         * lib/pty.in.h (includes): Provide forward declarations.
44661         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
44663         raise: fix mingw handling of SIGPIPE
44664         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
44666 2011-11-08  Bruno Haible  <bruno@clisp.org>
44668         More conditional dependencies.
44669         * modules/faccessat (Depends-on): Add conditions.
44670         * modules/fchmodat (Depends-on): Likewise.
44671         * modules/fchownat (Depends-on): Likewise.
44672         * modules/fstatat (Depends-on): Likewise.
44673         * modules/mkfifoat (Depends-on): Likewise.
44674         * modules/readlinkat (Depends-on): Likewise.
44675         * modules/symlinkat (Depends-on): Likewise.
44676         * modules/unlinkat (Depends-on): Likewise.
44677         * modules/utimensat (Depends-on): Likewise.
44678         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
44679         * modules/linkat (Depends-on): Refine the conditions.
44680         * modules/renameat (Depends-on): Likewise.
44682 2011-11-08  Bruno Haible  <bruno@clisp.org>
44684         faccessat: Move AC_LIBOBJ invocation to module description.
44685         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
44686         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
44687         invocation from here...
44688         * modules/faccessat (configure.ac): ... to here. Invoke
44689         gl_PREREQ_FACCESSAT.
44691 2011-11-08  Bruno Haible  <bruno@clisp.org>
44693         faccessat: Simplify autoconf macro.
44694         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
44695         gl_FUNC_EUIDACCESS.
44697 2011-11-08  Bruno Haible  <bruno@clisp.org>
44699         renameat: Fix dependencies.
44700         * modules/renameat (Depends-on): Add stdbool.
44702 2011-11-08  Bruno Haible  <bruno@clisp.org>
44704         mkfifoat: Fix module description.
44705         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
44706         not gl_UNISTD_MODULE_INDICATOR.
44708 2011-11-08  Bruno Haible  <bruno@clisp.org>
44710         fstatat: Remove unused dependency.
44711         * modules/fstatat (Depends-on): Remove fstat.
44713 2011-11-08  Simon Josefsson  <simon@josefsson.org>
44715         GNUmakefile: behave when Makefile is missing.
44716         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
44718 2011-11-08  Bruno Haible  <bruno@clisp.org>
44720         openat: Conditionalize dependencies.
44721         * lib/openat.c: Reduce the scope of some #includes.
44722         * modules/openat (Depends-on): Add conditions.
44724 2011-11-07  Jim Meyering  <meyering@redhat.com>
44726         maint.mk: extract GPG key ID without using a temporary file
44727         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
44728         without using a temporary file.  Based on a suggestion from Werner Koch
44729         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
44731 2011-11-07  Eric Blake  <eblake@redhat.com>
44733         grantpt: fix typo
44734         * lib/stdlib.in.h (grantpt): Check correct function.
44736         maint.mk: silence new syntax check
44737         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
44739 2011-11-06  Bruno Haible  <bruno@clisp.org>
44741         Doc about floating-point and math API.
44742         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
44743         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
44745 2011-11-06  Bruno Haible  <bruno@clisp.org>
44747         stdalign tests: Skip the test when compiled by Sun C.
44748         * tests/test-stdalign.c (main): Skip the test on Sun C.
44750 2011-11-06  Bruno Haible  <bruno@clisp.org>
44752         ansi-c++-opt: Complete the 2011-06-05 change.
44753         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
44754         does not support namespaces, set the variable to "no", not to ":".
44756 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44758         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
44760 2011-11-06  Bruno Haible  <bruno@clisp.org>
44762         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
44763         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
44764         (minus_zerol) [HP-UX]: New macro.
44765         (unary_minus) [HP-UX]: New function.
44766         (copysignl) [HP-UX]: Use unary_minus function.
44768 2011-11-06  Bruno Haible  <bruno@clisp.org>
44770         ldexp, ldexpf, ldexpl: Enhance tests.
44771         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
44772         and tests/test-ldexpl.c.
44773         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
44774         LDEXP, MIN_EXP, MAX_EXP): New macros.
44775         Include test-ldexp.h.
44776         (main): Just call test_function.
44777         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
44778         infinity.h, nan.h.
44779         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
44780         MAX_EXP): New macros.
44781         Include test-ldexp.h.
44782         (x, y): Remove variables.
44783         (main): Just call test_function.
44784         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
44785         infinity.h, nan.h.
44786         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
44787         MAX_EXP): New macros.
44788         Include test-ldexp.h.
44789         (x, y): Remove variables.
44790         (main): Just call test_function.
44791         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
44792         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
44793         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
44794         (Depends-on): Add isnand-nolibm, signbit, float.
44795         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
44796         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
44797         (Depends-on): Add isnanf-nolibm, signbit, float.
44799 2011-11-06  Bruno Haible  <bruno@clisp.org>
44801         math tests: Cosmetics.
44802         * tests/test-math-c++.cc: Reorder declarations.
44804 2011-11-05  Bruno Haible  <bruno@clisp.org>
44806         fma*: Simplify test.
44807         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
44808         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
44810         Tests for module 'fmal'.
44811         * modules/fmal-tests: New file.
44812         * tests/test-fmal1.c: New file.
44813         * tests/test-fmal2.c: New file.
44815         New module 'fmal'.
44816         * lib/math.in.h (fmal): New declaration.
44817         * lib/fmal.c: New file.
44818         * m4/fmal.m4: New file.
44819         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
44820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
44821         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
44822         REPLACE_FMAL.
44823         * modules/fmal: New file.
44824         * doc/posix-functions/fmal.texi: Mention the new module and the various
44825         bugs.
44827         Tests for module 'fmaf'.
44828         * modules/fmaf-tests: New file.
44829         * tests/test-fmaf1.c: New file.
44830         * tests/test-fmaf2.c: New file.
44832         New module 'fmaf'.
44833         * lib/math.in.h (fmaf): New declaration.
44834         * lib/fmaf.c: New file.
44835         * m4/fmaf.m4: New file.
44836         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
44837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
44838         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
44839         REPLACE_FMAF.
44840         * modules/fmaf: New file.
44841         * doc/posix-functions/fmaf.texi: Mention the new module and the various
44842         bugs.
44844         Tests for module 'fma'.
44845         * modules/fma-tests: New file.
44846         * tests/test-fma1.c: New file.
44847         * tests/test-fma1.h: New file.
44848         * tests/test-fma2.c: New file.
44849         * tests/test-fma2.h: New file.
44851         New module 'fma'.
44852         * lib/math.in.h (fma): New declaration.
44853         * lib/fma.c: New file.
44854         * m4/fma.m4: New file.
44855         * m4/fegetround.m4: New file.
44856         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
44857         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
44858         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
44859         REPLACE_FMA.
44860         * modules/fma: New file.
44861         * doc/posix-functions/fma.texi: Mention the new module and the various
44862         bugs.
44864         Extend gl_MATHFUNC.
44865         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
44866         Support 'void' as argument type.
44867         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
44869 2011-11-05  Jim Meyering  <meyering@redhat.com>
44871         maint.mk: also prohibit inclusion of dirent.h without use
44872         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
44874 2011-11-05  Bruno Haible  <bruno@clisp.org>
44876         ldexpl tests: Avoid test failure on MSVC 9.
44877         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
44878         value. Needed in order to enforce the conversion from a value greater
44879         than LDBL_MAX to Infinity.
44881 2011-11-05  Bruno Haible  <bruno@clisp.org>
44883         New modules 'at-internal', 'openat-h', split off from module 'openat'.
44884         * modules/at-internal: New file, extracted from modules/openat.
44885         * modules/openat-h: New file.
44886         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
44887         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
44888         * modules/openat (Description): Add reference to POSIX function.
44889         (Files): Remove lib/openat.h, lib/openat-proc.c.
44890         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
44891         intprops, unistd.
44892         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
44893         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
44894         gl_FCNTL_MODULE_INDICATOR.
44895         (Include): Remove unistd.h, openat.h.
44896         * modules/areadlinkat (Files): Add lib/at-func.c.
44897         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44898         openat-die, openat-h, save-cwd.
44899         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
44900         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44901         openat-die, openat-h, save-cwd, unistd.
44902         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
44903         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44904         openat-h, save-cwd. Remove fcntl-h, openat.
44905         * modules/fchmodat (Files): Remove lib/openat.h.
44906         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44907         openat, stdbool, unistd.
44908         * modules/fchownat (Files): Remove lib/openat.h.
44909         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44910         openat, stdbool, sys_stat.
44911         * modules/fdopendir (Files): Remove lib/openat-priv.h,
44912         lib/openat-proc.c.
44913         (Depends-on): Add at-internal.
44914         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
44915         * modules/fstatat (Files): Remove lib/openat.h.
44916         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
44917         stdbool, unistd.
44918         * modules/fts (Depends-on): Add openat-h.
44919         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
44920         openat.
44921         * modules/mkdirat (Files): Remove lib/openat.h.
44922         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
44923         openat, stdbool, sys_stat.
44924         * modules/mkfifoat (Files): Add lib/at-func.c.
44925         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44926         openat-h, save-cwd. Remove fcntl-h, openat.
44927         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
44928         * modules/readlinkat (Files): Add lib/at-func.c.
44929         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44930         openat-h, save-cwd. Remove fcntl-h, openat.
44931         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
44932         openat.
44933         * modules/selinux-at (Files): Add lib/at-func.c.
44934         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
44935         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
44936         * modules/symlinkat (Files): Add lib/at-func.c.
44937         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
44938         openat-h, save-cwd. Remove fcntl-h, openat.
44939         * modules/unlinkat (Files): Remove lib/openat.h.
44940         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
44941         stdbool.
44942         * modules/utimensat (Files): Add lib/at-func.c.
44943         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
44944         openat-die, openat-h, save-cwd.
44945         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
44946         * modules/fdutimensat-tests (Depends-on): Add openat.
44947         * modules/fstatat-tests (Depends-on): Add openat-h.
44948         * modules/readlinkat-tests (Depends-on): Add openat.
44949         * modules/symlinkat-tests (Depends-on): Add openat.
44951 2011-11-05  Bruno Haible  <bruno@clisp.org>
44953         openat: Include <stdbool.h>.
44954         * lib/openat.c: Include <stdbool.h>.
44956 2011-11-04  Bruno Haible  <bruno@clisp.org>
44958         fchownat, renameat, unlinkat: Fix dependencies.
44959         * modules/fchownat (Depends-on): Add fstatat.
44960         * modules/renameat (Depends-on): Likewise.
44961         * modules/unlinkat (Depends-on): Likewise.
44963 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
44965         openat: remove direct dependency on dirent
44966         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
44967         and hasn't been needed ever since fdopendir was split into its own
44968         module on 2009-08-31.
44969         * modules/openat (Depends-on): Remove dirent.
44971 2011-11-04  Bruno Haible  <bruno@clisp.org>
44973         renameat: Optimize code size.
44974         * modules/renameat (configure.ac): Don't compile at-func2.c if
44975         REPLACE_RENAMEAT is 1.
44977 2011-11-04  Bruno Haible  <bruno@clisp.org>
44979         openat tests: Fix file list.
44980         * modules/openat-tests (Files): Add tests/test-open.h.
44982 2011-11-04  Bruno Haible  <bruno@clisp.org>
44984         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
44985         * modules/fchmodat (Depends-on): Add openat-die.
44986         * modules/fchownat (Depends-on): Likewise.
44987         * modules/linkat (Depends-on): Likewise.
44988         * modules/renameat (Depends-on): Likewise.
44989         * modules/openat (Depends-on): Add dirent.
44991 2011-11-04  Jim Meyering  <meyering@redhat.com>
44993         at-func*.c: fix comments
44994         * lib/at-func2.c: Correct/improve first-line comment.
44995         * lib/at-func.c: Correct grammar in first-line comment.
44997 2011-11-04  Bruno Haible  <bruno@clisp.org>
44999         New module 'mkdirat', split off from module 'openat'.
45000         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
45001         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
45002         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
45003         * modules/mkdirat: New file, extracted from modules/openat.
45004         * modules/openat (Files): Remove lib/mkdirat.c.
45005         (Depends-on): Remove mkdir.
45006         (configure.ac): Remove AC_LIBOBJ of mkdirat.
45007         (Include): Remove <sys/stat.h>.
45008         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
45009         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
45010         tests/test-mkdir.h.
45011         (Depends-on): Remove ignore-value.
45012         (Makefile.am): Remove rules for test-mkdirat.
45013         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
45014         of module 'openat'.
45015         * NEWS: Mention the change.
45017 2011-11-04  Bruno Haible  <bruno@clisp.org>
45019         closedir: Avoid warning on mingw.
45020         * lib/closedir.c: Include <unistd.h>.
45022 2011-11-04  Bruno Haible  <bruno@clisp.org>
45024         New module 'fstatat', split off from module 'openat'.
45025         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
45026         defined.
45027         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
45028         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
45029         gl_FUNC_FSTATAT.
45030         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
45031         * modules/fstatat: New file, extracted from modules/openat.
45032         * modules/openat (Files): Remove lib/fstatat.c.
45033         (Depends-on): Remove lstat.
45034         (configure.ac): Remove AC_LIBOBJ of fstatat.
45035         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
45036         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
45037         tests/test-lstat.h, tests/test-stat.h.
45038         (Depends-on): Remove getcwd-lgpl.
45039         (Makefile.am): Remove rules for test-fstatat.
45040         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
45041         of module 'openat'.
45042         * NEWS: Mention the change.
45043         * modules/getcwd (Depends-on): Add fstatat.
45044         * modules/linkat (Depends-on): Likewise.
45045         * modules/mkfifoat-tests (Depends-on): Likewise.
45046         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
45048 2011-11-03  Bruno Haible  <bruno@clisp.org>
45050         New module 'unlinkat', split off from module 'openat'.
45051         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
45052         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
45053         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
45054         * modules/unlinkat: New file, extracted from modules/openat. Correct
45055         the dependency conditions.
45056         * modules/openat (Files): Remove lib/unlinkat.c.
45057         (Depends-on): Remove rmdir, unlink.
45058         (configure.ac): Remove AC_LIBOBJ of unlinkat.
45059         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
45060         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
45061         tests/test-rmdir.h, tests/test-unlink.h.
45062         (Depends-on): Remove unlinkdir.
45063         (Makefile.am): Remove rules for test-unlinkat.
45064         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
45065         of module 'openat'.
45066         * NEWS: Mention the change.
45067         * modules/linkat-tests (Depends-on): Add unlinkat.
45068         * modules/mkfifoat-tests (Depends-on): Likewise.
45069         * modules/readlinkat-tests (Depends-on): Likewise.
45071 2011-11-02  Bruno Haible  <bruno@clisp.org>
45073         New module 'fchmodat', split off from module 'openat'.
45074         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
45075         defined.
45076         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
45077         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
45078         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
45079         * modules/fchmodat: New file, extracted from modules/openat.
45080         * modules/openat (Files): Remove lib/fchmodat.c.
45081         (configure.ac): Remove AC_LIBOBJ of fchmodat.
45082         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
45083         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
45084         (Makefile.am): Remove rules for test-fchmodat.
45085         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
45086         of module 'openat'.
45087         * NEWS: Mention the change.
45089 2011-11-02  Jim Meyering  <meyering@redhat.com>
45091         putenv: indent #definition of "environ" to placate cppi
45092         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
45094         gitlog-to-changelog: provide a ChangeLog-repair mechanism
45095         Git logs are often treated as immutable, because editing them
45096         changes the SHA1 checksums of all descendants.  Thus, errors in
45097         git logs tend to stay there forever.  However, when we generate
45098         a ChangeLog file -- typically for distribution -- from that git log,
45099         we can actually make corrections in the generated file.  The key
45100         lies in recording in machine-readable/applicable form the desired
45101         corrections.  See --help for description and an example.
45102         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
45103         (usage): Describe it; alphabetize option descriptions.
45104         (main): Honor the new option, carefully.
45106 2011-11-01  Jim Meyering  <meyering@redhat.com>
45108         gitlog-to-changelog: avoid an infloop
45109         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
45110         that ends up being empty.
45112 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45114         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
45115         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
45116         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
45117         contains (possibly-quoted) backslashes.  This should avoid
45118         all-too-common shell bugs if COMPLICATED contains backslashes in
45119         the "wrong" places.  Reported by David Evans in
45120         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
45121         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
45122         because we want ASCII ranges.  Is there some reason we don't use
45123         the C locale everywhere in this script?
45124         (func_module, top level): Avoid unwanted pathname expansion when
45125         $repo_url_prefix or $repo_url_suffix_repl contain shell
45126         metacharacters like '?' and '*'.
45128 2011-11-01  Bruno Haible  <bruno@clisp.org>
45130         fchownat: Improve description.
45131         * modules/fchownat (Description): Add link to function.
45133 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45135         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
45136         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
45137         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
45138         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
45140 2011-11-01  Bruno Haible  <bruno@clisp.org>
45142         alignof: Avoid collision with stdalign module.
45143         * lib/alignof.h (alignof): Remove macro.
45144         * NEWS: Mention the change.
45145         Reported by Paul Eggert.
45147 2011-11-01  Bruno Haible  <bruno@clisp.org>
45149         New module 'fchownat', split off from module 'openat'.
45150         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
45151         defined.
45152         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
45153         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
45154         invoke gl_FUNC_FCHOWNAT.
45155         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45156         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
45157         * modules/fchownat: New file, extracted from modules/openat.
45158         * modules/openat (Files): Remove lib/fchownat.c.
45159         (Depends-on): Remove lchown.
45160         (configure.ac): Remove AC_LIBOBJ of fchownat.
45161         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
45162         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
45163         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
45164         (Depends-on): Remove mgetgroups, usleep, stat-time.
45165         (configure.ac): Remove test for getegid.
45166         (Makefile.am): Remove rules for test-fchownat.
45167         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
45168         of module 'openat'.
45169         * NEWS: Mention the change.
45171 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45173         stdalign: port better to MSVC and to Sun C 5.11
45174         This fixes some of the problems reported by Bruno Haible in
45175         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
45176         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
45177         shortcomings of MSVC and of Sun C 5.11.
45178         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
45179         around __declspec arg.
45180         * modules/stdalign-tests (Files): Add tests/macros.h.
45181         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
45182         Include macros.h, for ASSERT.
45183         (DECLARE_ALIGNED): Remove.
45184         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
45185         to catch bug), and to 1 if not (simplifies the rest of the code).
45186         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
45187         (CHECK_AUTO): Remove.
45188         (CHECK_ALIGNED): Check only the alignment of the static vars,
45189         since auto var alignment isn't supported by Sun C 5.11.
45190         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
45191         ASSERT failures are easier to diagnose.
45193 2011-10-31  Bruno Haible  <bruno@clisp.org>
45195         doc about some IRIX 5.3 problems.
45196         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
45197         on IRIX 5.3.
45198         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
45199         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
45200         5.3.
45201         * doc/posix-functions/grantpt.texi: Likewise.
45202         * doc/posix-functions/unlockpt.texi: Likewise.
45203         * doc/posix-functions/lgamma.texi: Likewise.
45204         * doc/posix-functions/nextafter.texi: Likewise.
45205         * doc/posix-functions/remainder.texi: Likewise.
45206         * doc/posix-functions/select.texi: Mention misplaced declaration on
45207         IRIX 5.3.
45208         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45210 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
45212         gitlog-to-changelog: fix git-log invocation.
45213         git-log mishandles date strings before 1970-01-01 UTC, and there is
45214         no use to specify --since=1970-01-01 by default anyway.
45215         * build-aux/gitlog-to-changelog: By default, when no --since option
45216         was given, do not specify explicit --since option to git-log.
45218 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
45220         gitlog-to-changelog: new option --append-dot.
45221         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
45222         first non-blank line of each commit message terminated with a dot.
45224 2011-10-30  Bruno Haible  <bruno@clisp.org>
45226         ffsl, ffsll: Avoid compilation error due to 'restrict'.
45227         * lib/ffsl.h: Include <config.h>.
45228         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
45230 2011-10-30  Jim Meyering  <meyering@redhat.com>
45232         GNUmakefile: reenable "make syntax-check" for most projects
45233         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
45234         build-aux variable", "syntax-check" would do nothing but succeed with
45235         the "No version control files detected..." diagnostic (unless you
45236         happened to override _build-aux via cfg.mk).
45237         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
45238         to precede inclusion of maint.mk.  Otherwise, these variables would
45239         be used undefined in any project that does not override the default.
45241 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
45243         gitlog-to-changelog: treat a message with only blank lines as empty.
45244         * build-aux/gitlog-to-changelog: Move the code that removes leading and
45245         trailing blank lines before the code that issues a warning about an
45246         empty commit message.
45248 2011-10-30  Jim Meyering  <meyering@redhat.com>
45250         test-parse-datetime.c: avoid new DST-related false positive test failure
45251         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
45252         based on the time/date we'll convert, not the current time.
45253         Otherwise, the moment we cross a DST boundary like today's in
45254         Europe, (CEST to CET), that offset ends up being one hour off.
45256 2011-10-27  Bruno Haible  <bruno@clisp.org>
45258         fstat: Tweak documentation.
45259         * modules/fstat (Description): More precise description.
45261 2011-10-27  Bruno Haible  <bruno@clisp.org>
45263         Update documentation regarding 'largefile' module.
45264         * doc/posix-functions/fstat.texi: Tweak wording.
45265         * doc/posix-functions/opendir.texi: Mention that the module fixes the
45266         problems with huge directories and/or small ino_t types.
45267         * doc/posix-functions/readdir.texi: Likewise.
45268         * doc/posix-functions/rewinddir.texi: Likewise.
45270 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
45272         maint.mk: don't maintain a second build-aux variable.
45273         * maint.mk (build_aux): Removed.  The maintainer-makefile module
45274         depends on GNUmakefile, which already maintains a cfg.mk
45275         overridable $(_build-aux) for projects with a non-standard
45276         build-aux directory location, although without the $(srcdir)
45277         prefix.  Use that variable consistently instead of introducing a
45278         second one.  Adjust all call sites.
45280 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45282         Add stdalign module and use it in other modules.
45283         This is based on a previous proposal by Bruno Haible
45284         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
45286         stdalign: new module
45287         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
45288         * modules/stdalign: New files.
45289         * MODULES.html.sh (c1x_core_properties): Add stdalign.
45290         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
45292         stdalign-tests: new module
45293         * modules/stdalign-tests, tests/test-stdalign.c: New files.
45295         argp: use stdalign
45296         * lib/argp-parse.c: Include <stdalign.h>.
45297         (alignof): Remove.
45298         * modules/argp (Depends-on): Add stdalign.
45300         crypto libraries: use stdalign
45301         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
45302         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
45303         Do not include <stdlib.h> twice, in md4.c.
45304         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
45305         because we are accessing a pointer's bit-pattern, not a size.
45306         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
45307         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
45308         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
45309         * modules/crypto/sha512: Likewise.
45311         sys_socket: use stdalign, not alignof
45312         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
45313         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
45315 2011-10-27  Bruno Haible  <bruno@clisp.org>
45317         raise test: Avoid a test failure on Linux/MIPS.
45318         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
45319         because 99 is a valid signal on Linux/MIPS.
45321 2011-10-27  Bruno Haible  <bruno@clisp.org>
45323         nonblocking tests: Fix test failure on Linux/MIPS.
45324         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
45325         Set to 270000.
45327 2011-10-27  Bruno Haible  <bruno@clisp.org>
45329         utimensat: Work around problem on Linux/hppa.
45330         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
45331         values.
45332         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
45334 2011-10-25  Jim Meyering  <meyering@redhat.com>
45336         maint.mk: fix a bug in sc_prohibit_stddef_without_use
45337         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
45338         after symbols like NULL, size_t, etc.
45339         Reported by Alfred M. Szmidt.
45341         maint.mk: exempt ENODATA from a syntax-check rule
45342         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
45343         from the sc_prohibit_always-defined_macros syntax-check rule.
45344         Add a comment.  See this for more details:
45345         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
45347 2011-10-23  Jim Meyering  <meyering@redhat.com>
45349         fts: close parent dir FD before returning from post-traversal fts_read
45350         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
45351         unlink A, even though an FD open on A remained.  This is suboptimal
45352         (holding a file descriptor open longer than needed), but otherwise not
45353         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
45354         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
45355         that represents a real problem: it causes the removal of A to fail
45356         with e.g., "rm: cannot remove `A': Device or resource busy"
45358         fts visits each directory twice and keeps a cache (fts_fd_ring) of
45359         directory file descriptors.  After completing the final, FTS_DP,
45360         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
45361         cache, but then proceeded to add a new FD to it via the subsequent
45362         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
45363         final file descriptor would be closed only via fts_close's call to
45364         fd_ring_clear.  Now, it is usually closed earlier, via the final
45365         FTS_DP-returning fts_read call.
45366         * lib/fts.c (restore_initial_cwd): New function, converted from
45367         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
45368         Update callers.
45369         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
45370         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
45372 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
45373             Bruno Haible  <bruno@clisp.org>
45374             Jim Meyering  <jim@meyering.net>
45376         readme-release: improve safety of release prep instructions.
45377         * README-release: Don't git pull all branches when only master
45378         is needed for the release process.
45379         Run make maintainer-clean before changing trees and merging.
45380         Don't try to run ./configure right after git pull in case files
45381         that influence the bootstrap process have changed, move the
45382         ./configure step to after running ./bootstrap.
45383         Don't bootstrap "one last time"... it's the first time!
45385 2011-10-22  Bruno Haible  <bruno@clisp.org>
45387         errno, strerror-override: Support for MSVC 10.
45388         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
45389         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
45390         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
45391         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
45392         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
45393         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
45394         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
45395         Assign values compatible with MSVC 10.
45396         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
45397         New macros.
45398         (GNULIB_defined_EWINSOCK): New macro.
45399         * lib/strerror-override.c (strerror_override): Update accordingly.
45400         * lib/strerror-override.h: Likewise.
45401         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
45402         longer equal to the corresponding errno value.
45403         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45405 2011-10-22  Bruno Haible  <bruno@clisp.org>
45407         perror: Recognize when test program crashes.
45408         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
45409         strerror, set gl_cv_func_perror_works to no.
45410         Reported by Daniel Richard G. <skunk@iskunk.org>.
45412         perror: Fix indentation.
45413         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
45415 2011-10-22  Bruno Haible  <bruno@clisp.org>
45417         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
45418         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
45419         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
45420         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
45421         functions, not as a macro.
45422         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
45423         macros.
45424         (isfinite, isinf, isnan, signbit): Check overloaded functions and
45425         absence of macro.
45426         Suggested by Eric Blake.
45427         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45429 2011-10-21  Bruno Haible  <bruno@clisp.org>
45431         relocatable-prog-wrapper: Don't leave object files behind.
45432         * build-aux/install-reloc: Re-synchronize list of .o files to be
45433         removed with list of compilation units.
45435 2011-10-20  Bruno Haible  <bruno@clisp.org>
45437         openpty, posix_openpt: Remove code duplication.
45438         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
45439         * lib/openpty.c: Include <stdlib.h>.
45440         (openpty): Use posix_openpt on all platforms except IRIX.
45441         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
45443 2011-10-20  Bruno Haible  <bruno@clisp.org>
45445         unlockpt: Detect invalid argument.
45446         * lib/unlockpt.c: Include <fcntl.h>.
45447         (unlockpt): Check whether fd is valid, using fcntl().
45448         * modules/unlockpt (Depends-on): Add fcntl-h.
45450 2011-10-20  Bruno Haible  <bruno@clisp.org>
45452         openpty: Avoid compilation error on AIX 6.1.
45453         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
45455 2011-10-20  Bruno Haible  <bruno@clisp.org>
45457         posix_openpt: Support for OpenBSD.
45458         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
45459         (posix_openpt) [OpenBSD]: New code.
45460         * lib/grantpt.c: Include <fcntl.h>.
45461         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
45462         * modules/grantpt (Depends-on): Add fcntl-h.
45464 2011-10-20  Bruno Haible  <bruno@clisp.org>
45466         posix_openpt test: Coding style.
45467         * tests/test-posix_openpt.c: Use GNU coding style.
45469 2011-10-20  Bruno Haible  <bruno@clisp.org>
45471         grantpt: Support --avoid=pt_chown.
45472         * modules/grantpt (Files): Add lib/pty-private.h.
45474 2011-10-20  Bruno Haible  <bruno@clisp.org>
45476         posix_openpt: Fix autoconf macro.
45477         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
45478         unneeded check for _getpty.
45480 2011-10-20  Bruno Haible  <bruno@clisp.org>
45482         openpty: Update comments.
45483         * lib/openpty.c: Add comments about Minix.
45485 2011-10-19  Eric Blake  <eblake@redhat.com>
45487         openpty: relax license
45488         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
45490         pt_chown: use configmake to simplify build
45491         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
45493         ptsname and others: relax license
45494         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
45495         * modules/unlockpt (License): Likewise.
45496         * modules/pt_chown (License): Likewise.
45497         * modules/ptsname (License): Likewise.
45498         * modules/ttyname_r (License): Likewise.
45500 2011-10-19  Jim Meyering  <meyering@redhat.com>
45502         posix_openpt: remove spurious #endif
45503         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
45505 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
45507         maint.mk: Respect $(build_aux) in web-manual rule.
45508         * top/maint.mk (web-manual): Find gen-announce script in user's
45509         $(build_aux) directory instead of hard-coding 'build-aux'.
45511 2011-10-19  Bruno Haible  <bruno@clisp.org>
45513         posix_openpt: Fix compilation error.
45514         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
45515         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
45516         Mention the openpty module as an alternative.
45518 2011-10-19  Bruno Haible  <bruno@clisp.org>
45520         Support for old NeXTstep 3.3 frexp().
45521         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
45522         execution time of the test to 5 seconds.
45523         Reported by Daniel Richard G. <skunk@iskunk.org>.
45525 2011-10-19  Bruno Haible  <bruno@clisp.org>
45527         Support for old NeXTstep 3.3 sed.
45528         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
45529         part, use /.../, not \|...|. Escape periods in the header file name.
45530         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
45531         Reported by Daniel Richard G. <skunk@iskunk.org>.
45533 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45535         Support for old NeXTstep 3.3 gcc.
45536         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
45537         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
45538         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
45539         * lib/spawn.in.h (_Restrict_arr_): Likewise.
45540         * lib/regex.h (_Restrict_arr_): Likewise.
45541         * lib/regex_internal.h (re_token_t): Likewise.
45542         * lib/regexec.c (check_node_accept_bytes): Likewise.
45543         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
45545 2011-10-18  Eric Blake  <eblake@redhat.com>
45547         posix_openpt: new module
45548         * modules/posix_openpt: New module.
45549         * m4/posix_openpt.m4: New file.
45550         * lib/posix_openpt.c: Likewise.
45551         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45552         (gl_STDLIB_H_DEFAULTS): Set defaults.
45553         * modules/stdlib (Makefile.am): Substitute macros.
45554         * lib/stdlib.in.h (posix_openpt): Declare.
45555         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
45556         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
45557         * modules/posix_openpt-tests: New test module.
45558         * tests/test-posix_openpt.c: New test.
45560 2011-10-15  Bruno Haible  <bruno@clisp.org>
45562         xstrtoll: Fix compilation failure.
45563         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
45564         from lib/strtol.c.
45565         * doc/posix-headers/limits.texi: Mention missing numerical limits on
45566         some platforms.
45567         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45569 2011-10-15  Bruno Haible  <bruno@clisp.org>
45571         vasnprintf: Optimize bit search operation.
45572         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
45573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
45574         gl_DOUBLE_EXPONENT_LOCATION.
45575         * modules/vasnprintf (Files): Add m4/exponentd.m4.
45576         * modules/unistdio/u8-vasnprintf (Files): Likewise.
45577         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
45578         * modules/unistdio/u16-vasnprintf (Files): Likewise.
45579         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
45580         * modules/unistdio/u32-vasnprintf (Files): Likewise.
45581         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
45582         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
45583         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
45585 2011-10-15  Bruno Haible  <bruno@clisp.org>
45587         vasnprintf: Fix comments.
45588         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
45590 2011-10-14  Bruno Haible  <bruno@clisp.org>
45592         Tests for module 'integer_length_ll'.
45593         * modules/integer_length_ll-tests: New file.
45594         * tests/test-integer_length_ll.c: New file.
45596         New module 'integer_length_ll'.
45597         * lib/integer_length_ll.c: New file.
45598         * modules/integer_length_ll: New file.
45600 2011-10-14  Bruno Haible  <bruno@clisp.org>
45602         Tests for module 'integer_length_l'.
45603         * modules/integer_length_l-tests: New file.
45604         * tests/test-integer_length_l.c: New file.
45606         New module 'integer_length_l'.
45607         * lib/integer_length_l.c: New file.
45608         * modules/integer_length_l: New file.
45610 2011-10-14  Bruno Haible  <bruno@clisp.org>
45612         Tests for module 'integer_length'.
45613         * modules/integer_length-tests: New file.
45614         * tests/test-integer_length.c: New file.
45616         New module 'integer_length'.
45617         * lib/integer_length.h: New file.
45618         * lib/integer_length.c: New file.
45619         * modules/integer_length: New file.
45621 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45623         popen: Fix dependency conditions.
45624         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
45626 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
45628         perror: Fix autoconf test.
45629         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
45630         <stdlib.h> and <string.h>.
45632 2011-10-14  Bruno Haible  <bruno@clisp.org>
45634         ffsl: Optimize on 64-bit platforms.
45635         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
45636         unrolling.
45638 2011-10-13  Bruno Haible  <bruno@clisp.org>
45640         ffsl: Optimize on 32-bit platforms.
45641         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
45642         use ffs() without a loop.
45644         ffsl, ffsll: Optimize for GCC.
45645         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
45646         * lib/ffsl.c (GCC_BUILTIN): New macro.
45647         * lib/ffsll.c (GCC_BUILTIN): Likewise.
45649 2011-10-13  Bruno Haible  <bruno@clisp.org>
45651         ffs, bcopy, memset: Support symbol renaming via config.h.
45652         * lib/ffs.c: Include <config.h>.
45653         * lib/bcopy.c: Likewise.
45654         * lib/memset.c: Likewise.
45656 2011-10-10  Bruno Haible  <bruno@clisp.org>
45658         atanl: Simplify for platforms where 'long double' == 'double'.
45659         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45660         alternative implementation.
45661         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45662         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45663         * modules/atanl (Depends-on): Add atan. Update conditions.
45665 2011-10-10  Bruno Haible  <bruno@clisp.org>
45667         acosl: Simplify for platforms where 'long double' == 'double'.
45668         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45669         alternative implementation.
45670         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45671         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45672         * modules/acosl (Depends-on): Add acos. Update conditions.
45674 2011-10-10  Bruno Haible  <bruno@clisp.org>
45676         asinl: Simplify for platforms where 'long double' == 'double'.
45677         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45678         alternative implementation.
45679         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45680         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45681         * modules/asinl (Depends-on): Add asin. Update conditions.
45683 2011-10-10  Bruno Haible  <bruno@clisp.org>
45685         tanl: Simplify for platforms where 'long double' == 'double'.
45686         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45687         implementation.
45688         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45689         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45690         * modules/tanl (Depends-on): Add tan. Update conditions.
45691         (configure.ac): Don't compile trigl.c if
45692         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45694 2011-10-10  Bruno Haible  <bruno@clisp.org>
45696         cosl: Simplify for platforms where 'long double' == 'double'.
45697         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45698         implementation.
45699         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45700         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45701         * modules/cosl (Depends-on): Add cos. Update conditions.
45702         (configure.ac): Don't compile sincosl.c and trigl.c if
45703         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45705 2011-10-10  Bruno Haible  <bruno@clisp.org>
45707         sinl: Simplify for platforms where 'long double' == 'double'.
45708         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45709         implementation.
45710         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45711         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45712         * modules/sinl (Depends-on): Add sin. Update conditions.
45713         (configure.ac): Don't compile sincosl.c and trigl.c if
45714         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45716 2011-10-10  Bruno Haible  <bruno@clisp.org>
45718         logl: Simplify for platforms where 'long double' == 'double'.
45719         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45720         implementation.
45721         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45722         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45723         * modules/logl (Depends-on): Add log. Update conditions.
45725 2011-10-10  Bruno Haible  <bruno@clisp.org>
45727         expl: Simplify for platforms where 'long double' == 'double'.
45728         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
45729         implementation.
45730         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45731         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45732         * modules/expl (Depends-on): Add exp. Update conditions.
45734 2011-10-10  Bruno Haible  <bruno@clisp.org>
45736         sqrtl: Simplify for platforms where 'long double' == 'double'.
45737         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45738         alternative implementation.
45739         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45740         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45741         * modules/sqrtl (Depends-on): Update conditions.
45743 2011-10-10  Bruno Haible  <bruno@clisp.org>
45745         ldexpl: Simplify for platforms where 'long double' == 'double'.
45746         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45747         alternative implementation.
45748         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45749         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45750         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
45752 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
45754         ffsll: set correct witness
45755         * modules/ffsll (configure.ac): Fix typo.
45757 2011-10-10  Bruno Haible  <bruno@clisp.org>
45759         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
45760         * lib/printf-frexpl.c: Include <config.h>.
45761         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45762         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
45763         second time.
45764         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
45765         gl_LONG_DOUBLE_VS_DOUBLE.
45766         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
45767         conditions.
45769 2011-10-10  Bruno Haible  <bruno@clisp.org>
45771         frexpl: Simplify for platforms where 'long double' == 'double'.
45772         * lib/frexpl.c: Include <config.h>.
45773         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45774         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45775         time.
45776         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45777         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45778         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
45779         * modules/frexpl (Depends-on): Add frexp. Update conditions.
45780         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
45781         conditions.
45783 2011-10-10  Jim Meyering  <meyering@redhat.com>
45785         test-renameat: don't leave behind a temporary file
45786         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
45787           ERROR: files left in build directory after distclean:
45788           ./gltests/test-renameat.too
45789           make[1]: *** [distcleancheck] Error 1
45790         Reported by Tom G. Christensen.
45792 2011-10-09  Bruno Haible  <bruno@clisp.org>
45794         rint: Determine RINT_LIBM correctly on AIX 7.
45795         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
45796         directly, not only through a function pointer. Also accept an optional
45797         4th argument with extra code.
45798         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
45799         rintf() call by gcc when optimizing.
45801         mathfunc.m4: Refactor.
45802         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
45803         m4 variable.
45805 2011-10-09  Bruno Haible  <bruno@clisp.org>
45807         rintl: Simplify for platforms where 'long double' == 'double'.
45808         * lib/rintl.c: Include <config.h>.
45809         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45810         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45811         time.
45812         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45813         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45814         * modules/rintl (Depends-on): Add rint. Update conditions.
45816 2011-10-09  Bruno Haible  <bruno@clisp.org>
45818         roundl: Simplify for platforms where 'long double' == 'double'.
45819         * lib/roundl.c: Include <config.h>.
45820         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45821         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45822         time.
45823         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45824         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45825         * modules/roundl (Depends-on): Add round. Update conditions.
45827 2011-10-09  Bruno Haible  <bruno@clisp.org>
45829         truncl: Simplify for platforms where 'long double' == 'double'.
45830         * lib/truncl.c: Include <config.h>.
45831         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45832         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45833         time.
45834         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45835         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45836         * modules/truncl (Depends-on): Add trunc. Update conditions.
45838 2011-10-09  Bruno Haible  <bruno@clisp.org>
45840         ceill: Simplify for platforms where 'long double' == 'double'.
45841         * lib/ceill.c: Include <config.h>.
45842         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45843         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45844         time.
45845         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45846         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45847         * modules/ceill (Depends-on): Add ceil. Update conditions.
45849 2011-10-09  Bruno Haible  <bruno@clisp.org>
45851         floorl: Simplify for platforms where 'long double' == 'double'.
45852         * lib/floorl.c: Include <config.h>.
45853         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
45854         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
45855         time.
45856         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45857         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45858         * modules/floorl (Depends-on): Add floor. Update conditions.
45860 2011-10-09  Bruno Haible  <bruno@clisp.org>
45862         rint: Fix ordering constraints.
45863         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
45864         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
45865         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
45867 2011-10-09  Bruno Haible  <bruno@clisp.org>
45869         copysignl: Simplify for platforms where 'long double' == 'double'.
45870         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
45871         alternative.
45872         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
45873         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
45874         * modules/copysignl (Depends-on): Add copysign. Update conditions.
45876 2011-10-09  Bruno Haible  <bruno@clisp.org>
45878         Tests for module 'rintl'.
45879         * modules/rintl-tests: New file.
45880         * tests/test-rintl.c: New file.
45882         New module 'rintl'.
45883         * lib/math.in.h (rintl): New declaration.
45884         * lib/rintl.c: New file.
45885         * m4/rintl.m4: New file.
45886         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
45887         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
45888         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
45889         * modules/rintl: New file.
45890         * tests/test-math-c++.cc: Check the declaration of rintl.
45891         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45892         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
45893         * doc/posix-functions/rintl.texi: Mention the new module.
45895 2011-10-09  Bruno Haible  <bruno@clisp.org>
45897         Tests for module 'rintf'.
45898         * modules/rintf-tests: New file.
45899         * tests/test-rintf.c: New file.
45901         New module 'rintf'.
45902         * lib/math.in.h (rintf): New declaration.
45903         * lib/rintf.c: New file.
45904         * m4/rintf.m4: New file.
45905         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
45906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
45907         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
45908         * modules/rintf: New file.
45909         * tests/test-math-c++.cc: Check the declaration of rintf.
45910         * doc/posix-functions/rintf.texi: Mention the new module.
45912 2011-10-09  Bruno Haible  <bruno@clisp.org>
45914         rint: Support for MSVC.
45915         * lib/math.in.h (rint): New declaration.
45916         * lib/rint.c: New file.
45917         * m4/rint.m4: New file.
45918         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
45919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
45920         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
45921         * modules/rint (Description): Fix.
45922         (Files): Add lib/rint.c, m4/rint.m4.
45923         (Depends-on): Add math.
45924         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
45925         gl_MATH_MODULE_INDICATOR.
45926         * tests/test-math-c++.cc: Check the declaration of rint.
45927         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45928         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
45929         * doc/posix-functions/rint.texi: Mention the replacement provided by
45930         the module.
45932         rint tests: More tests.
45933         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
45934         minus-zero.h, infinity.h, nan.h.
45935         (main): Skip the test if the current rounding mode is not standard. Add
45936         tests for negative numbers, minus zero, infinity, NaN.
45937         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
45938         tests/nan.h.
45939         (Depends-on): Add isnand-nolibm.
45941 2011-10-09  Bruno Haible  <bruno@clisp.org>
45943         Tests for module 'copysignl'.
45944         * modules/copysignl-tests: New file.
45945         * tests/test-copysignl.c: New file.
45947         New module 'copysignl'.
45948         * lib/math.in.h (copysignl): New declaration.
45949         * lib/copysignl.c: New file.
45950         * m4/copysignl.m4: New file.
45951         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
45952         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
45953         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
45954         HAVE_COPYSIGNL.
45955         * modules/copysignl: New file.
45956         * tests/test-math-c++.cc: Check the declaration of copysignl.
45957         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
45958         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
45959         * doc/posix-functions/copysignl.texi: Mention the new module.
45961 2011-10-09  Bruno Haible  <bruno@clisp.org>
45963         Tests for module 'copysignf'.
45964         * modules/copysignf-tests: New file.
45965         * tests/test-copysignf.c: New file.
45967         New module 'copysignf'.
45968         * lib/math.in.h (copysignf): New declaration.
45969         * lib/copysignf.c: New file.
45970         * m4/copysignf.m4: New file.
45971         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
45972         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
45973         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
45974         HAVE_COPYSIGNF.
45975         * modules/copysignf: New file.
45976         * tests/test-math-c++.cc: Check the declaration of copysignf.
45977         * doc/posix-functions/copysignf.texi: Mention the new module.
45979 2011-10-09  Bruno Haible  <bruno@clisp.org>
45981         Ensure that HAVE_* variables are set to 1 before they are set to 0.
45982         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
45983         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
45984         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
45985         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
45986         gl_SIGNAL_H_DEFAULTS.
45988 2011-10-09  Bruno Haible  <bruno@clisp.org>
45990         poll: Make macro safer.
45991         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
45992         ac_cv_header_poll_h is not set.
45994 2011-10-09  Bruno Haible  <bruno@clisp.org>
45996         copysign: Provide replacement.
45997         * lib/math.in.h (copysign): New declaration.
45998         * lib/copysign.c: New file.
45999         * m4/copysign.m4: New file.
46000         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
46001         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
46002         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
46003         HAVE_COPYSIGN.
46004         * modules/copysign (Description): Clarify.
46005         (Files): Add lib/copysign.c, m4/copysign.m4.
46006         (Depends-on): Add math, signbit.
46007         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
46008         gl_MATH_MODULE_INDICATOR.
46009         * tests/test-math-c++.cc: Check the declaration of copysign.
46010         * doc/posix-functions/copysign.texi: Mention the effects of the module
46011         on Minix and MSVC.
46013 2011-10-09  Bruno Haible  <bruno@clisp.org>
46015         isinf: Ensure macro on AIX 5.1.
46016         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
46017         macro.
46018         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
46020 2011-10-09  Bruno Haible  <bruno@clisp.org>
46022         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
46023         * modules/snprintf-posix-tests (configure.ac): Require
46024         gl_LONG_DOUBLE_VS_DOUBLE.
46025         * modules/sprintf-posix-tests (configure.ac): Likewise.
46026         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
46027         * modules/vasprintf-posix-tests (configure.ac): Likewise.
46028         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
46029         * modules/vsprintf-posix-tests (configure.ac): Likewise.
46030         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
46031         tests on platforms where 'long double' is the same as 'double'.
46032         * tests/test-sprintf-posix.h (test_function): Likewise.
46033         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46034         * tests/test-vasprintf-posix.c (test_function): Likewise.
46036         *printf: Fix for platforms where 'long double' == 'double'.
46037         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46038         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
46039         * modules/dprintf-posix (Files): Add m4/math_h.m4.
46040         * modules/fprintf-posix (Files): Likewise.
46041         * modules/obstack-printf-posix (Files): Likewise.
46042         * modules/snprintf-posix (Files): Likewise.
46043         * modules/sprintf-posix (Files): Likewise.
46044         * modules/vasnprintf (Files): Likewise.
46045         * modules/vasnprintf-posix (Files): Likewise.
46046         * modules/vasprintf-posix (Files): Likewise.
46047         * modules/vdprintf-posix (Files): Likewise.
46048         * modules/vfprintf-posix (Files): Likewise.
46049         * modules/vsnprintf-posix (Files): Likewise.
46050         * modules/vsprintf-posix (Files): Likewise.
46051         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46052         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46053         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46054         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46055         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46056         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46057         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46059         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
46060         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
46061         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46062         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
46063         'long double'.
46064         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
46066         isinf: Fix for platforms where 'long double' == 'double'.
46067         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46068         Don't blindly assume 80-bit 'long double'.
46070         isfinite: Fix for platforms where 'long double' == 'double'.
46071         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46072         Don't blindly assume 80-bit 'long double'.
46074         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
46075         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
46076         * modules/isfinite-tests (configure.ac): Require
46077         gl_LONG_DOUBLE_VS_DOUBLE.
46078         * modules/isinf-tests (configure.ac): Likewise.
46079         * modules/isnan-tests (configure.ac): Likewise.
46080         * modules/isnanl-tests (configure.ac): Likewise.
46081         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
46082         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
46083         tests on platforms where 'long double' is the same as 'double'.
46084         * tests/test-isinf.c (test_isinfl): Likewise.
46085         * tests/test-isnan.c (test_long_double): Likewise.
46086         * tests/test-isnanl.h (main): Likewise.
46088 2011-10-08  Bruno Haible  <bruno@clisp.org>
46090         Tests for module 'tanhf'.
46091         * modules/tanhf-tests: New file.
46092         * tests/test-tanhf.c: New file.
46094         New module 'tanhf'.
46095         * lib/math.in.h (tanhf): New declaration.
46096         * lib/tanhf.c: New file.
46097         * m4/tanhf.m4: New file.
46098         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
46099         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
46100         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
46101         * modules/tanhf: New file.
46102         * tests/test-math-c++.cc: Check the declaration of tanhf.
46103         * doc/posix-functions/tanhf.texi: Mention the new module.
46105         tanh: Use a .m4 file.
46106         * m4/tanh.m4: New file.
46107         * modules/tanh (Files): Add it.
46108         (configure.ac): Just invoke gl_FUNC_TANH.
46110 2011-10-08  Bruno Haible  <bruno@clisp.org>
46112         Tests for module 'coshf'.
46113         * modules/coshf-tests: New file.
46114         * tests/test-coshf.c: New file.
46116         New module 'coshf'.
46117         * lib/math.in.h (coshf): New declaration.
46118         * lib/coshf.c: New file.
46119         * m4/coshf.m4: New file.
46120         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
46121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
46122         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
46123         * modules/coshf: New file.
46124         * tests/test-math-c++.cc: Check the declaration of coshf.
46125         * doc/posix-functions/coshf.texi: Mention the new module.
46127         cosh: Use a .m4 file.
46128         * m4/cosh.m4: New file.
46129         * modules/cosh (Files): Add it.
46130         (configure.ac): Just invoke gl_FUNC_COSH.
46132 2011-10-08  Bruno Haible  <bruno@clisp.org>
46134         Tests for module 'sinhf'.
46135         * modules/sinhf-tests: New file.
46136         * tests/test-sinhf.c: New file.
46138         New module 'sinhf'.
46139         * lib/math.in.h (sinhf): New declaration.
46140         * lib/sinhf.c: New file.
46141         * m4/sinhf.m4: New file.
46142         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
46143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
46144         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
46145         * modules/sinhf: New file.
46146         * tests/test-math-c++.cc: Check the declaration of sinhf.
46147         * doc/posix-functions/sinhf.texi: Mention the new module.
46149         sinh: Use a .m4 file.
46150         * m4/sinh.m4: New file.
46151         * modules/sinh (Files): Add it.
46152         (configure.ac): Just invoke gl_FUNC_SINH.
46154 2011-10-08  Bruno Haible  <bruno@clisp.org>
46156         Tests for module 'atan2f'.
46157         * modules/atan2f-tests: New file.
46158         * tests/test-atan2f.c: New file.
46160         New module 'atan2f'.
46161         * lib/math.in.h (atan2f): New declaration.
46162         * lib/atan2f.c: New file.
46163         * m4/atan2f.m4: New file.
46164         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
46165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
46166         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
46167         * modules/atan2f: New file.
46168         * tests/test-math-c++.cc: Check the declaration of atan2f.
46169         * doc/posix-functions/atan2f.texi: Mention the new module.
46171         atan2: Use a .m4 file.
46172         * m4/atan2.m4: New file.
46173         * modules/atan2 (Files): Add it.
46174         (configure.ac): Just invoke gl_FUNC_ATAN2.
46176 2011-10-08  Bruno Haible  <bruno@clisp.org>
46178         Tests for module 'atanf'.
46179         * modules/atanf-tests: New file.
46180         * tests/test-atanf.c: New file.
46182         New module 'atanf'.
46183         * lib/math.in.h (atanf): New declaration.
46184         * lib/atanf.c: New file.
46185         * m4/atanf.m4: New file.
46186         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
46187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
46188         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
46189         * modules/atanf: New file.
46190         * tests/test-math-c++.cc: Check the declaration of atanf.
46191         * doc/posix-functions/atanf.texi: Mention the new module.
46193         atan: Use a .m4 file.
46194         * m4/atan.m4: New file.
46195         * modules/atan (Files): Add it.
46196         (configure.ac): Just invoke gl_FUNC_ATAN.
46198 2011-10-08  Bruno Haible  <bruno@clisp.org>
46200         Tests for module 'acosf'.
46201         * modules/acosf-tests: New file.
46202         * tests/test-acosf.c: New file.
46204         New module 'acosf'.
46205         * lib/math.in.h (acosf): New declaration.
46206         * lib/acosf.c: New file.
46207         * m4/acosf.m4: New file.
46208         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
46209         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
46210         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
46211         * modules/acosf: New file.
46212         * tests/test-math-c++.cc: Check the declaration of acosf.
46213         * doc/posix-functions/acosf.texi: Mention the new module.
46215         acos: Use a .m4 file.
46216         * m4/acos.m4: New file.
46217         * modules/acos (Files): Add it.
46218         (configure.ac): Just invoke gl_FUNC_ACOS.
46220 2011-10-08  Bruno Haible  <bruno@clisp.org>
46222         Tests for module 'asinf'.
46223         * modules/asinf-tests: New file.
46224         * tests/test-asinf.c: New file.
46226         New module 'asinf'.
46227         * lib/math.in.h (asinf): New declaration.
46228         * lib/asinf.c: New file.
46229         * m4/asinf.m4: New file.
46230         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
46231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
46232         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
46233         * modules/asinf: New file.
46234         * tests/test-math-c++.cc: Check the declaration of asinf.
46235         * doc/posix-functions/asinf.texi: Mention the new module.
46237         asin: Use a .m4 file.
46238         * m4/asin.m4: New file.
46239         * modules/asin (Files): Add it.
46240         (configure.ac): Just invoke gl_FUNC_ASIN.
46242 2011-10-08  Bruno Haible  <bruno@clisp.org>
46244         Tests for module 'tanf'.
46245         * modules/tanf-tests: New file.
46246         * tests/test-tanf.c: New file.
46248         New module 'tanf'.
46249         * lib/math.in.h (tanf): New declaration.
46250         * lib/tanf.c: New file.
46251         * m4/tanf.m4: New file.
46252         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
46253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
46254         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
46255         * modules/tanf: New file.
46256         * tests/test-math-c++.cc: Check the declaration of tanf.
46257         * doc/posix-functions/tanf.texi: Mention the new module.
46259         tan: Use a .m4 file.
46260         * m4/tan.m4: New file.
46261         * modules/tan (Files): Add it.
46262         (configure.ac): Just invoke gl_FUNC_TAN.
46264 2011-10-08  Bruno Haible  <bruno@clisp.org>
46266         Tests for module 'cosf'.
46267         * modules/cosf-tests: New file.
46268         * tests/test-cosf.c: New file.
46270         New module 'cosf'.
46271         * lib/math.in.h (cosf): New declaration.
46272         * lib/cosf.c: New file.
46273         * m4/cosf.m4: New file.
46274         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
46275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
46276         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
46277         * modules/cosf: New file.
46278         * tests/test-math-c++.cc: Check the declaration of cosf.
46279         * doc/posix-functions/cosf.texi: Mention the new module.
46281         cos: Use a .m4 file.
46282         * m4/cos.m4: New file.
46283         * modules/cos (Files): Add it.
46284         (configure.ac): Just invoke gl_FUNC_COS.
46286 2011-10-08  Bruno Haible  <bruno@clisp.org>
46288         Tests for module 'sinf'.
46289         * modules/sinf-tests: New file.
46290         * tests/test-sinf.c: New file.
46292         New module 'sinf'.
46293         * lib/math.in.h (sinf): New declaration.
46294         * lib/sinf.c: New file.
46295         * m4/sinf.m4: New file.
46296         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
46297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
46298         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
46299         * modules/sinf: New file.
46300         * tests/test-math-c++.cc: Check the declaration of sinf.
46301         * doc/posix-functions/sinf.texi: Mention the new module.
46303         sin: Use a .m4 file.
46304         * m4/sin.m4: New file.
46305         * modules/sin (Files): Add it.
46306         (configure.ac): Just invoke gl_FUNC_SIN.
46308 2011-10-08  Bruno Haible  <bruno@clisp.org>
46310         Tests for module 'powf'.
46311         * modules/powf-tests: New file.
46312         * tests/test-powf.c: New file.
46314         New module 'powf'.
46315         * lib/math.in.h (powf): New declaration.
46316         * lib/powf.c: New file.
46317         * m4/powf.m4: New file.
46318         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
46319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
46320         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
46321         * modules/powf: New file.
46322         * tests/test-math-c++.cc: Check the declaration of powf.
46323         * doc/posix-functions/powf.texi: Mention the new module.
46325         pow: Use a .m4 file.
46326         * m4/pow.m4: New file.
46327         * modules/pow (Files): Add it.
46328         (configure.ac): Just invoke gl_FUNC_POW.
46330 2011-10-08  Bruno Haible  <bruno@clisp.org>
46332         Tests for module 'log10f'.
46333         * modules/log10f-tests: New file.
46334         * tests/test-log10f.c: New file.
46336         New module 'log10f'.
46337         * lib/math.in.h (log10f): New declaration.
46338         * lib/log10f.c: New file.
46339         * m4/log10f.m4: New file.
46340         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
46341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
46342         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
46343         * modules/log10f: New file.
46344         * tests/test-math-c++.cc: Check the declaration of log10f.
46345         * doc/posix-functions/log10f.texi: Mention the new module.
46347         log10: Use a .m4 file.
46348         * m4/log10.m4: New file.
46349         * modules/log10 (Files): Add it.
46350         (configure.ac): Just invoke gl_FUNC_LOG10.
46352 2011-10-08  Bruno Haible  <bruno@clisp.org>
46354         Tests for module 'logf'.
46355         * modules/logf-tests: New file.
46356         * tests/test-logf.c: New file.
46358         New module 'logf'.
46359         * lib/math.in.h (logf): New declaration.
46360         * lib/logf.c: New file.
46361         * m4/logf.m4: New file.
46362         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
46363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
46364         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
46365         * modules/logf: New file.
46366         * tests/test-math-c++.cc: Check the declaration of logf.
46367         * doc/posix-functions/logf.texi: Mention the new module.
46369         log: Use a .m4 file.
46370         * m4/log.m4: New file.
46371         * modules/log (Files): Add it.
46372         (configure.ac): Just invoke gl_FUNC_LOG.
46374 2011-10-08  Bruno Haible  <bruno@clisp.org>
46376         Tests for module 'expf'.
46377         * modules/expf-tests: New file.
46378         * tests/test-expf.c: New file.
46380         New module 'expf'.
46381         * lib/math.in.h (expf): New declaration.
46382         * lib/expf.c: New file.
46383         * m4/expf.m4: New file.
46384         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
46385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
46386         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
46387         * modules/expf: New file.
46388         * tests/test-math-c++.cc: Check the declaration of expf.
46389         * doc/posix-functions/expf.texi: Mention the new module.
46391         exp: Use a .m4 file.
46392         * m4/exp.m4: New file.
46393         * modules/exp (Files): Add it.
46394         (configure.ac): Just invoke gl_FUNC_EXP.
46396 2011-10-08  Bruno Haible  <bruno@clisp.org>
46398         Tests for module 'sqrtf'.
46399         * modules/sqrtf-tests: New file.
46400         * tests/test-sqrtf.c: New file.
46402         New module 'sqrtf'.
46403         * lib/math.in.h (sqrtf): New declaration.
46404         * lib/sqrtf.c: New file.
46405         * m4/sqrtf.m4: New file.
46406         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
46407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
46408         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
46409         * modules/sqrtf: New file.
46410         * tests/test-math-c++.cc: Check the declaration of sqrtf.
46411         * doc/posix-functions/sqrtf.texi: Mention the new module.
46413 2011-10-08  Bruno Haible  <bruno@clisp.org>
46415         Tests: Avoid link failures w.r.t. libintl.
46416         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
46417         $(LIBINTL).
46418         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
46419         $(LIBINTL).
46420         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
46421         against $(LIBINTL).
46422         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
46423         $(LIBINTL).
46424         * modules/openat-tests (Makefile.am): Link test-fchmodat against
46425         $(LIBINTL).
46426         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
46428 2011-10-08  Bruno Haible  <bruno@clisp.org>
46430         pow tests: Defeat compiler optimizations.
46431         * tests/test-pow.c (main): Assign arguments to x and y before use.
46433 2011-10-08  Bruno Haible  <bruno@clisp.org>
46435         gnulib-tool: Improve last commit.
46436         * gnulib-tool (func_modules_transitive_closure): Simplify code.
46437         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
46438         ignore dependencies that are not among the modules list.
46440 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
46442         gnulib-tool: don't follow dependencies to avoided modules
46443         This fixes a bug that is related to the previous one.
46444         * gnulib-tool (func_modules_transitive_closure)
46445         (func_emit_autoconf_snippets):
46446         Check whether a dependency is acceptable before using it.
46447         (--extract-dependencies): Report an error if --avoid is also used,
46448         since this combination of options is not yet supported.
46450         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
46451         Problem reported by Peter Dyballa in
46452         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
46453         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
46454         when echoing "$condition".
46456 2011-10-07  Bruno Haible  <bruno@clisp.org>
46458         Fix documentation about math functions on MacOS X.
46459         * doc/posix-functions/exp2.texi: Don't say the function is missing on
46460         MacOS X 10.5.
46461         * doc/posix-functions/fdim.texi: Likewise.
46462         * doc/posix-functions/feclearexcept.texi: Likewise.
46463         * doc/posix-functions/fegetenv.texi: Likewise.
46464         * doc/posix-functions/fegetround.texi: Likewise.
46465         * doc/posix-functions/feholdexcept.texi: Likewise.
46466         * doc/posix-functions/feraiseexcept.texi: Likewise.
46467         * doc/posix-functions/fesetenv.texi: Likewise.
46468         * doc/posix-functions/fesetround.texi: Likewise.
46469         * doc/posix-functions/fetestexcept.texi: Likewise.
46470         * doc/posix-functions/feupdateenv.texi: Likewise.
46471         * doc/posix-functions/fmax.texi: Likewise.
46472         * doc/posix-functions/fmin.texi: Likewise.
46473         * doc/posix-functions/log2.texi: Likewise.
46474         * doc/posix-functions/modff.texi: Likewise.
46475         * doc/posix-functions/nan.texi: Likewise.
46476         * doc/posix-functions/nanf.texi: Likewise.
46477         * doc/posix-functions/nextafterf.texi: Likewise.
46478         * doc/posix-functions/remquo.texi: Likewise.
46480 2011-10-07  Bruno Haible  <bruno@clisp.org>
46482         modff: Drop assumption about library that defines modff.
46483         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
46484         AC_CHECK_FUNCS.
46485         * modules/modff (Files): Add m4/mathfunc.m4.
46487 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
46489         raise tests: Avoid a GCC warning.
46490         * tests/test-raise.c (handler): Use _Noreturn.
46492 2011-10-07  Bruno Haible  <bruno@clisp.org>
46494         Tests for module 'ldexpf'.
46495         * modules/ldexpf-tests: New file.
46496         * tests/test-ldexpf.c: New file.
46498         New module 'ldexpf'.
46499         * lib/math.in.h (ldexpf): New declaration.
46500         * lib/ldexpf.c: New file.
46501         * m4/ldexpf.m4: New file.
46502         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
46503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
46504         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
46505         * modules/ldexpf: New file.
46506         * tests/test-math-c++.cc: Check the declaration of ldexpf.
46507         * doc/posix-functions/ldexpf.texi: Mention the new module.
46509 2011-10-06  Bruno Haible  <bruno@clisp.org>
46511         frexpf: Work around problems on IRIX and mingw.
46512         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
46513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
46514         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
46515         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
46516         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
46517         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
46518         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
46520 2011-10-06  Bruno Haible  <bruno@clisp.org>
46522         fabsf: Drop assumption about library that defines fabsf.
46523         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
46524         AC_CHECK_FUNCS.
46525         * modules/fabsf (Files): Add m4/mathfunc.m4.
46527 2011-10-06  Bruno Haible  <bruno@clisp.org>
46529         frexpf: Drop assumption about library that defines frexpf.
46530         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
46531         'int *', 'float *', 'long double *', 'float', 'long double'.
46532         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
46533         AC_CHECK_FUNCS.
46534         * modules/frexpf (Files): Add m4/mathfunc.m4.
46536         Tests for module 'frexpf'.
46537         * modules/frexpf-tests: New file.
46538         * tests/test-frexpf.c: New file.
46540         New module 'frexpf'.
46541         * lib/math.in.h (frexpf): New declaration.
46542         * lib/frexpf.c: New file.
46543         * m4/frexpf.m4: New file.
46544         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
46545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
46546         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
46547         * modules/frexpf: New file.
46548         * tests/test-math-c++.cc: Check the declaration of frexpf.
46549         * doc/posix-functions/frexpf.texi: Mention the new module.
46551 2011-10-06  Bruno Haible  <bruno@clisp.org>
46553         math: Sort function declarations of math.in.h.
46554         * lib/math.in.h (frexp, logb): Move declarations.
46556 2011-10-05  Bruno Haible  <bruno@clisp.org>
46558         Tests for module 'modff'.
46559         * modules/modff-tests: New file.
46560         * tests/test-modff.c: New file.
46562         New module 'modff'.
46563         * lib/math.in.h (modff): New declaration.
46564         * lib/modff.c: New file.
46565         * m4/modff.m4: New file.
46566         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
46567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
46568         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
46569         * modules/modff: New file.
46570         * tests/test-math-c++.cc: Check the declaration of modff.
46571         * doc/posix-functions/modff.texi: Mention the new module.
46573         modf tests: Make test sharper.
46574         * tests/test-modf.c (main): Strengthen upper bound.
46576         modf: Use a .m4 file.
46577         * m4/modf.m4: New file.
46578         * modules/modf (Files): Add it.
46579         (configure.ac): Just invoke gl_FUNC_MODF.
46581 2011-10-05  Bruno Haible  <bruno@clisp.org>
46583         Tests for module 'fmodf'.
46584         * modules/fmodf-tests: New file.
46585         * tests/test-fmodf.c: New file.
46587         New module 'fmodf'.
46588         * lib/math.in.h (fmodf): New declaration.
46589         * lib/fmodf.c: New file.
46590         * m4/fmodf.m4: New file.
46591         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
46592         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
46593         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
46594         * modules/fmodf: New file.
46595         * tests/test-math-c++.cc: Check the declaration of fmodf.
46596         * doc/posix-functions/fmodf.texi: Mention the new module.
46598         fmod: Use a .m4 file.
46599         * m4/fmod.m4: New file.
46600         * modules/fmod (Files): Add it.
46601         (configure.ac): Just invoke gl_FUNC_FMOD.
46603 2011-10-05  Bruno Haible  <bruno@clisp.org>
46605         Tests for module 'fabsf'.
46606         * modules/fabsf-tests: New file.
46607         * tests/test-fabsf.c: New file.
46609         New module 'fabsf'.
46610         * lib/math.in.h (fabsf): New declaration.
46611         * lib/fabsf.c: New file.
46612         * m4/fabsf.m4: New file.
46613         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
46614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
46615         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
46616         * modules/fabsf: New file.
46617         * tests/test-math-c++.cc: Check the declaration of fabsf.
46618         * doc/posix-functions/fabsf.texi: Mention the new module.
46620         fabs: Use a .m4 file.
46621         * m4/fabs.m4: New file.
46622         * modules/fabs (Files): Add it.
46623         (configure.ac): Just invoke gl_FUNC_FABS.
46625 2011-10-05  Jim Meyering  <meyering@redhat.com>
46627         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
46628         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
46629         ls -lL regression introduced in coreutils-8.12, it does so at the
46630         cost of an additional stat call in the common case.  Besides, now
46631         that the kernel change that prompted commit 95f7c57f has been reverted
46632         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
46633         we have no use for commit 95f7c57f, "file-has-acl: use
46634         acl_extended_file_nofollow if available".
46636 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
46638         file-has-acl: revert unintended change in behavior of ls -L
46639         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
46640         derived from...
46641         (file_has_acl): ...code here.  Call it.
46642         This problem was introduced with 2011-07-22 commit 95f7c57f,
46643         "file-has-acl: use acl_extended_file_nofollow if available".
46644         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
46646 2011-10-03  Bruno Haible  <bruno@clisp.org>
46648         poll: Avoid link errors on MSVC.
46649         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
46650         * modules/poll (Depends-on): Add sockets.
46651         (Link): New section.
46652         * NEWS: Mention the change.
46653         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
46654         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
46655         $(LIB_POLL) instead of $(LIBSOCKET).
46657 2011-10-03  Bruno Haible  <bruno@clisp.org>
46659         sys_select tests: Fix link error on MSVC 9.
46660         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
46661         with $(LIB_SELECT) instead of $(LIBSOCKET).
46663 2011-10-03  Bruno Haible  <bruno@clisp.org>
46665         sys_select: Fix compilation error on mingw.
46666         * lib/sys_select.in.h: On native Windows, include <io.h>.
46668 2011-10-03  Bruno Haible  <bruno@clisp.org>
46670         wmemset: Support for MSVC.
46671         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
46672         whether wmemset() exists.
46674 2011-10-03  Bruno Haible  <bruno@clisp.org>
46676         wmemmove: Support for MSVC.
46677         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
46678         whether wmemmove() exists.
46680 2011-10-03  Bruno Haible  <bruno@clisp.org>
46682         wmemcpy: Support for MSVC.
46683         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
46684         whether wmemcpy() exists.
46686 2011-10-03  Bruno Haible  <bruno@clisp.org>
46688         wmemcmp: Support for MSVC.
46689         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
46690         whether wmemcmp() exists.
46692 2011-10-03  Bruno Haible  <bruno@clisp.org>
46694         wmemchr: Support for MSVC.
46695         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
46696         whether wmemchr() exists.
46698 2011-10-03  Bruno Haible  <bruno@clisp.org>
46700         glthread/*, strsignal: Support for MSVC.
46701         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
46702         including <winsock.h> on MSVC 9.
46703         * lib/glthread/lock.h: Likewise.
46704         * lib/glthread/thread.h: Likewise.
46705         * lib/glthread/tls.h: Likewise.
46706         * lib/glthread/yield.h: Likewise.
46707         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
46708         if HAVE_UNISTD_H is false.
46709         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
46711 2011-10-03  Bruno Haible  <bruno@clisp.org>
46713         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
46714         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
46715         Set to 100000.
46717 2011-10-03  Bruno Haible  <bruno@clisp.org>
46719         acl: Fix specification.
46720         * lib/file-has-acl.c (file_has_acl): Fix specification.
46722 2011-10-03  Bruno Haible  <bruno@clisp.org>
46724         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
46725         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
46726         (compute_curr_prefix, shared_library_fullname,
46727         find_shared_library_fullname, get_shared_library_fullname, relocate):
46728         Use it together with PIC && INSTALLDIR.
46729         Reported by <jojelino@gmail.com>
46730         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
46732 2011-10-01  Jim Meyering  <meyering@redhat.com>
46734         maint.mk: adjust a release-related rule not to require use of gzip
46735         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
46736         Instead, check each file in $(DIST_ARCHIVES).  This is better for
46737         projects that build only .tar.xz files.  Also fix an erroneous test.
46739         test-linkat: don't leave behind a temporary file
46740         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
46741         Otherwise, coreutils' "make distcheck" would fail with this:
46742           Only in /c/cu/tests/torture/coreutils/test/\
46743             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
46744           make[2]: *** [my-distcheck] Error 1
46746         float, math: add omitted file
46747         * lib/itold.c: Add file, required for yesterday's float change.
46749 2011-10-01  Bruno Haible  <bruno@clisp.org>
46751         isinf: Fix for OpenBSD/x86.
46752         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
46753         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
46754         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
46756 2011-10-01  Bruno Haible  <bruno@clisp.org>
46758         isfinite: Fix syntax error in configure test.
46759         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
46761         isfinite: Fix typo.
46762         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
46763         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
46765 2011-10-01  Bruno Haible  <bruno@clisp.org>
46767         nonblocking tests: Fix test failure on Linux/IA-64.
46768         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
46769         Set to 270000.
46771 2011-10-01  Bruno Haible  <bruno@clisp.org>
46773         mkfifoat tests: Fix a test failure on mingw.
46774         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
46775         with error ENOSYS.
46777 2011-09-30  Bruno Haible  <bruno@clisp.org>
46779         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
46780         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
46781         'long double'. Set REPLACE_ITOLD.
46782         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
46783         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
46784         * lib/itold.c: New file.
46785         * modules/float (Files): Add lib/itold.c.
46786         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
46787         (Makefile.am): Substitute REPLACE_ITOLD.
46788         * modules/math (Depends-on): Add float.
46789         (Makefile.am): Substitute REPLACE_ITOLD.
46790         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
46791         * doc/posix-headers/math.texi: Likewise.
46792         * doc/posix-functions/logl.texi: Likewise.
46794 2011-09-30  Bruno Haible  <bruno@clisp.org>
46796         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
46797         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
46798         Set to 140000.
46800 2011-09-30  Bruno Haible  <bruno@clisp.org>
46802         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
46803         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
46804         invocation, say "right after AC_PROG_CC_STDC", not "right after
46805         AC_PROG_CC".
46806         Reported by Gary V. Vaughan <gary@gnu.org>.
46808 2011-09-30  Bruno Haible  <bruno@clisp.org>
46810         Centralize C99 requirement.
46811         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
46812         * modules/stdarg (configure.ac-early): Invoke it instead of
46813         AC_PROG_CC_STDC.
46814         Reported by Gary V. Vaughan and Paul Eggert.
46816 2011-09-29  Bruno Haible  <bruno@clisp.org>
46818         float: Fix LDBL_MAX value on Linux/PowerPC.
46819         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
46820         on Linux/PowerPC.
46821         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
46822         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
46823         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
46824         platform.
46825         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
46827 2011-09-29  Bruno Haible  <bruno@clisp.org>
46829         doc: Improve doc about gl_EARLY.
46830         * doc/gnulib-tool.texi (Initial import): Mention where to place an
46831         AC_PROG_CC_STDC invocation.
46832         Reported by Gary V. Vaughan <gary@gnu.org>.
46834 2011-09-28  Bruno Haible  <bruno@clisp.org>
46836         fgetc, fputc, fread, fwrite tests: Fix link error.
46837         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
46838         on non-MSVC platforms.
46839         * tests/test-fputc.c (main): Likewise.
46840         * tests/test-fread.c (main): Likewise.
46841         * tests/test-fwrite.c (main): Likewise.
46842         Reported by Jim Meyering.
46844 2011-09-27  Bruno Haible  <bruno@clisp.org>
46846         fputc, fwrite tests: Avoid test failure on MSVC.
46847         * tests/test-fgetc.c: Include msvc-inval.h.
46848         (main): Invoke gl_msvc_inval_ensure_handler.
46849         * tests/test-fputc.c: Include msvc-inval.h.
46850         (main): Invoke gl_msvc_inval_ensure_handler.
46851         * tests/test-fread.c: Include msvc-inval.h.
46852         (main): Invoke gl_msvc_inval_ensure_handler.
46853         * tests/test-fwrite.c: Include msvc-inval.h.
46854         (main): Invoke gl_msvc_inval_ensure_handler.
46855         * modules/fgetc-tests (Depends-on): Add msvc-inval.
46856         * modules/fputc-tests (Depends-on): Likewise.
46857         * modules/fread-tests (Depends-on): Likewise.
46858         * modules/fwrite-tests (Depends-on): Likewise.
46860 2011-09-27  Bruno Haible  <bruno@clisp.org>
46862         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
46863         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
46864         (raise): Remove older, duplicated declaration.
46865         (_gl_raise_SIGPIPE): New declaration.
46866         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
46867         (rpl_raise): Remove function.
46868         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
46869         a gnulib-defined SIGPIPE here.
46870         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
46871         'sigprocmask' has detected missing signal-blocking and the module
46872         'sigpipe' is enabled.
46873         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
46875 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
46877         base64-tests: avoid memory leak
46878         * tests/test-base64.c (main): Plug memory leak.
46880         base32: new module
46881         * modules/base32: New module.
46882         * lib/base32.c: New file.
46883         * lib/base32.h: Likewise.
46884         * m4/base32.m4: Likewise.
46885         * modules/base32-tests: New test.
46886         * tests/test-base32.c: Likewise.
46887         * MODULES.html.sh (Misc): Mention it.
46889 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46891         gnulib: use more-standard license notice wording
46892         * gnulib-tool (func_emit_copyright_notice): When emitting a
46893         license notice into a file, use the standard wording as suggested
46894         by the current information for GNU maintainers, except say "file"
46895         rather than "program".  The new wording gives a license version
46896         number, which addresses an issue raised by Glenn Morris in
46897         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
46898         * m4/onceonly.m4: Use that same wording here, too.
46900         dup2: minor simplification
46901         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
46902         as lib/dup2.c no longer uses 'inline'.
46904 2011-09-25  Bruno Haible  <bruno@clisp.org>
46906         strings: Fix compilation error on MSVC.
46907         * lib/strings.in.h: Include <stddef.h> for size_t.
46909 2011-09-25  Bruno Haible  <bruno@clisp.org>
46911         fflush et al.: Document limitation on MSVC.
46912         * doc/posix-functions/fflush.texi: Document possible crash in handling
46913         mode other than DEFAULT_HANDLING.
46914         * doc/posix-functions/fgetc.texi: Likewise.
46915         * doc/posix-functions/fputc.texi: Likewise.
46916         * doc/posix-functions/fread.texi: Likewise.
46917         * doc/posix-functions/fwrite.texi: Likewise.
46919 2011-09-25  Bruno Haible  <bruno@clisp.org>
46921         msvc-inval: Allow three invalid parameter handling modes.
46922         * lib/msvc-inval.h: Don't include <stdlib.h> here.
46923         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
46924         macros.
46925         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
46926         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
46927         SANE_LIBRARY_HANDLING as a no-op.
46928         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
46929         <stdlib.h>.
46930         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
46932 2011-09-25  Bruno Haible  <bruno@clisp.org>
46934         msvc-inval: Make handler multithread-safe.
46935         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
46936         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
46937         declarations.
46938         (gl_msvc_inval_current): New declaration.
46939         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
46940         Operate on the structure returned by gl_msvc_inval_current().
46941         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
46942         Remove varaiables.
46943         (tls_index, tls_initialized): New variables.
46944         (not_per_thread): New variable.
46945         (gl_msvc_inval_current): New function.
46946         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
46947         returned by gl_msvc_inval_current().
46949 2011-09-25  Bruno Haible  <bruno@clisp.org>
46951         msvc-inval: Install handler globally.
46952         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
46953         !_MSC_VER.
46954         (gl_msvc_invalid_parameter_handler): Remove declaration.
46955         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
46956         declarations.
46957         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
46958         Install the handler globally, don't uninstall it.
46959         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
46960         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
46961         currently valid, call RaiseException instead.
46962         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
46963         for !_MSC_VER.
46965 2011-09-25  Bruno Haible  <bruno@clisp.org>
46967         strerror_r-posix: Fix for MSVC 9.
46968         * lib/strerror_r.c (local_snprintf): New function.
46969         (snprintf): Define to local_snprintf, not to _snprintf.
46971 2011-09-25  Bruno Haible  <bruno@clisp.org>
46973         ftruncate: Support for MSVC 9.
46974         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
46975         (chsize_nothrow): New function.
46976         (chsize): Redefine as a macro.
46977         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
46978         * modules/ftruncate (Depends-on): Add msvc-inval.
46980 2011-09-25  Bruno Haible  <bruno@clisp.org>
46982         New module 'fstat'.
46983         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
46984         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
46985         * lib/fchdir.c (rpl_fstat): Remove function.
46986         * m4/fstat.m4: New file.
46987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
46988         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
46989         declared.
46990         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
46991         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
46992         * modules/fstat: New file.
46993         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
46994         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
46995         is set.
46996         * doc/posix-functions/fstat.texi: Mention the new module and the
46997         problem on MSVC.
46998         * NEWS: Mention the change.
46999         * modules/acl (Depends-on): Add fstat.
47000         * modules/chdir-safer (Depends-on): Likewise.
47001         * modules/chown (Depends-on): Likewise.
47002         * modules/copy-file (Depends-on): Likewise.
47003         * modules/fchdir (Depends-on): Likewise.
47004         * modules/fdopendir (Depends-on): Likewise.
47005         * modules/fopen (Depends-on): Likewise.
47006         * modules/fts (Depends-on): Likewise.
47007         * modules/getcwd (Depends-on): Likewise.
47008         * modules/isapipe (Depends-on): Likewise.
47009         * modules/linkat (Depends-on): Likewise.
47010         * modules/lseek (Depends-on): Likewise.
47011         * modules/mkdir-p (Depends-on): Likewise.
47012         * modules/open (Depends-on): Likewise.
47013         * modules/openat (Depends-on): Likewise.
47014         * modules/read-file (Depends-on): Likewise.
47015         * modules/renameat (Depends-on): Likewise.
47016         * modules/utimens (Depends-on): Likewise.
47018 2011-09-25  Bruno Haible  <bruno@clisp.org>
47020         linkat: Fix compilation on MSVC 9.
47021         * lib/linkat.c: Don't include <stdint.h>.
47023 2011-09-25  Bruno Haible  <bruno@clisp.org>
47025         fclose: Support for MSVC 9.
47026         * lib/fclose.c: Include msvc-inval.h.
47027         (fclose_nothrow): New function.
47028         (rpl_fclose): Use it.
47029         * modules/fclose (Depends-on): Add msvc-inval.
47030         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
47032 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47034         dup2: minor simplifications
47035         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
47036         that it's a performance win.
47037         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
47038         ! defined __CYGWIN__)" to "ifdef F_GETFL".
47040 2011-09-24  Jim Meyering  <meyering@redhat.com>
47042         test-futimens: avoid a warning from gcc -Wshadow
47043         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
47044         to avoid a shadowing warning.
47046 2011-09-24  Bruno Haible  <bruno@clisp.org>
47048         fdopen: Support for MSVC 9.
47049         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
47050         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
47051         * lib/fdopen.c: Include msvc-inval.h.
47052         (fdopen_nothrow): New function.
47053         (rpl_fdopen): Use it.
47054         * modules/fdopen (Depends-on): Add msvc-inval.
47055         * modules/fclose-tests (Depends-on): Add fdopen.
47056         * modules/fflush-tests (Depends-on): Likewise.
47057         * modules/fgetc-tests (Depends-on): Likewise.
47058         * modules/fputc-tests (Depends-on): Likewise.
47059         * modules/fread-tests (Depends-on): Likewise.
47060         * modules/freopen-tests (Depends-on): Likewise.
47061         * modules/fseeko-tests (Depends-on): Likewise.
47062         * modules/ftello-tests (Depends-on): Likewise.
47063         * modules/fwrite-tests  (Depends-on): Likewise.
47064         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
47066 2011-09-24  Bruno Haible  <bruno@clisp.org>
47068         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
47069         * modules/fgetc-tests (Depends-on): Add unistd.
47070         * modules/fputc-tests (Depends-on): Likewise.
47071         * modules/fread-tests (Depends-on): Likewise.
47072         * modules/fwrite-tests (Depends-on): Likewise.
47074 2011-09-24  Bruno Haible  <bruno@clisp.org>
47076         dup: Simplify autoconf test.
47077         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
47078         on gl_MSVC_INVAL's result.
47080 2011-09-24  Bruno Haible  <bruno@clisp.org>
47082         Tests for function fwrite().
47083         * modules/fwrite-tests: New file.
47084         * tests/test-fwrite.c: New file.
47085         * modules/stdio-tests (Depends-on): Add fwrite-tests.
47087         Tests for function fread().
47088         * modules/fread-tests: New file.
47089         * tests/test-fread.c: New file.
47090         * modules/stdio-tests (Depends-on): Add fread-tests.
47092         Activate fputc tests.
47093         * modules/stdio-tests (Depends-on): Add fputc-tests.
47095         Enhance fgetc, fputc tests.
47096         * tests/test-fgetc.c (main): Also test the stream's error indicator.
47097         * tests/test-fputc.c (main): Likewise.
47099 2011-09-24  Bruno Haible  <bruno@clisp.org>
47101         write: Support for MSVC 9.
47102         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47103         is not 1.
47104         * lib/write.c (write_nothrow): New function.
47105         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
47106         not 1. Use write_nothrow.
47107         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
47108         invalid parameter handler.
47109         (gl_PREREQ_WRITE): New macro.
47110         * modules/write (Depends-on): Add msvc-inval.
47111         (configure.ac): Invoke gl_PREREQ_WRITE.
47112         * doc/posix-functions/write.texi: Mention the problem on MSVC.
47114 2011-09-24  Bruno Haible  <bruno@clisp.org>
47116         read: Fix last commit.
47117         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
47119 2011-09-24  Bruno Haible  <bruno@clisp.org>
47121         dup2: Fix last commit.
47122         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
47123         (rpl_dup2): Disable fcntl workaround on native Windows.
47125         sigprocmask: Make code safer.
47126         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
47127         section that changes macro definitions for this compilation unit.
47129 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47131         dup2: clarify by coalescing Windows-specific material
47132         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
47133         "msvc-nothrow.h"' to the Windows-specific section, so that the
47134         Emacs source need not contain these include files.
47135         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
47136         Windows-specific fixes into this function rather than just the
47137         nothrow fix, as this shortens and clarifies the code.  Always
47138         define as a function, as that's a bit cleaner than having it be
47139         sometimes a function and sometimes a macro.
47140         (rpl_dup2): Move the Windows-specific stuff out of here and into
47141         ms_windows_dup2.  Don't protect the Haiku-related fix with
47142         "#if !defined __linux__", as the same code also works around
47143         a Linux kernel bug, and it doesn't add any system calls on any
47144         platform.  Add comment about FreeBSD 6.1.
47146         sigprocmask: move #include directive
47147         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
47148         Windows-specific section, so that the Emacs source need not
47149         contain msvc-inval.h.
47151 2011-09-23  Bruno Haible  <bruno@clisp.org>
47153         read: Support for MSVC 9.
47154         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47155         is not 1.
47156         * lib/read.c (read_nothrow): New function.
47157         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
47158         read_nothrow.
47159         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
47160         invalid parameter handler.
47161         (gl_PREREQ_READ): New macro.
47162         * modules/read (Depends-on): Add msvc-inval.
47163         (configure.ac): Invoke gl_PREREQ_READ.
47164         * doc/posix-functions/read.texi: Mention the problem on MSVC.
47166 2011-09-23  Bruno Haible  <bruno@clisp.org>
47168         close: Support for MSVC 9.
47169         * lib/close.c: Include <errno.h>, msvc-inval.h.
47170         (close_nothrow): New function.
47171         (rpl_close): Use it.
47172         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
47173         invalid parameter handler.
47174         * modules/close (Depends-on): Add msvc-inval.
47175         * modules/dup2-tests (Depends-on): Add close.
47176         * modules/dup3-tests (Depends-on): Likewise.
47177         * modules/fcntl-tests (Depends-on): Likewise.
47178         * modules/spawn-pipe-tests (Depends-on): Likewise.
47179         * modules/unistd-safer-tests (Depends-on): Likewise.
47180         * doc/posix-functions/close.texi: Mention the problem on MSVC.
47182 2011-09-23  Bruno Haible  <bruno@clisp.org>
47184         New module 'dup'.
47185         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
47186         Allow replacement.
47187         * lib/dup.c: New file.
47188         * lib/fchdir.c (rpl_dup): Remove function.
47189         * m4/dup.m4: New file.
47190         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
47191         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
47192         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
47193         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
47194         * modules/dup: New file.
47195         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
47196         'dup' module is in use.
47197         * modules/fdopendir (Depends-on): Add dup.
47198         * modules/fdutimensat-tests (Depends-on): Likewise.
47199         * modules/fts (Depends-on): Likewise.
47200         * modules/futimens-tests (Depends-on): Likewise.
47201         * modules/posix_spawnp-tests (Depends-on): Likewise.
47202         * modules/unistd-safer-tests (Depends-on): Likewise.
47203         * modules/utimens-tests (Depends-on): Likewise.
47204         * doc/posix-functions/dup.texi: Mention the new module and the problem
47205         on MSVC.
47207 2011-09-23  Bruno Haible  <bruno@clisp.org>
47209         getdtablesize: Support for MSVC 9.
47210         * lib/getdtablesize.c: Include msvc-inval.h.
47211         (_setmaxstdio_nothrow): New function.
47212         (_setmaxstdio): Redefine it.
47213         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
47214         * modules/getdtablesize (Depends-on): Add msvc-inval.
47215         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
47217 2011-09-23  Bruno Haible  <bruno@clisp.org>
47219         signal-h: Rename from signal.
47220         * modules/signal-h: Renamed from modules/signal.
47221         * modules/pthread_sigmask (Depends-on): Update.
47222         * modules/raise (Depends-on): Likewise.
47223         * modules/sigaction (Depends-on): Likewise.
47224         * modules/sigpipe (Depends-on): Likewise.
47225         * modules/sigprocmask (Depends-on): Likewise.
47226         * modules/sys_select (Depends-on): Likewise.
47227         * modules/signal-h-tests: Renamed from modules/signal-tests.
47228         (Files, Depends-on, Makefile.am): Update.
47229         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
47230         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
47231         (Files, Makefile.am): Update.
47232         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
47233         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
47234         * modules/signal: New placeholder file.
47235         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
47236         * doc/posix-headers/signal.texi: Update.
47237         * NEWS: Mention the change.
47239 2011-09-23  Bruno Haible  <bruno@clisp.org>
47241         sigprocmask: Avoid crashes through signal() on MSVC 9.
47242         * lib/sigprocmask.c: Include msvc-inval.h.
47243         (signal_nothrow): New function.
47244         (signal): Redefine it.
47245         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
47246         * modules/sigprocmask (Depends-on): Add msvc-inval.
47247         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
47249 2011-09-23  Bruno Haible  <bruno@clisp.org>
47251         Tests for module 'raise'.
47252         * modules/raise-tests: New file.
47253         * tests/test-raise.c: New file.
47255         raise: Support for MSVC.
47256         * lib/signal.in.h (raise): New declaration.
47257         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
47258         for native Windows platforms.
47259         * m4/raise.m4: New file.
47260         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
47261         HAVE_RAISE, REPLACE_RAISE.
47262         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
47263         REPLACE_RAISE.
47264         * modules/raise (Status, Notice): Remove fields.
47265         (Files): Add m4/raise.m4.
47266         (Depends-on): Add signal, msvc-inval.
47267         (configure.ac): Use the common idioms.
47268         (Maintainer): Add me.
47269         * tests/test-signal-c++.cc: Check the signature of raise.
47270         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
47272 2011-09-23  Bruno Haible  <bruno@clisp.org>
47274         pipe2: Fix compilation on pre-C99 compilers.
47275         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
47277 2011-09-23  Bruno Haible  <bruno@clisp.org>
47279         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
47280         * lib/msvc-nothrow.h: New file.
47281         * lib/msvc-nothrow.c: New file.
47282         * m4/msvc-nothrow.m4: New file.
47283         * modules/msvc-nothrow: New file.
47284         * lib/dup2.c: Include msvc-nothrow.h.
47285         (rpl_dup2): No need to protect _get_osfhandle call here.
47286         * lib/accept4.c: Include msvc-nothrow.h.
47287         * lib/error.c: Likewise.
47288         * lib/fcntl.c: Likewise.
47289         * lib/lseek.c: Likewise.
47290         * lib/nonblocking.c: Likewise.
47291         * lib/poll.c: Likewise.
47292         * lib/read.c: Likewise.
47293         * lib/select.c: Likewise.
47294         * lib/sockets.h: Likewise.
47295         * lib/sockets.c: Likewise.
47296         * lib/stdio-read.c: Likewise.
47297         * lib/stdio-write.c: Likewise.
47298         * lib/write.c: Likewise.
47299         * lib/w32sock.h: Likewise.
47300         * lib/w32spawn.h: Likewise.
47301         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
47302         * lib/fsync.c: Likewise.
47303         * lib/isapipe.c: Likewise.
47304         * modules/dup2 (Depends-on): Add msvc-nothrow.
47305         * modules/accept4 (Depends-on): Likewise.
47306         * modules/error (Depends-on): Likewise.
47307         * modules/fcntl (Depends-on): Likewise.
47308         * modules/lseek (Depends-on): Likewise.
47309         * modules/nonblocking (Depends-on): Likewise.
47310         * modules/poll (Depends-on): Likewise.
47311         * modules/read (Depends-on): Likewise.
47312         * modules/select (Depends-on): Likewise.
47313         * modules/sockets (Depends-on): Likewise.
47314         * modules/sigpipe (Depends-on): Likewise.
47315         * modules/write (Depends-on): Likewise.
47316         * modules/accept (Depends-on): Likewise.
47317         * modules/bind (Depends-on): Likewise.
47318         * modules/connect (Depends-on): Likewise.
47319         * modules/gethostname (Depends-on): Likewise.
47320         * modules/getpeername (Depends-on): Likewise.
47321         * modules/getsockname (Depends-on): Likewise.
47322         * modules/getsockopt (Depends-on): Likewise.
47323         * modules/ioctl (Depends-on): Likewise.
47324         * modules/listen (Depends-on): Likewise.
47325         * modules/recv (Depends-on): Likewise.
47326         * modules/recvfrom (Depends-on): Likewise.
47327         * modules/send (Depends-on): Likewise.
47328         * modules/sendto (Depends-on): Likewise.
47329         * modules/setsockopt (Depends-on): Likewise.
47330         * modules/shutdown (Depends-on): Likewise.
47331         * modules/socket (Depends-on): Likewise.
47332         * modules/execute (Depends-on): Likewise.
47333         * modules/spawn-pipe (Depends-on): Likewise.
47334         * modules/flock (Depends-on): Likewise.
47335         * modules/fsync (Depends-on): Likewise.
47336         * modules/isapipe (Depends-on): Likewise.
47337         * tests/test-cloexec.c: Include msvc-nothrow.h.
47338         * tests/test-dup-safer.c: Likewise.
47339         * tests/test-dup2.c: Likewise.
47340         * tests/test-dup3.c: Likewise.
47341         * tests/test-fcntl.c: Likewise.
47342         * tests/test-pipe.c: Likewise.
47343         * tests/test-pipe2.c: Likewise.
47344         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
47345         * modules/unistd-safer-tests (Depends-on): Likewise.
47346         * modules/dup2-tests (Depends-on): Likewise.
47347         * modules/dup3-tests (Depends-on): Likewise.
47348         * modules/fcntl-tests (Depends-on): Likewise.
47349         * modules/pipe-posix-tests (Depends-on): Likewise.
47350         * modules/pipe2-tests (Depends-on): Likewise.
47352 2011-09-23  Bruno Haible  <bruno@clisp.org>
47354         dup2: Make code more maintainable.
47355         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
47356         (rpl_dup2): Use it.
47357         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
47358         * modules/dup2 (configure.ac): Invoke it.
47359         Reported by Paul Eggert.
47361 2011-09-23  Bruno Haible  <bruno@clisp.org>
47363         msvc-inval: Fix compilation error.
47364         * lib/msvc-inval.h: Include <excpt.h>.
47366 2011-09-23  Bruno Haible  <bruno@clisp.org>
47368         mkdir: Tweak for MSVC 9.
47369         * lib/sys_stat.in.h: Update comments.
47370         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
47372         Tests for module 'chdir'.
47373         * modules/chdir-tests: New file.
47374         * tests/test-chdir.c: New file.
47376         New module 'chdir'.
47377         * modules/chdir: New file.
47378         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
47379         (chdir): New declaration.
47380         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
47381         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
47382         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
47383         * tests/test-unistd-c++.cc: Check signature of chdir.
47384         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
47385         * modules/chdir-long (Depends-on): Add chdir.
47386         * modules/fchdir (Depends-on): Likewise.
47387         * modules/rename (Depends-on): Likewise.
47388         * modules/savewd (Depends-on): Likewise.
47390         rmdir: Support for mingw, MSVC 9.
47391         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
47392         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
47394         getcwd: Tweak for MSVC 9.
47395         * lib/unistd.in.h: Update comments.
47396         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
47398 2011-09-22  Bruno Haible  <bruno@clisp.org>
47400         strerror_r-posix: Avoid a link error on MSVC.
47401         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
47402         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
47404 2011-09-22  Bruno Haible  <bruno@clisp.org>
47406         select: Avoid link errors on MSVC.
47407         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
47408         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
47409         * modules/pselect (Link): Likewise.
47410         * NEWS: Mention the change.
47411         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
47412         test-select-stdin against $(LIB_SELECT).
47413         * modules/pselect-tests (Makefile.am): Link test-pselect against
47414         $(LIB_SELECT).
47416 2011-09-22  Bruno Haible  <bruno@clisp.org>
47418         select: Avoid compilation error on MSVC.
47419         * lib/select.c: Don't include <stdbool.h>.
47421 2011-09-21  Bruno Haible  <bruno@clisp.org>
47423         Consolidate all uses of PATH_MAX in *.m4 files.
47424         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
47425         macros.
47426         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
47427         and gl_PATHMAX_SNIPPET.
47428         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
47429         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47430         * modules/chdir-long (Files): Add m4/pathmax.m4.
47431         * modules/getcwd (Files): Likewise.
47433 2011-09-21  Bruno Haible  <bruno@clisp.org>
47435         ftruncate: Un-deprecate, concentrate on Win32 support.
47436         * modules/ftruncate (Status, Notice): Remove sections.
47437         (Depends-on): Add largefile.
47438         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
47439         non-mingw platforms.
47440         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
47441         include <io.h>.
47442         * modules/perror-tests (Depends-on): Add ftruncate.
47443         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
47444         'ftruncate' module.
47446 2011-09-21  Bruno Haible  <bruno@clisp.org>
47448         Add dependencies to new dirent related modules.
47449         * modules/opendir (Depends-on): Add closedir.
47450         * modules/getcwd (Depends-on): Add opendir, closedir.
47451         * modules/dirent-safer-tests (Depends-on): Likewise.
47452         * modules/fdopendir-tests (Depends-on): Likewise.
47453         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
47454         * modules/renameat-tests (Depends-on): Likewise.
47456 2011-09-21  Bruno Haible  <bruno@clisp.org>
47458         opendir: Avoid compilation error on mingw.
47459         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
47460         * modules/opendir (Depends-on): Add unistd.
47462 2011-09-21  Bruno Haible  <bruno@clisp.org>
47464         ftruncate tests: Avoid a test failure on mingw.
47465         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
47467 2011-09-21  Bruno Haible  <bruno@clisp.org>
47469         select tests: Avoid test failures on OSF/1 5.1 and mingw.
47470         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
47471         native Windows.
47473 2011-09-21  Bruno Haible  <bruno@clisp.org>
47475         New module 'fdopen'.
47476         * lib/stdio.in.h (fdopen): New declaration.
47477         * lib/fdopen.c: New file.
47478         * m4/fdopen.m4: New file.
47479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
47480         REPLACE_FDOPEN.
47481         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
47482         REPLACE_FDOPEN.
47483         * modules/fdopen: New file.
47484         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
47485         * tests/test-stdio-c++.cc: Check signature of fdopen.
47486         * doc/posix-functions/fdopen.texi: Mention the new module.
47488 2011-09-21  Bruno Haible  <bruno@clisp.org>
47490         unlockpt tests: Avoid test failure on NetBSD 5.1.
47491         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
47492         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
47494 2011-09-21  Bruno Haible  <bruno@clisp.org>
47496         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
47497         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
47498         * tests/test-getlogin_r.c (main): Likewise.
47500 2011-09-20  Bruno Haible  <bruno@clisp.org>
47502         time tests: Don't require pid_t.
47503         * doc/posix-headers/time.texi: Revert last change.
47504         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
47505         * tests/test-time.c: Comment out the check for pid_t.
47507 2011-09-20  Bruno Haible  <bruno@clisp.org>
47509         fsync tests: Avoid a test failure on mingw.
47510         * tests/test-fsync.c (main): Allow a failure with EIO.
47512 2011-09-20  Bruno Haible  <bruno@clisp.org>
47514         euidaccess: Update comments.
47515         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
47517 2011-09-20  Bruno Haible  <bruno@clisp.org>
47519         Ensure EBADF returns for socket functions on mingw.
47520         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
47521         descriptor is invalid.
47522         * lib/bind.c (rpl_bind): Likewise.
47523         * lib/connect.c (rpl_connect): Likewise.
47524         * lib/getpeername.c (rpl_getpeername): Likewise.
47525         * lib/getsockname.c (rpl_getsockname): Likewise.
47526         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47527         * lib/listen.c (rpl_listen): Likewise.
47528         * lib/recv.c (rpl_recv): Likewise.
47529         * lib/recvfrom.c (rpl_recvfrom): Likewise.
47530         * lib/send.c (rpl_send): Likewise.
47531         * lib/sendto.c (rpl_sendto): Likewise.
47532         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47533         * lib/shutdown.c (rpl_shutdown): Likewise.
47535 2011-09-20  Bruno Haible  <bruno@clisp.org>
47537         select tests: EBADF tests.
47538         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
47539         test_bad_fd): New functions.
47540         (test_function): Invoke also test_bad_fd.
47542 2011-09-20  Bruno Haible  <bruno@clisp.org>
47544         Tests for module 'posix_spawn_file_actions_addopen.
47545         * modules/posix_spawn_file_actions_addopen-tests: New file.
47546         * tests/test-posix_spawn_file_actions_addopen.c: New file.
47548         Tests for module 'posix_spawn_file_actions_adddup2'.
47549         * modules/posix_spawn_file_actions_adddup2-tests: New file.
47550         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
47552         Tests for module 'posix_spawn_file_actions_addclose'.
47553         * modules/posix_spawn_file_actions_addclose-tests: New file.
47554         * tests/test-posix_spawn_file_actions_addclose.c: New file.
47556 2011-09-20  Bruno Haible  <bruno@clisp.org>
47558         Tests for module 'unlockpt'.
47559         * modules/unlockpt-tests: New file.
47560         * tests/test-unlockpt.c: New file.
47561         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
47563         Tests for module 'grantpt'.
47564         * modules/grantpt-tests: New file.
47565         * tests/test-grantpt.c: New file.
47566         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
47568 2011-09-20  Bruno Haible  <bruno@clisp.org>
47570         freopen tests: EBADF tests.
47571         * tests/test-freopen.c: Include errno.h, unistd.h.
47572         (main): Add tests for EBADF, commented out for the moment.
47574         fclose tests: EBADF tests.
47575         * tests/test-fclose.c (main): Add tests for EBADF.
47577         fflush tests: EBADF tests.
47578         * tests/test-fflush.c: Include errno.h, macros.h.
47579         (main): Add tests for EBADF.
47581         ftello tests: EBADF tests.
47582         * tests/test-ftello4.sh: New file.
47583         * tests/test-ftello4.c: New file.
47584         * modules/ftello-tests (Files): Add them.
47585         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
47587         fseeko tests: EBADF tests.
47588         * tests/test-fseeko4.sh: New file.
47589         * tests/test-fseeko4.c: New file.
47590         * modules/fseeko-tests (Files): Add them.
47591         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
47593         Tests for function fputc().
47594         * modules/fputc-tests: New file.
47595         * tests/test-fputc.c: New file.
47596         * modules/stdio-tests (Depends-on): Add fputc-tests.
47598         Tests for function fgetc().
47599         * modules/fgetc-tests: New file.
47600         * tests/test-fgetc.c: New file.
47601         * modules/stdio-tests (Depends-on): Add fgetc-tests.
47603         Tests for function fdopen().
47604         * modules/fdopen-tests: New file.
47605         * tests/test-fdopen.c: New file.
47606         * modules/stdio-tests (Depends-on): Add fdopen-tests.
47608         Tests for module 'vdprintf'.
47609         * modules/vdprintf-tests: New file.
47610         * tests/test-vdprintf.c: New file.
47612         Tests for module 'dprintf'.
47613         * modules/dprintf-tests: New file.
47614         * tests/test-dprintf.c: New file.
47616 2011-09-20  Bruno Haible  <bruno@clisp.org>
47618         Tests for module 'ioctl'.
47619         * modules/ioctl-tests: New file.
47620         * tests/test-ioctl.c: New file.
47622 2011-09-20  Bruno Haible  <bruno@clisp.org>
47624         fcntl tests: EBADF tests.
47625         * tests/test-fcntl.c (main): Add more tests for EBADF.
47627 2011-09-20  Bruno Haible  <bruno@clisp.org>
47629         utimensat tests: EBADF tests.
47630         * tests/test-utimensat.c (main): Add tests for EBADF.
47632         renameat tests: EBADF tests.
47633         * tests/test-renameat.c (main): Add tests for EBADF.
47635         mkfifoat tests: EBADF tests.
47636         * tests/test-mkfifoat.c (main): Add tests for EBADF.
47638         readlinkat tests: EBADF tests.
47639         * tests/test-readlinkat.c (main): Add tests for EBADF.
47641         symlinkat tests: EBADF tests.
47642         * tests/test-symlinkat.c (main): Add tests for EBADF.
47644         linkat tests: EBADF tests.
47645         * tests/test-linkat.c (main): Add tests for EBADF.
47647         Tests for module 'faccessat'.
47648         * modules/faccessat-tests: New file.
47649         * tests/test-faccessat.c: New file.
47651         fdopendir tests: EBADF tests.
47652         * tests/test-fdopendir.c (main): Add more tests for EBADF.
47654         openat tests: EBADF tests.
47655         * tests/test-fchownat.c (main): Add tests for EBADF.
47656         * tests/test-fstatat.c (main): Likewise.
47657         * tests/test-mkdirat.c (main): Likewise.
47658         * tests/test-openat.c (main): Likewise.
47659         * tests/test-unlinkat.c (main): Likewise.
47660         * tests/test-fchmodat.c: New file.
47661         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
47662         (Makefile.am): Also run 'test-fchmodat'.
47664 2011-09-20  Bruno Haible  <bruno@clisp.org>
47666         utimens, futimens, fdutimensat tests: EBADF tests.
47667         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
47669         Tests for function fstat().
47670         * modules/fstat-tests: New file.
47671         * tests/test-fstat.c: New file.
47672         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
47674 2011-09-20  Bruno Haible  <bruno@clisp.org>
47676         test-ttyname_r tests: EBADF tests.
47677         * tests/test-ttyname_r.c (main): Add tests for EBADF.
47679         Tests for module 'isatty'.
47680         * modules/isatty-tests: New file.
47681         * tests/test-isatty.c: New file.
47683         Tests for module 'write'.
47684         * modules/write-tests: New file.
47685         * tests/test-write.c: New file.
47687         Tests for module 'read'.
47688         * modules/read-tests: New file.
47689         * tests/test-read.c: New file.
47691         pwrite tests: EBADF tests.
47692         * tests/test-pwrite.c (main): Add tests for EBADF.
47694         pread tests: EBADF tests.
47695         * tests/test-pread.c (main): Add tests for EBADF.
47697         lseek tests: EBADF tests.
47698         * tests/test-lseek.c (main): Add more tests for EBADF.
47700         Tests for module 'ftruncate'.
47701         * modules/ftruncate-tests: New file.
47702         * tests/test-ftruncate.sh: New file.
47703         * tests/test-ftruncate.c: New file.
47705         fsync tests: EBADF tests.
47706         * tests/test-fsync.c (main): Add more tests for EBADF.
47708         fdatasync tests: EBADF tests.
47709         * tests/test-fdatasync.c (main): Add more tests for EBADF.
47711         Tests for module 'fchown'.
47712         * modules/fchown-tests: New file.
47713         * tests/test-fchown.c: New file.
47715         Tests for module 'fchmod'.
47716         * modules/fchmod-tests: New file.
47717         * tests/test-fchmod.c: New file.
47719         fchdir tests: EBADF tests.
47720         * tests/test-fchdir.c (main): Add more tests for EBADF.
47722         dup2 tests: EBADF tests.
47723         * tests/test-dup2.c (main): Add more tests for EBADF.
47725         Tests for module 'dup'.
47726         * modules/dup-tests: New file.
47727         * tests/test-dup.c: New file.
47729         Tests for module 'close'.
47730         * modules/close-tests: New file.
47731         * tests/test-close.c: New file.
47733 2011-09-20  Bruno Haible  <bruno@clisp.org>
47735         Tests for module 'shutdown'.
47736         * modules/shutdown-tests: New file.
47737         * tests/test-shutdown.c: New file.
47739         Tests for module 'setsockopt'.
47740         * modules/setsockopt-tests: New file.
47741         * tests/test-setsockopt.c: New file.
47743         Tests for module 'sendto'.
47744         * modules/sendto-tests: New file.
47745         * tests/test-sendto.c: New file.
47747         Tests for module 'send'.
47748         * modules/send-tests: New file.
47749         * tests/test-send.c: New file.
47751         Tests for module 'recvfrom'.
47752         * modules/recvfrom-tests: New file.
47753         * tests/test-recvfrom.c: New file.
47755         Tests for module 'recv'.
47756         * modules/recv-tests: New file.
47757         * tests/test-recv.c: New file.
47759         Tests for module 'listen'.
47760         * modules/listen-tests: New file.
47761         * tests/test-listen.c: New file.
47763         Tests for module 'getsockopt'.
47764         * modules/getsockopt-tests: New file.
47765         * tests/test-getsockopt.c: New file.
47767         Tests for module 'getsockname'.
47768         * modules/getsockname-tests: New file.
47769         * tests/test-getsockname.c: New file.
47771         Tests for module 'getpeername'.
47772         * modules/getpeername-tests: New file.
47773         * tests/test-getpeername.c: New file.
47775         Tests for module 'connect'.
47776         * modules/connect-tests: New file.
47777         * tests/test-connect.c: New file.
47779         Tests for module 'bind'.
47780         * modules/bind-tests: New file.
47781         * tests/test-bind.c: New file.
47783         accept4 tests: Fix for native Windows.
47784         * tests/test-accept4.c: Include sockets.h.
47785         (main): Invoke gl_sockets_startup.
47786         * modules/accept4-tests (Depends-on): Add sockets.
47788         accept tests: Fix for native Windows.
47789         * tests/test-accept.c: Include sockets.h.
47790         (main): Invoke gl_sockets_startup.
47791         * modules/accept-tests (Depends-on): Add sockets.
47793 2011-09-19  Bruno Haible  <bruno@clisp.org>
47795         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
47796         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
47797         do...while(0).
47798         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
47799         Suggested by Paul Eggert.
47801 2011-09-19  Bruno Haible  <bruno@clisp.org>
47803         sched: Ensure pid_t is defined.
47804         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
47805         not define pid_t.
47806         * lib/sched.in.h: Include <sys/types.h>.
47807         * doc/posix-headers/sched.texi: Mention the pid_t problem.
47808         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47810 2011-09-19  Bruno Haible  <bruno@clisp.org>
47812         msvc-inval: Ensure the entire expansion is a single statement.
47813         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
47814         of braces.
47816 2011-09-19  Jim Meyering  <meyering@redhat.com>
47818         tests: use printf, not echo in init.sh's warn_ function
47819         * tests/init.sh (warn_): Use printf, not echo.  The latter would
47820         misbehave when given strings containing a backslash or starting
47821         with e.g., -n.  James Youngman suggested setting IFS.
47823 2011-09-19  Eric Blake  <eblake@redhat.com>
47825         futimens: enhance test
47826         * tests/test-futimens.h (test_futimens): Also check for EBADF on
47827         closed non-negative fd.
47829         date: accept 'hence' as opposite of 'ago'
47830         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
47831         * tests/test-parse-datetime.c (main): Enhance test.
47832         Suggested by Jesse Wilson.
47834 2011-09-19  Jim Meyering  <meyering@redhat.com>
47836         getcwd: don't fail in a deep directory on a system without openat
47837         Before this change, getcwd would fail when called from a directory
47838         of depth PATH_MAX / 3 or greater.  That was due to the fact that
47839         the non-openat implementation used "..", "../..", "../../..", etc.
47840         to access ancestor directories.  With too many, that string would
47841         be longer than PATH_MAX.
47842         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
47843         using gnulib's openat replacement.
47844         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
47845         we're using the replacement function.
47847 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
47849         maint.mk: avoid warnings from perl about missing files
47850         * top/maint.mk (def_sym_regex): Ignore files listed in
47851         $(gl_other_headers_) that do not exist, say because a project
47852         does not use a corresponding module.
47854 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47856         stat: use pathmax.h only if needed
47857         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
47858         This is better for Emacs, which does not have a mingw port and
47859         therefore can avoid the pathmax module.
47861         utimens: remove dependency on dup2
47862         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
47863         to work around the Linux kernel bug.
47864         * modules/utimens (Depends-on): Remove dup2.
47866 2011-09-18  Bruno Haible  <bruno@clisp.org>
47868         inet_ntop, inet_pton: Look for it also in libresolv.
47869         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
47870         libnsl, search for it in libresolv.
47871         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47872         Needed on Solaris 7.
47874 2011-09-18  Bruno Haible  <bruno@clisp.org>
47876         accept, accept4 tests: Avoid link error on Solaris.
47877         * modules/accept-tests (Makefile.am): Link test-accept against
47878         $(LIBSOCKET).
47879         * modules/accept4-tests (Makefile.am): Link test-accept4 against
47880         $(LIBSOCKET).
47882         accept4: Avoid link error on Solaris.
47883         * modules/accept4 (Link): New section.
47885         socket functions: Avoid link errors on Solaris.
47886         * modules/accept (Depends-on): Add socketlib.
47887         (Link): New section.
47888         * modules/bind (Depends-on): Add socketlib.
47889         (Link): New section.
47890         * modules/connect (Depends-on): Add socketlib.
47891         (Link): New section.
47892         * modules/getpeername (Depends-on): Add socketlib.
47893         (Link): New section.
47894         * modules/getsockname (Depends-on): Add socketlib.
47895         (Link): New section.
47896         * modules/getsockopt (Depends-on): Add socketlib.
47897         (Link): New section.
47898         * modules/listen (Depends-on): Add socketlib.
47899         (Link): New section.
47900         * modules/recv (Depends-on): Add socketlib.
47901         (Link): New section.
47902         * modules/recvfrom (Depends-on): Add socketlib.
47903         (Link): New section.
47904         * modules/send (Depends-on): Add socketlib.
47905         (Link): New section.
47906         * modules/sendto (Depends-on): Add socketlib.
47907         (Link): New section.
47908         * modules/setsockopt (Depends-on): Add socketlib.
47909         (Link): New section.
47910         * modules/shutdown (Depends-on): Add socketlib.
47911         (Link): New section.
47912         * modules/socket (Depends-on): Add socketlib.
47913         (Link): New section.
47915 2011-09-18  Bruno Haible  <bruno@clisp.org>
47917         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
47918         * tests/test-ptsname.c (main): Terminate the test if it takes longer
47919         than 5 seconds.
47920         * modules/ptsname-tests (configure.ac): Test for alarm.
47922 2011-09-18  Bruno Haible  <bruno@clisp.org>
47924         posix_spawn_file_actions_add*: Fix module dependencies.
47925         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
47926         posix_spawn_file_actions_init.
47927         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
47928         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
47930 2011-09-18  Bruno Haible  <bruno@clisp.org>
47932         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
47933         * tests/test-rename.h (test_rename): Allow error code EEXIST.
47934         * tests/test-renameat.c (main): Likewise.
47936 2011-09-18  Bruno Haible  <bruno@clisp.org>
47938         Tests for module 'accept4'.
47939         * modules/accept4-tests: New file.
47940         * tests/test-accept4.c: New file.
47942 2011-09-18  Bruno Haible  <bruno@clisp.org>
47944         Tests for module 'accept'.
47945         * modules/accept-tests: New file.
47946         * tests/test-accept.c: New file.
47948 2011-09-18  Bruno Haible  <bruno@clisp.org>
47950         dup2: Support for MSVC.
47951         * lib/dup2.c: Include msvc-inval.h.
47952         (rpl_dup2): Handle invalid parameter notifications during dup2 and
47953         _get_osfhandle calls.
47954         * modules/dup2 (Depends-on): Add msvc-inval.
47955         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
47957         New module 'msvc-inval'.
47958         * lib/msvc-inval.h: New file.
47959         * lib/msvc-inval.c: New file.
47960         * m4/msvc-inval.m4: New file.
47961         * modules/msvc-inval: New file.
47963 2011-09-17  Bruno Haible  <bruno@clisp.org>
47965         Tests for module 'pclose'.
47966         * modules/pclose-tests: New file.
47968         New module 'pclose'.
47969         * lib/stdio.in.h (pclose): New declaration.
47970         * lib/pclose.c: New file.
47971         * m4/pclose.m4: New file.
47972         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
47973         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
47974         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
47975         * modules/pclose: New file.
47976         * modules/popen-tests (Depends-on): Add pclose.
47977         * modules/popen-safer-tests (Depends-on): Likewise.
47978         * doc/posix-functions/pclose.texi: Mention the new module.
47980 2011-09-17  Bruno Haible  <bruno@clisp.org>
47982         popen: Support for MSVC.
47983         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
47984         * lib/popen.c (popen): Provide alternate definition for native Windows.
47985         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
47986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
47987         * modules/popen (Depends-on, configure.ac): Update condition.
47988         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
47989         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
47990         fixed.
47992 2011-09-17  Bruno Haible  <bruno@clisp.org>
47994         isnanl, isnand, isnanf: Work around MSVC bug.
47995         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
47997 2011-09-17  Bruno Haible  <bruno@clisp.org>
47999         sys_socket tests: Fix recent mistake.
48000         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
48002 2011-09-17  Bruno Haible  <bruno@clisp.org>
48004         putenv: Support for MSVC.
48005         * modules/putenv (Depends-on): Add environ.
48006         * lib/putenv.c (environ): Disable declaration.
48007         * lib/unistd.in.h: Update comment.
48009 2011-09-17  Bruno Haible  <bruno@clisp.org>
48011         math: Avoid macro redefinition warnings on MSVC.
48012         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
48013         Undefine before redefining.
48015 2011-09-17  Bruno Haible  <bruno@clisp.org>
48017         doc: Mention functions which are declared as macros.
48018         * doc/posix-functions/*[fl].texi: Mention that some functions are
48019         defined as macros with arguments only.
48021 2011-09-17  Bruno Haible  <bruno@clisp.org>
48023         Add dependencies to new dirent related modules.
48024         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
48025         * modules/fts (Depends-on): Likewise.
48026         * modules/glob (Depends-on): Likewise.
48027         * modules/savedir (Depends-on): Likewise.
48028         * modules/scandir (Depends-on): Likewise.
48029         * modules/dirent-safer (Depends-on): Add opendir, closedir.
48030         * modules/fdopendir (Depends-on): Add opendir.
48032 2011-09-17  Bruno Haible  <bruno@clisp.org>
48034         inet_pton: Support for MSVC on Windows Vista or newer.
48035         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
48036         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
48037         HAVE_DECL_INET_PTON is defined.
48038         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48039         On platforms with <winsock2.h>, test whether inet_pton is declared in
48040         <ws2tcpip.h>. If so, arrange to replace it.
48041         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48042         REPLACE_INET_PTON.
48043         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
48044         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
48045         (Depends-on, configure.ac): Update condition.
48046         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
48048 2011-09-17  Bruno Haible  <bruno@clisp.org>
48050         inet_ntop: Support for MSVC on Windows Vista or newer.
48051         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
48052         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
48053         HAVE_DECL_INET_NTOP is defined.
48054         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48055         On platforms with <winsock2.h>, test whether inet_ntop is declared in
48056         <ws2tcpip.h>. If so, arrange to replace it.
48057         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48058         REPLACE_INET_NTOP.
48059         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
48060         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
48061         (Depends-on, configure.ac): Update condition.
48062         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
48064 2011-09-16  Eric Blake  <eblake@redhat.com>
48066         test-fsync: yet another enhancement
48067         * tests/test-fsync.c (main): Also test behavior on read-only text
48068         file.
48070 2011-09-16  Bruno Haible  <bruno@clisp.org>
48072         Enhance fsync, fdatasync tests.
48073         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
48074         * tests/test-fdatasync.c (main): Likewise.
48076 2011-09-16  Bruno Haible  <bruno@clisp.org>
48078         Support for MSVC compiler: Ensure mode_t gets defined.
48079         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
48080         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48081         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48082         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
48083         * tests/test-fcntl-h.c: Check that mode_t is defined.
48084         * tests/test-sys_stat.c: Likewise.
48085         * tests/test-sys_types.c: Likewise.
48086         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
48087         * doc/posix-headers/sys_stat.texi: Likewise.
48088         * doc/posix-headers/sys_types.texi: Likewise.
48090 2011-09-16  Bruno Haible  <bruno@clisp.org>
48092         sys_stat: Support for MSVC.
48093         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
48094         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
48095         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
48096         MSVC.
48098 2011-09-16  Bruno Haible  <bruno@clisp.org>
48100         Support for MSVC compiler: Ensure off_t gets defined.
48101         * lib/unistd.in.h: Include <sys/types.h>.
48102         * tests/test-fcntl-h.c: Check that off_t is defined.
48103         * tests/test-sys_stat.c: Likewise.
48104         * tests/test-sys_types.c: Likewise.
48106 2011-09-16  Eric Blake  <eblake@redhat.com>
48108         fdatasync: port to Solaris
48109         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
48110         * modules/fdatasync (Link): Document it.
48111         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
48113         fdatasync: port to MacOS X 10.7
48114         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
48115         declared.
48116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
48117         * modules/unistd (Makefile.am): Substitute it.
48118         * lib/unistd.in.h (fdatasync): Declare on MacOS.
48119         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
48121         fdatasync: minor improvements
48122         * modules/fdatasync (Depends-on): Add condition for fsync.
48123         * lib/fdatasync.c (fdatasync): Add comment.
48124         * tests/test-unistd-c++.cc: Test fdatasync.
48126         unistd: update refs to newer POSIX
48127         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
48128         Suggested by Bruno Haible.
48130         fdatasync: new module
48131         * modules/fsync (Description): Document difference to fdatasync.
48132         * modules/fdatasync: New module.
48133         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
48134         * lib/fdatasync.c (fdatasync): Likewise.
48135         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
48136         defaults.
48137         * modules/unistd (Makefile.am): Set witnesses.
48138         * lib/unistd.in.h (fdatasync): Declare.
48139         * MODULES.html.sh: Document it.
48140         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
48141         * modules/fdatasync-tests: New test.
48142         * tests/test-fdatasync.c: Likewise.
48144 2011-09-16  Eric Blake  <eblake@redhat.com>
48146         test-fsync: enhance tests
48147         * modules/fsync-tests (Depends-on): Add errno, for mingw.
48148         * tests/test-fsync.c (main): Enhance test.
48150 2011-09-15  Bruno Haible  <bruno@clisp.org>
48152         Support for MSVC compiler: Ensure ssize_t gets defined.
48153         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
48154         * doc/posix-headers/stdio.texi: Likewise.
48155         * modules/stdio (Depends-on): Add ssize_t.
48156         * modules/sys_socket (Depends-on): Likewise.
48157         * modules/sys_types (Depends-on): Likewise.
48158         * modules/sys_uio (Depends-on): Likewise.
48159         * modules/unistd (Depends-on): Likewise.
48160         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
48161         * tests/test-sys_types.c: Check that ssize_t is defined.
48163 2011-09-14  Bruno Haible  <bruno@clisp.org>
48165         Avoid using #, the m4 comment starter character, near brackets.
48166         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
48167         delimiter character in sed expressions.
48168         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
48169         Suggested by Eric Blake.
48171         Properly quote AC_CHECK_DECLS' 4th argument.
48172         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
48173         argument.
48174         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48175         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
48176         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48177         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
48178         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48179         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
48180         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
48181         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
48182         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
48183         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48184         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
48185         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48186         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48187         * m4/isinf.m4 (gl_ISINF): Likewise.
48188         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48189         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48190         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48191         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
48192         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
48193         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
48194         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48195         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
48196         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
48197         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48198         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48199         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48200         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
48201         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48203         Reported by Eric Blake.
48205         Properly quote AC_CHECK_DECL's 4th argument.
48206         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
48207         argument.
48208         * m4/argp.m4 (gl_ARGP): Likewise.
48209         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48210         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48211         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48212         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48213         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
48214         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
48215         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
48216         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48217         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48218         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48219         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48220         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48221         Reported by Eric Blake.
48223 2011-09-14  Eric Blake  <eblake@redhat.com>
48225         opendir: avoid compile warning
48226         * lib/opendir.c (includes): Always include errno.h.
48227         Reported by Tatsuro MATSUOKA.
48229 2011-09-14  Jim Meyering  <meyering@redhat.com>
48231         maint.mk: sc_tight_scope: propagate failure from sub-make
48232         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
48233         Reported by Martin von Gagern.
48235 2011-09-13  Bruno Haible  <bruno@clisp.org>
48237         tempname: Support for MSVC.
48238         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
48239         MSVC.
48240         * modules/tempname (Depends-on): Add fcntl-h.
48242 2011-09-13  Bruno Haible  <bruno@clisp.org>
48244         sys_time: Support for MSVC.
48245         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
48246         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
48247         include <winsock2.h>.
48248         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
48249         function declarations that collide with POSIX.
48250         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
48251         (Makefile.am): Substitute HAVE_WINSOCK2_H.
48253 2011-09-13  Bruno Haible  <bruno@clisp.org>
48255         stat: Support for MSVC.
48256         * lib/stat.c: Include pathmax.h.
48257         * modules/stat (Depends-on): Add pathmax.
48259         pathmax: Support for native Windows.
48260         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
48262 2011-09-12  Bruno Haible  <bruno@clisp.org>
48264         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
48265         * lib/dirent.in.h (struct dirent): New type.
48266         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
48267         DT_WHT): New macros.
48268         (DIR): New type.
48269         (opendir, closedir): Declare only if the module 'opendir' is enabled.
48270         (readdir, rewinddir): New declarations.
48271         * lib/dirent-private.h: New file.
48272         * lib/opendir.c: New file.
48273         * lib/readdir.c: New file.
48274         * lib/rewinddir.c: New file.
48275         * lib/closedir.c: New file.
48276         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
48277         * m4/opendir.m4: New file.
48278         * m4/readdir.m4: New file.
48279         * m4/rewinddir.m4: New file.
48280         * m4/closedir.m4: New file.
48281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
48282         REPLACE_CLOSEDIR here.
48283         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
48284         readdir, rewinddir are declared.
48285         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
48286         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
48287         HAVE_REWINDDIR, HAVE_CLOSEDIR.
48288         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
48289         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
48290         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
48291         * modules/opendir: New file.
48292         * modules/readdir: New file.
48293         * modules/rewinddir: New file.
48294         * modules/closedir: New file.
48295         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
48296         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
48297         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
48298         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
48299         * NEWS: Mention the 'fchdir' change.
48301 2011-09-11  Bruno Haible  <bruno@clisp.org>
48303         asm-underscore.m4: Support for MSVC.
48304         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
48305         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
48307 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
48309         Doc about crypt functions.
48310         * doc/posix-functions/crypt.texi: Expand range of glibc versions
48311         needing for _GNU_SOURCE to get crypt.
48312         * doc/posix-functions/encrypt.texi: Likewise.
48313         * doc/posix-functions/setkey.texi: Likewise.
48315 2011-09-11  Bruno Haible  <bruno@clisp.org>
48317         doc: Update regarding MSVC 9.
48318         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
48319         tested".
48320         * doc/posix-functions/*.texi: Update with info about MSVC 9.
48321         * doc/posix-headers/*.texi: Likewise.
48322         * doc/pastposix-functions/*.texi: Likewise.
48323         * doc/glibc-functions/*.texi: Likewise.
48324         * doc/glibc-headers/*.texi: Likewise.
48326 2011-09-11  Bruno Haible  <bruno@clisp.org>
48328         unistd et al.: Don't assume <unistd.h> exists.
48329         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
48330         does not exist.
48331         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
48332         exist. But include <stdlib.h>.
48333         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
48334         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
48335         symlink() does not exist.
48336         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
48337         include <io.h> instead.
48338         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
48339         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
48340         include <direct.h> instead.
48341         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48342         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48343         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
48344         <io.h> instead.
48345         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
48346         correctly if the system does not have hard links.
48347         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
48348         <direct.h> instead.
48349         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
48350         it when looking for function declarations.
48351         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
48352         <direct.h> and <io.h> instead.
48353         * doc/posix-headers/unistd.texi: More details about MSVC problem.
48355 2011-09-11  Bruno Haible  <bruno@clisp.org>
48357         strcase: Support for MSVC.
48358         * modules/strcase (Status, Notice): Remove obsoletion mark.
48359         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
48360         * doc/posix-functions/strncasecmp.texi: Likewise.
48362         strings: Don't assume <strings.h> exists.
48363         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
48364         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
48365         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
48366         * doc/posix-headers/strings.texi: Mention the MSVC problem.
48368 2011-09-11  Bruno Haible  <bruno@clisp.org>
48370         dirent: Don't assume <dirent.h> exists.
48371         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
48372         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
48373         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
48374         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
48376 2011-09-11  Bruno Haible  <bruno@clisp.org>
48378         Fix wint_t on MSVC.
48379         * lib/wchar.in.h (wint_t): On MSVC, override it.
48380         * lib/wctype.in.h (wint_t): Likewise.
48381         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
48382         MSVC.
48383         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
48384         * doc/posix-headers/wctype.texi: Likewise.
48386 2011-09-11  Bruno Haible  <bruno@clisp.org>
48388         sys_types: Fix typo.
48389         * lib/sys_types.in.h: Fix typo in comment.
48390         Reported by Paul Eggert.
48392         Support for MSVC compiler: Ensure size_t gets defined.
48393         * modules/strings (Depends-on): Add 'sys_types'.
48394         * modules/sys_uio (Depends-on): Likewise.
48395         * lib/sys_uio.in.h: Update comment.
48397         C++ tests for module 'sys_types'.
48398         * modules/sys_types-c++-tests: New file.
48399         * tests/test-sys_types-c++.cc: New file.
48401         Tests for module 'sys_types'.
48402         * modules/sys_types-tests: New file.
48403         * tests/test-sys_types.c: New file.
48405         New module 'sys_types'.
48406         * lib/sys_types.in.h: New file.
48407         * m4/sys_types_h.m4: New file.
48408         * modules/sys_types: New file.
48409         * doc/posix-headers/sys_types.texi: Mention the new module and the
48410         size_t problem on MSVC 9.
48412 2011-09-11  Bruno Haible  <bruno@clisp.org>
48414         Support for MSVC compiler: Avoid division by a literal 0.
48415         * lib/math.in.h (NAN): Define through a function call also on MSVC.
48416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
48417         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
48418         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
48419         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
48420         * tests/infinity.h: New file.
48421         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
48422         on MSVC.
48423         * tests/test-ceilf1.c: Include infinity.h.
48424         (main): Use Infinityf.
48425         * tests/test-ceil1.c: Include infinity.h.
48426         (main): Use Infinityd.
48427         * tests/test-ceill.c: Include infinity.h.
48428         (main): Use Infinityl.
48429         * tests/test-dprintf-posix.c: Include infinity.h.
48430         (test_function): Use Infinityd.
48431         * tests/test-floorf1.c: Include infinity.h.
48432         (main): Use Infinityf.
48433         * tests/test-floor1.c: Include infinity.h.
48434         (main): Use Infinityd.
48435         * tests/test-floorl.c: Include infinity.h.
48436         (main): Use Infinityl.
48437         * tests/test-fprintf-posix.c: Include infinity.h.
48438         (test_function): Use Infinityd.
48439         * tests/test-frexp.c: Include infinity.h.
48440         (main): Use Infinityd.
48441         * tests/test-frexpl.c: Include infinity.h.
48442         (main): Use Infinityl.
48443         * tests/test-isfinite.c: Include infinity.h.
48444         (test_isfinitef): Use Infinityf.
48445         (test_isfinited): Use Infinityd.
48446         (test_isfinitel): Use Infinityl.
48447         * tests/test-isinf.c: Include infinity.h.
48448         (test_isinff): Use Infinityf.
48449         (test_isinfd): Use Infinityd.
48450         (test_isinfl): Use Infinityl.
48451         * tests/test-isnan.c: Include infinity.h.
48452         (test_float): Use Infinityf.
48453         (test_double): Use Infinityd.
48454         (test_long_double): Use Infinityl.
48455         * tests/test-isnanf.h: Include infinity.h.
48456         (main): Use Infinityf.
48457         * tests/test-isnand.h: Include infinity.h.
48458         (main): Use Infinityd.
48459         * tests/test-isnanl.h: Include infinity.h.
48460         (main): Use Infinityl.
48461         * tests/test-ldexpl.c: Include infinity.h.
48462         (main): Use Infinityl.
48463         * tests/test-printf-posix.h: Include infinity.h.
48464         (test_function): Use Infinityd.
48465         * tests/test-roundf1.c: Include infinity.h.
48466         (main): Use Infinityf.
48467         * tests/test-round1.c: Include infinity.h.
48468         (main): Use Infinityd.
48469         * tests/test-roundl.c: Include infinity.h.
48470         (main): Use Infinityl.
48471         * tests/test-signbit.c: Include infinity.h.
48472         (test_signbitf): Use Infinityf.
48473         (test_signbitd): Use Infinityd.
48474         (test_signbitl): Use Infinityl.
48475         * tests/test-snprintf-posix.h: Include infinity.h.
48476         (test_function): Use Infinityd, Infinityl.
48477         * tests/test-sprintf-posix.h: Include infinity.h.
48478         (test_function): Use Infinityd, Infinityl.
48479         * tests/test-truncf1.c: Include infinity.h.
48480         (main): Use Infinityf.
48481         * tests/test-trunc1.c: Include infinity.h.
48482         (main): Use Infinityd.
48483         * tests/test-truncl.c: Include infinity.h.
48484         (main): Use Infinityl.
48485         * tests/test-vasnprintf-posix.c: Include infinity.h.
48486         (test_function): Use Infinityd, Infinityl.
48487         * tests/test-vasprintf-posix.c: Include infinity.h.
48488         (test_function): Use Infinityd, Infinityl.
48489         * modules/ceilf-tests (Files): Add tests/infinity.h.
48490         * modules/ceil-tests (Files): Likewise.
48491         * modules/ceill-tests (Files): Likewise.
48492         * modules/dprintf-posix-tests (Files): Likewise.
48493         * modules/floorf-tests (Files): Likewise.
48494         * modules/floor-tests (Files): Likewise.
48495         * modules/floorl-tests (Files): Likewise.
48496         * modules/fprintf-posix-tests (Files): Likewise.
48497         * modules/frexp-tests (Files): Likewise.
48498         * modules/frexp-nolibm-tests (Files): Likewise.
48499         * modules/frexpl-tests (Files): Likewise.
48500         * modules/frexpl-nolibm-tests (Files): Likewise.
48501         * modules/isfinite-tests (Files): Likewise.
48502         * modules/isinf-tests (Files): Likewise.
48503         * modules/isnan-tests (Files): Likewise.
48504         * modules/isnanf-tests (Files): Likewise.
48505         * modules/isnanf-nolibm-tests (Files): Likewise.
48506         * modules/isnand-tests (Files): Likewise.
48507         * modules/isnand-nolibm-tests (Files): Likewise.
48508         * modules/isnanl-tests (Files): Likewise.
48509         * modules/isnanl-nolibm-tests (Files): Likewise.
48510         * modules/ldexpl-tests (Files): Likewise.
48511         * modules/printf-posix-tests (Files): Likewise.
48512         * modules/roundf-tests (Files): Likewise.
48513         * modules/round-tests (Files): Likewise.
48514         * modules/roundl-tests (Files): Likewise.
48515         * modules/signbit-tests (Files): Likewise.
48516         * modules/snprintf-posix-tests (Files): Likewise.
48517         * modules/sprintf-posix-tests (Files): Likewise.
48518         * modules/truncf-tests (Files): Likewise.
48519         * modules/trunc-tests (Files): Likewise.
48520         * modules/truncl-tests (Files): Likewise.
48521         * modules/vasnprintf-posix-tests (Files): Likewise.
48522         * modules/vasprintf-posix-tests (Files): Likewise.
48523         * modules/vdprintf-posix-tests (Files): Likewise.
48524         * modules/vfprintf-posix-tests (Files): Likewise.
48525         * modules/vprintf-posix-tests (Files): Likewise.
48526         * modules/vsnprintf-posix-tests (Files): Likewise.
48527         * modules/vsprintf-posix-tests (Files): Likewise.
48528         * modules/xprintf-posix-tests (Files): Likewise.
48530 2011-09-11  Bruno Haible  <bruno@clisp.org>
48532         Ensure pid_t gets defined.
48533         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
48534         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
48535         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48536         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48537         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
48538         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
48539         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48540         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48541         * tests/test-fcntl-h.c: Check that pid_t is defined.
48542         * tests/test-sched.c: Likewise.
48543         * tests/test-termios.c: Likewise.
48544         * tests/test-time.c: Likewise.
48545         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
48546         * doc/posix-headers/signal.texi: Likewise.
48547         * doc/posix-headers/sys_types.texi: Likewise.
48548         * doc/posix-headers/time.texi: Likewise.
48550 2011-09-11  Bruno Haible  <bruno@clisp.org>
48552         acl: Fix compilation on Solaris 10 (older version).
48553         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
48554         of ACE_EVERYONE.
48555         * lib/set-mode-acl.c (qset_acl): Likewise.
48556         Reported by Christian Jullien <eligis@orange.fr>.
48558 2011-09-10  Bruno Haible  <bruno@clisp.org>
48560         iconv, unsetenv: Add support for MSVC compiler.
48561         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
48562         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
48564 2011-09-10  Bruno Haible  <bruno@clisp.org>
48566         *printf: Add support for MSVC compiler.
48567         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
48568         handles the exception caused by the %n directive. When cross-compiling,
48569         guess no on native Windows.
48570         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48571         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
48572         emulate it through vsnprintf.
48573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
48574         * doc/posix-functions/dprintf.texi: Update documentation regarding
48575         MSVC 9.
48576         * doc/posix-functions/fprintf.texi: Likewise.
48577         * doc/posix-functions/printf.texi: Likewise.
48578         * doc/posix-functions/snprintf.texi: Likewise.
48579         * doc/posix-functions/sprintf.texi: Likewise.
48580         * doc/posix-functions/swprintf.texi: Likewise.
48581         * doc/posix-functions/vdprintf.texi: Likewise.
48582         * doc/posix-functions/vfprintf.texi: Likewise.
48583         * doc/posix-functions/vprintf.texi: Likewise.
48584         * doc/posix-functions/vsnprintf.texi: Likewise.
48585         * doc/posix-functions/vsprintf.texi: Likewise.
48586         * doc/glibc-functions/asprintf.texi: Likewise.
48587         * doc/glibc-functions/obstack_printf.texi: Likewise.
48588         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48589         * doc/glibc-functions/vasprintf.texi: Likewise.
48591 2011-09-10  Bruno Haible  <bruno@clisp.org>
48593         nocrash: Add support for native Windows.
48594         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
48596 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
48597             Bruno Haible  <bruno@clisp.org>
48599         absolute-header, include-next: Add support for MSVC compiler.
48600         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
48601         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
48602         directory separator in #line directives.
48603         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
48604         recognize also backslash as directory separator in #line directives.
48606 2011-09-08  Jim Meyering  <meyering@redhat.com>
48608         maint.mk: mark the post-release commit log with "maint: " prefix
48609         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
48610         one-line commit-log summary.
48612 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
48613             Bruno Haible  <bruno@clisp.org>
48615         Doc about crypt functions.
48616         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
48617         systems.
48618         * doc/posix-functions/encrypt.texi: Likewise.
48619         * doc/posix-functions/setkey.texi: Likewise.
48621 2011-09-08  Simon Josefsson  <simon@josefsson.org>
48623         * lib/gc.h: Fix copyright header.
48625 2011-09-07  Bruno Haible  <bruno@clisp.org>
48627         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
48628         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
48629         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
48631 2011-09-07  Bruno Haible  <bruno@clisp.org>
48633         openat: Work around compilation error with OSF/1 5.1 DTK cc.
48634         * lib/fopen.c: Use different syntax for include of <stdio.h>.
48635         * lib/freopen.c: Likewise.
48636         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
48637         * lib/lstat.c: Likewise.
48638         * lib/stat.c: Likewise.
48639         * lib/open.c: Use different syntax for include of <fcntl.h>.
48640         * lib/openat.c: Include fcntl.h again, explicitly.
48642 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
48644         parse-datetime: document the newly accepted format
48645         * doc/parse-datetime.texi (Combined date and time of day items):
48646         New section.
48648 2011-09-06  Bruno Haible  <bruno@clisp.org>
48650         acl: Fix a test failure on newer Solaris 10 with ZFS.
48651         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
48652         ENOSYS as no ACL.
48653         Reported by Jim Meyering.
48655 2011-09-06  Bruno Haible  <bruno@clisp.org>
48657         acl: Update for AIX >= 5.3 with NFS.
48658         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
48659         ENOSYS as no ACL.
48661         acl: Fix a test failure on AIX >= 5.3 with NFS.
48662         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
48663         as no ACL.
48665 2011-09-06  Bruno Haible  <bruno@clisp.org>
48667         acl: Fix a test failure on IRIX 6.5 with NFS.
48668         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
48669         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
48670         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
48671         * lib/copy-acl.c (qcopy_acl): Likewise.
48673 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
48675         openat: port to AIX 7.1 with large files
48676         AIX 7.1 does a "#define openat open64at" if large files are in use,
48677         so we can't simply #undef openat.  Use the orig_openat trick (similar
48678         to orig_open in lib/open.c) to work around the problem.  Problem
48679         reported by Kevin Brott for GNU tar, in the thread containing
48680         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
48681         * lib/openat.c (__need_system_fcntl_h): Define first.
48682         Include <fcntl.h> and <sys/types.h> before undefining.
48683         (orig_openat) [HAVE_OPENAT]: New inline function.
48684         (openat) [HAVE_OPENAT]: Do not undef.
48685         (rpl_openat): Use orig_openat, not openat.
48687 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
48688             Bruno Haible  <bruno@clisp.org>
48690         acl: Avoid errors on NonStop Kernel.
48691         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
48692         ENOTSUP errors.
48694 2011-09-05  Bruno Haible  <bruno@clisp.org>
48696         acl: Clean up Solaris code.
48697         * lib/acl-internal.h: Remove no-op #if.
48698         * lib/file-has-acl.c: Likewise.
48699         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
48700         * lib/copy-acl.c (qcopy_acl): Likewise.
48702 2011-09-05  Bruno Haible  <bruno@clisp.org>
48704         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
48705         binaries built on the original Solaris 10.
48706         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
48707         trivial.
48709 2011-09-05  Bruno Haible  <bruno@clisp.org>
48711         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
48712         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
48713         10.
48714         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
48715         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
48716         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
48717         instead of acl_get, facl_get, acl_set, facl_set.
48719 2011-09-05  Bruno Haible  <bruno@clisp.org>
48721         copy-file: Try unit tests on more file systems.
48722         * tests/test-copy-file-1.sh: New file.
48723         * tests/test-copy-file-2.sh: New file.
48724         * modules/copy-file-tests (Files): Add them.
48725         (Makefile.am): Add them to TESTS.
48727         acl: Try unit tests on more file systems.
48728         * tests/test-file-has-acl-1.sh: New file.
48729         * tests/test-file-has-acl-2.sh: New file.
48730         * tests/test-set-mode-acl-1.sh: New file.
48731         * tests/test-set-mode-acl-2.sh: New file.
48732         * tests/test-copy-acl-1.sh: New file.
48733         * tests/test-copy-acl-2.sh: New file.
48734         * modules/acl-tests (Files): Add them.
48735         (Makefile.am): Add them to TESTS.
48737 2011-09-04  Bruno Haible  <bruno@clisp.org>
48739         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
48740         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
48741         10.
48742         (OLD_ALLOW, OLD_DENY): New macros.
48743         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
48744         ACE_ACCESS_ALLOWED_ACE_TYPE.
48745         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
48746         ACE_ACCESS_DENIED_ACE_TYPE.
48747         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
48748         (NEW_ACE_EXECUTE): Fix value.
48749         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
48750         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
48751         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
48752         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
48753         NEW_ACE_SYNCHRONIZE): New macros.
48754         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
48755         instead of acl_fromtext, acl_set, facl_set.
48756         Fixes a coreutils/tests/cp/perm failure.
48758 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
48760         openat: test for fstatat (..., 0) bug
48761         Further testing with tar suggests that fstatat (..., 0)
48762         does not work in general, on AIX 7.1; see
48763         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
48764         So, give up entirely on AIX 7.1's fstatat, and fall back on our
48765         replacement fstatat (which is what older AIX releases were using
48766         anyway).
48767         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
48768         use is now changed to orig_fstatat.  This was probably the right
48769         thing to do anyway.
48770         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
48771         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
48772         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
48773         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
48774         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
48775         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
48776         if the bug is found.
48778         openat: test for fstatat (AT_FDCWD, ..., 0) bug
48779         This tests for another fstatat bug on AIX 7.1:
48780         fstatat (AT_FDCWD, ..., 0) does not work.  See
48781         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
48782         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
48783         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
48784         (rpl_fstatat): Adjust so that it works around either (or both)
48785         bugs if present.
48786         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
48788 2011-09-03  Karl Berry  <karl@gnu.org>
48790         * doc/regex.texi (Character Class Operators): Avoid literal ":"
48791         in index entries.
48793 2011-09-02  Bruno Haible  <bruno@clisp.org>
48795         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
48796         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
48797         values of AR, ARFLAGS, RANLIB.
48798         Reported by John W. Eaton <jwe@gnu.org> for Octave.
48800 2011-09-02  Bruno Haible  <bruno@clisp.org>
48802         Find 'ar' program that fits with --host argument.
48803         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
48805 2011-09-02  Bruno Haible  <bruno@clisp.org>
48807         tests: init.sh: Support any non-GNU diff.
48808         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
48809         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
48810         Solaris 8.
48812 2011-09-02  Bruno Haible  <bruno@clisp.org>
48814         tests: init.sh: work also with any non-GNU diff that supports -u
48815         * tests/init.sh: Relax check for diff -u support.
48816         Rather than checking for GNU diff via --version, simply check
48817         for support for -u itself.  Useful at least on OpenBSD 4.9,
48818         AIX 7.1, IRIX 6.5, and Solaris 10.
48820 2011-09-01  Bruno Haible  <bruno@clisp.org>
48822         strtoimax, strtoumax: Document problem on HP-UX 11.
48823         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
48824         * doc/posix-functions/strtoumax.texi: Likewise.
48826 2011-09-01  Bruno Haible  <bruno@clisp.org>
48828         strtoumax: Avoid link error on OSF/1 with DTK cc.
48829         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
48830         defined as a function.
48831         * modules/strtoumax (Depends-on, configure.ac): Test only whether
48832         strtoumax is defined, not whether it is declared.
48834 2011-09-01  Bruno Haible  <bruno@clisp.org>
48836         strtoimax: Avoid link error on OSF/1 with DTK cc.
48837         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
48838         defined as a function.
48839         * modules/strtoimax (Depends-on, configure.ac): Test only whether
48840         strtoimax is defined, not whether it is declared.
48842 2011-09-01  Bruno Haible  <bruno@clisp.org>
48844         imaxdiv: Avoid link error on OSF/1 with DTK cc.
48845         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
48846         as a function.
48847         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
48848         whether it is declared.
48850 2011-09-01  Bruno Haible  <bruno@clisp.org>
48852         imaxabs: Avoid link error on OSF/1 with DTK cc.
48853         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
48854         as a function.
48855         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
48856         whether it is declared.
48858 2011-09-01  Bruno Haible  <bruno@clisp.org>
48860         Tests for module 'strtoumax'.
48861         * modules/strtoumax-tests: New file.
48862         * tests/test-strtoumax.c: New file.
48864         Tests for module 'strtoimax'.
48865         * modules/strtoimax-tests: New file.
48866         * tests/test-strtoimax.c: New file.
48868         Tests for module 'imaxdiv'.
48869         * modules/imaxdiv-tests: New file.
48870         * tests/test-imaxdiv.c: New file.
48872         Tests for module 'imaxabs'.
48873         * modules/imaxabs-tests: New file.
48874         * tests/test-imaxabs.c: New file.
48876 2011-09-01  Bruno Haible  <bruno@clisp.org>
48878         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
48879         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
48880         pthread_create.
48882 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48884         openat: work around AIX 7.1 fstatat issue
48885         This should fix the problem that was not properly fixed
48886         in the previous change, dated 2011-08-30.
48887         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
48888         __need_system_stat_h defined.
48889         (orig_fstatat) [HAVE_FSTATAT]: New function.
48890         (rpl_fstatat): Go back to the old way of doing things,
48891         except call orig_fstatat instead of fstatat.
48892         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
48893         Remove unnecessary check whether fstatat fills in st_size etc.
48895 2011-09-01  Bruno Haible  <bruno@clisp.org>
48897         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
48898         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
48899         just include the system's header.
48901 2011-08-31  Jim Meyering  <meyering@redhat.com>
48903         tests: avoid spurious assertion failure in test-float.c on ppc64
48904         * tests/test-float.c (test_long_double): Comment out an assertion,
48905         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
48906         with gcc-4.4.4.
48908         maint: indent with spaces, not TABs
48909         I need to get in the habit of running gnulib's "make check".
48910         Both of these would have been caught.
48911         * m4/largefile.m4: Indent with spaces, not TABs.
48912         * lib/parse-datetime.y (iso_8601_time): Likewise.
48913         Spotted by Pádraig Brady.
48915         test-parse-datetime.c: accommodate a relatively strict gcc warning
48916         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
48917         to avoid a warning from gcc's -Werror=missing-declarations.
48918         Insert a few spaces-before-funcall-parenthesis.
48920 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
48922         parse-datetime: accept ISO 8601 date and time rep with "T" separator
48923         The parser now accepts ISO 8601 date-time strings with "T" as the
48924         separator.  It has long parsed dates like "2004-02-29 16:21:42"
48925         with a space between the date and time strings.  Now it also parses
48926         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
48927         variants like "2004-02-29T16:21:42.333-07:00"
48928         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
48929         of day representation using the 'T' separator character.
48930         * doc/parse-datetime.texi (General date syntax): replace use of
48931         deprecated --iso-8601 option with --rfc-3339 in example of date
48932         command output formats that can be parsed.
48933         * tests/test-parse-datetime.c (tm_diff): New function, taken from
48934         lib/parse-datetime.y.
48935         (gmt_offset): New function.
48936         (main): Add additional test cases to validate ISO8601 extended
48937         date and time of day parsing.
48939 2011-08-31  Bruno Haible  <bruno@clisp.org>
48941         freopen: Documentation.
48942         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
48943         name.
48944         Reported by Claudio Bley <claudio.bley@gmail.com>.
48946 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
48948         freopen: Don't crash if the filename argument is NULL.
48949         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
48950         NULL.
48952 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48954         openat: work around AIX 7.1 fstatat bug
48955         Problem reported by Kevin Brott for GNU tar, in the thread containing
48956         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
48957         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
48958         FSTATAT_ST_SIZE_ETC_BROKEN.
48959         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
48960         rpl_fstatat.
48961         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
48962         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
48963         AC_CHECK_FUNCS_ONCE for fstatat.
48964         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
48965         fchmodat, mkdirat, openat and unlinkat.
48967 2011-08-30  Bruno Haible  <bruno@clisp.org>
48969         Avoid endless recursions if config.h includes some header files.
48970         * lib/fopen.c (__need_FILE): Define already before including config.h.
48971         * lib/freopen.c (__need_FILE): Likewise.
48972         * lib/open.c (__need_system_fcntl_h): Likewise.
48973         * lib/stat.c (__need_system_sys_stat_h): Likewise.
48974         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
48975         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
48977 2011-08-25  Karl Berry  <karl@gnu.org>
48979         * config/srclist.txt (ylwrap): new try.
48980         * build-aux/ylwrap: new file.
48982 2011-08-23  Bruno Haible  <bruno@clisp.org>
48984         tmpdir: Use a good default directory on native Windows.
48985         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
48986         (P_tmpdir): Default to _P_tmpdir on native Windows.
48987         (path_search): On native Windows, try the value returned by GetTempPath
48988         before trying P_tmpdir.
48989         * modules/tmpdir (Depends-on): Add pathmax.
48990         Suggested by John Darrington <john@darrington.wattle.id.au>.
48992 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
48994         doc: fix typo in README-release
48995         * top/README-release: Capitalize first word of a sentence.
48997 2011-08-19  Jim Meyering  <meyering@redhat.com>
48999         fts: do not exhaust memory when processing million-entry directories
49000         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
49001         directory would require about 256*N bytes of memory.  Thus, it was
49002         easy to construct a directory too large to be processed by any of
49003         those tools.  With this change, fts' maximum memory utilization is
49004         now limited to around 30MB.
49005         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
49006         (fts_read): When we've processed the final entry (i.e., when
49007         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
49008         using the parent entry to read any remaining entries.  Dispatch
49009         depending on what fts_build returns:
49010         - NULL+stop, aka failure: stop
49011         - NULL otherwise: move up in the dir hierarchy
49012         - non-NULL: handle this new entry
49013         (fts_build): Declare and use new local, continue_readdir.
49014         Prepare to be called from fts_read, when the entries
49015         from a partially-read directory have just been exhausted.
49016         In that case, we'll skip the opendir and instead use the parent's
49017         fts_dirp and derive dir_fd from that.
49018         Finally, in the readdir loop, if we read max_entries entries,
49019         exit the loop ensuring *not* to call closedir.  This is required
49020         so that fts_dirp can be reused on a subsequent call.
49021         Prompted by Ben England's report of memory exhaustion in find
49022         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
49024         maint: fts: move decl of `dp' down into while loop; split a long line
49025         * lib/fts.c (fts_build): No semantic change.
49027         fts: add/use new struct member, fts_dirp
49028         We are about to use this to manage any directory with
49029         too many entries to read all of them into memory at once.
49030         To do that, we'll need to save the DIR* pointer in each
49031         affected FTSENT struct.
49032         * lib/fts_.h: Include <dirent.h>.
49033         (struct FTSENT) [fts_dirp]: New member.
49034         * lib/fts.c (closedir_and_clear): Define.
49035         Use it in place of closedir so that we are sure to
49036         clear the new fts_dirp member when done with it.
49037         (fts_alloc): Initialize the new member.
49038         (fts_lfree): Free, if needed.
49040         maint: fts: give __opendir2 a new parameter and rename
49041         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
49042         than surreptitiously using sole caller's "dir_fd".
49043         (fts_opendir): Rename from __opendir2.
49045         maint: fts.c: remove __opendir2's now-unused parameter, oflag
49046         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
49048         maint: fts.c: correct off-by-one indentation
49049         * lib/fts.c (fts_build): Correct indentation, change style
49050         of a couple of block comments, and bracing style.
49052         maint: fts.c: move __opendir2 #define "up" out of function body
49053         * lib/fts.c (__opendir2): Move "up".  No semantic change.
49055         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
49056         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
49057         out for a long time and besides was useful only on BSD systems.
49059 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49061         regex: port to Stratus OpenVOS
49062         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
49063         define to empty, rather than attempting nonportable optimizations.
49064         Problem reported by Paul Green in:
49065         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
49066         and fix suggested by Eric Blake in:
49067         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
49069 2011-08-17  Eric Blake  <eblake@redhat.com>
49071         getcwd: fix test failures on mingw
49072         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
49073         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
49074         test if long directory cannot be created, and allow mingw errno.
49076         getcwd-lgpl: fix m4 to match relaxed test for BSD
49077         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
49078         (gl_FUNC_GETCWD_SIGNATURE): New macro.
49079         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
49080         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
49081         signature problem.
49083         getcwd: fix compilation on mingw64
49084         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
49085         getcwd.
49086         Reported by Marc-André Lureau.
49088         pipe2: silence compiler warning
49089         * lib/pipe2.c (pipe2): Hide label if it is not used.
49091 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
49093         relocatable-prog: fix link error
49094         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
49095         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
49096         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
49097         into modules/relocatable-lib without noticing that
49098         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
49099         also needs to build relocatable.c.
49101 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49103         getaddrinfo: fix sh typo in gai_strerrorA decl checking
49104         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
49105         shell code: it contained a 'break' that was not in a loop.
49106         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
49107         via a shell-language loop; this may have been true in old Autoconf
49108         versions, but it's not true in Autoconf 2.68.  I found this bug
49109         when testing coreutils git on Solaris 8, whose shell complains
49110         about the syntax error.
49112 2011-08-12  Simon Josefsson  <simon@josefsson.org>
49114         * lib/base64.c: Fix comment to reference RFC 4648.
49115         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
49116         <gvtulder@gmail.com>.
49118 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49120         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
49122         po/Makefile.in.in: fix make -q problem
49123         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
49124         rule, since there's no file named 'check-macro-version' and its
49125         use as a file breaks make -q.
49126         (all): Don't depend on check-macro-version.
49127         (CHECK_MACRO_VERSION): New macro.
49128         (stamp-po): Use it.
49130         configmake: fix make -q problem
49131         * modules/configmake (configmake.h): Update configmake.h's time stamp
49132         even if the file does not change.  Otherwise, 'make -q' fails.
49133         Problem reported by Simon Josefsson in
49134         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
49136 2011-08-11  Jim Meyering  <meyering@redhat.com>
49138         git-version-gen: correct the advice in a comment
49139         * build-aux/git-version-gen: Correct comment.
49140         Don't recommend to list .tarball-version in .gitignore.
49142 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49144         base64: fix off-by-one buffer size bug
49145         Problem and (trivial) fix reported by Gijs van Tulder in
49146         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
49147         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
49148         * tests/test-base64.c (main): Catch the bug.
49150 2011-08-10  Eric Blake  <eblake@redhat.com>
49152         closein: correct comments
49153         * lib/closein.c (close_stdin): Improve comments.
49155 2011-08-09  Bruno Haible  <bruno@clisp.org>
49157         More tests for 'fseeko'.
49158         * tests/test-fseeko3.c: New file, from Eric Blake.
49159         * tests/test-fseeko3.sh: New file.
49160         * modules/fseeko-tests (Files): Add them.
49161         (TESTS): Add test-fseeko3.sh.
49162         (check_PROGRAMS): Add test-fseeko3.
49164 2011-08-09  Eric Blake  <eblake@redhat.com>
49166         fseeko: remove unneeded hack
49167         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
49169         fseeko: fix bug on glibc
49170         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
49171         Reported by John W. Eaton.
49173 2011-08-08  Bruno Haible  <bruno@clisp.org>
49175         unictype/base: Fix interoperability with preinstalled libunistring.
49176         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
49177         Reported by Simon Josefsson.
49179 2011-08-08  Bruno Haible  <bruno@clisp.org>
49181         iswblank: Detect declaration correctly.
49182         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
49183         AC_CHECK_DECLS invocation.
49185 2011-08-08  Bruno Haible  <bruno@clisp.org>
49187         tcgetsid: Detect declaration correctly.
49188         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
49189         AC_CHECK_DECLS invocation.
49190         Reported by Simon Josefsson.
49192 2011-08-08  Eric Blake  <eblake@redhat.com>
49194         largefile: fix typo that regressed large file support
49195         * modules/largefile (configure.ac-early): Fix section name.
49197 2011-08-06  Karl Berry  <karl@gnu.org>
49199         * MODULES.html.sh (func_all_files): _Noreturn is no longer
49200         a separate module.
49202 2011-08-05  Simon Josefsson  <simon@josefsson.org>
49204         openat: Fix warnings and commens when building unlinkat.c on Hurd.
49205         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
49206         get prototype for free.
49208 2011-08-04  Bruno Haible  <bruno@clisp.org>
49210         Tests for module 'pathmax'.
49211         * modules/pathmax-tests: New file.
49212         * tests/test-pathmax.c: New file.
49214         canonicalize-lgpl: Support larger filenames on the Hurd.
49215         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
49216         Reported by Paul Eggert.
49218         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
49219         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
49220         * lib/chdir-long.h: Include pathmax.h.
49221         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
49222         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
49223         (PATH_MAX): Remove code that is done by pathmax.h.
49224         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
49225         * lib/tmpfile.c: Add a comment.
49226         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
49227         * modules/chdir-long (Depends-on): Add pathmax.
49228         * modules/getcwd (Depends-on): Add pathmax.
49229         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
49230         is not defined.
49231         * doc/posix-headers/limits.texi: Mention the pathmax module.
49232         * NEWS: Mention the change.
49234 2011-08-02  Bruno Haible  <bruno@clisp.org>
49236         pthread_sigmask: Actually use results of gl_THREADLIB.
49237         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
49238         gl_THREADLIB, not gl_[]THREADLIB.
49239         Reported by Eric Blake.
49241 2011-08-02  Jim Meyering  <meyering@redhat.com>
49243         maint.mk: relax the default _gl_TS_function_match regexp
49244         * top/maint.mk (_gl_TS_function_match): Don't require at least one
49245         space between function name and "(" in an "extern" declaration.
49246         That would fail to match a decl with no space there: extern void foo();
49248 2011-07-31  Iain Nicol  <iain@thenicols.net>
49250         git-version-gen: document that EXTRA_DIST must include .version
49251         * build-aux/git-version-gen: In the how-to-use comment, document
49252         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
49253         will fail when run from an unpacked distribution tarball.
49255 2011-08-01  Bruno Haible  <bruno@clisp.org>
49257         wctype-h: Fix last change.
49258         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
49259         REPLACE_TOWLOWER to 0.
49260         Reported by Sam Steingold <sds@gnu.org>.
49262 2011-07-31  Bruno Haible  <bruno@clisp.org>
49264         frexpl: Update autoconf test.
49265         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
49266         according to changes of 2011-06-20.
49268 2011-07-31  Bruno Haible  <bruno@clisp.org>
49270         sys_utsname: Add support for Minix.
49271         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
49272         <sys/utsname.h>.
49273         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
49274         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
49276 2011-07-31  Bruno Haible  <bruno@clisp.org>
49278         strings: Add support for Minix.
49279         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
49280         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
49281         * doc/posix-headers/strings.texi: Document the Minix problem.
49283 2011-07-31  Bruno Haible  <bruno@clisp.org>
49285         wctype-h: Add support for Minix.
49286         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
49287         REPLACE_TOWLOWER.
49288         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
49289         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
49290         REPLACE_ISWCNTRL.
49292 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
49294         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
49295         This is a performance improvement for 64-bit hosts: it causes the
49296         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
49298 2011-07-31  Bruno Haible  <bruno@clisp.org>
49300         stdioext: Add support for Minix.
49301         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
49302         * lib/fpurge.c (fpurge): Likewise.
49303         * lib/freadahead.c (freadahead): Likewise.
49304         * lib/freadable.c (freadable): Likewise.
49305         * lib/freading.c (freading): Likewise.
49306         * lib/freadptr.c (freadptr): Likewise.
49307         * lib/freadseek.c (freadptrinc): Likewise.
49308         * lib/fseeko.c (rpl_fseeko): Likewise.
49309         * lib/fseterr.c (fseterr): Likewise.
49310         * lib/fwritable.c (fwritable): Likewise.
49311         * lib/fwriting.c (fwriting): Likewise.
49312         * lib/fflush.c (clear_ungetc_buffer): Update comment.
49313         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
49315 2011-07-31  Bruno Haible  <bruno@clisp.org>
49317         errno: Port to Minix.
49318         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
49319         ECONNABORTED are defined.
49320         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
49321         GNULIB_defined_ECONNABORTED): New macros.
49322         * lib/strerror-override.h (strerror_override): Test also
49323         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
49324         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
49325         ECONNABORTED.
49326         * doc/posix-headers/errno.texi: Mention the Minix problem.
49328 2011-07-31  Bruno Haible  <bruno@clisp.org>
49330         Work around declaration collisions on Minix.
49331         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
49332         defined, set REPLACE_MBSINIT.
49333         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
49334         defined, set REPLACE_MBRTOWC.
49335         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
49336         set REPLACE_MBRLEN.
49337         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
49338         defined, set REPLACE_MBSRTOWCS.
49339         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
49340         defined, set REPLACE_WCRTOMB.
49341         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
49342         defined, set REPLACE_WCSRTOMBS.
49344 2011-07-31  Bruno Haible  <bruno@clisp.org>
49346         Add support for Minix with ACK compiler.
49347         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
49348         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
49349         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
49351 2011-07-31  Bruno Haible  <bruno@clisp.org>
49353         Documentation about Minix.
49354         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
49355         * doc/glibc-headers/*.texi: Likewise.
49356         * doc/posix-functions/*.texi: Likewise.
49357         * doc/glibc-functions/*.texi: Likewise.
49359 2011-07-31  Bruno Haible  <bruno@clisp.org>
49361         snippet/warn-on-use: Fix indentation.
49362         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
49364 2011-07-25  Jim Meyering  <meyering@redhat.com>
49366         tests: test-update-copyright.sh: remove unnecessary "rm" commands
49367         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
49368         commands.
49370 2011-07-27  Jim Meyering  <meyering@redhat.com>
49372         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
49373         * top/maint.mk (gl_extract_significant_defines_): Now that
49374         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
49375         gnulib/lib/signal.in.h, and now that we recommend to
49376         define-if-undefined those two symbols in application code,
49377         we must filter them out of the "significant" list.
49378         This avoids a "make syntax-check" failure in coreutils.
49380 2011-07-26  Eric Blake  <eblake@redhat.com>
49382         warnings: add comments about previous patch
49383         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
49384         * m4/include_next.m4: Likewise.
49385         * m4/warn-on-use.m4: Likewise.
49386         * m4/warnings.m4: Likewise, and simplify use.
49387         Suggested by Stefano Lattarini.
49389         include-next, warnings: support older autoconf
49390         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
49391         AS_VAR_PUSHDEF in a way that works with older autoconf.
49392         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
49393         Reported by Daniel P. Berrange.
49395 2011-07-25  Bruno Haible  <bruno@clisp.org>
49397         fseek, ftell: Fix doc.
49398         * doc/posix-functions/fseek.texi: Reword statement about
49399         AC_SYS_LARGEFILE.
49400         * doc/posix-functions/ftell.texi: Likewise.
49402 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49403             Bruno Haible  <bruno@clisp.org>
49405         Add dependencies to the 'largefile' module.
49406         * modules/fopen (Depends-on): Add 'largefile'.
49407         * modules/freopen (Depends-on): Likewise.
49408         * modules/fseeko (Depends-on): Likewise.
49409         * modules/ftello (Depends-on): Likewise.
49410         * modules/glob (Depends-on): Likewise.
49411         * modules/lseek (Depends-on): Likewise.
49412         * modules/lstat (Depends-on): Likewise.
49413         * modules/mkostemp (Depends-on): Likewise.
49414         * modules/mkostemps (Depends-on): Likewise.
49415         * modules/mkstemp (Depends-on): Likewise.
49416         * modules/mkstemps (Depends-on): Likewise.
49417         * modules/open (Depends-on): Likewise.
49418         * modules/openat (Depends-on): Likewise.
49419         * modules/pread (Depends-on): Likewise.
49420         * modules/pwrite (Depends-on): Likewise.
49421         * modules/scandir (Depends-on): Likewise.
49422         * modules/stat (Depends-on): Likewise.
49423         * modules/tmpfile (Depends-on): Likewise.
49424         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
49425         since the containing module now depends on the largefile module.
49426         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
49427         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
49428         off_t is fixed by gnulib.
49429         * doc/posix-functions/freopen.texi: Likewise.
49430         * doc/posix-functions/fseeko.texi: Likewise.
49431         * doc/posix-functions/fstatat.texi: Likewise.
49432         * doc/posix-functions/ftello.texi: Likewise.
49433         * doc/posix-functions/glob.texi: Likewise.
49434         * doc/posix-functions/lseek.texi: Likewise.
49435         * doc/posix-functions/lstat.texi: Likewise.
49436         * doc/posix-functions/mkstemp.texi: Likewise.
49437         * doc/posix-functions/open.texi: Likewise.
49438         * doc/posix-functions/openat.texi: Likewise.
49439         * doc/posix-functions/pread.texi: Likewise.
49440         * doc/posix-functions/pwrite.texi: Likewise.
49441         * doc/posix-functions/scandir.texi: Likewise.
49442         * doc/posix-functions/stat.texi: Likewise.
49443         * doc/posix-functions/tmpfile.texi: Likewise.
49444         * doc/glibc-functions/mkostemp.texi: Likewise.
49445         * doc/glibc-functions/mkostemps.texi: Likewise.
49446         * doc/glibc-functions/mkstemps.texi: Likewise.
49448 2011-07-25  Bruno Haible  <bruno@clisp.org>
49450         fcntl: Move AC_LIBOBJ invocation to module description.
49451         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
49452         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
49454         fcntl: Remove call-in from fchdir.m4.
49455         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
49456         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
49458         dup3: Remove potential call-in from fchdir.m4.
49459         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
49460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
49462         dup2: Move AC_LIBOBJ invocation to module description.
49463         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
49464         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
49465         Don't invoke AC_LIBOBJ.
49466         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
49468         dup2: Remove call-in from fchdir.m4.
49469         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
49470         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
49472         fclose: Move AC_LIBOBJ invocation to module description.
49473         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
49474         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
49475         to 1.
49476         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
49478         fclose: Remove call-in from close.m4.
49479         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
49480         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
49482         close: Move AC_LIBOBJ invocation to module description.
49483         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
49484         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
49485         1.
49486         * modules/close (configure.ac): Invoke AC_LIBOBJ.
49488         close: Remove call-in from fchdir.m4.
49489         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
49490         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
49492         open: Move AC_LIBOBJ invocation to module description.
49493         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
49494         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
49495         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
49497         open: Remove call-in from fchdir.m4.
49498         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
49499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
49501         fchdir: Start to remove gl_REPLACE_* idiom.
49502         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
49503         (gl_FUNC_FCHDIR): Invoke it.
49505 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49507         * lib/ftell.c (ftell): Comment out cast.
49509         close: use gl_REPLACE_FCLOSE only if defined
49510         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
49511         is defined.  The close module doesn't depend on the fclose module
49512         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
49513         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
49514         I reproduced the problem with "./gnulib-tool --test close sys_socket".
49516 2011-07-24  Jim Meyering  <meyering@redhat.com>
49518         test-select.h: avoid warning when using gcc's -Wmissing-declarations
49519         * tests/test-select.h (test_function): Declare as "static".
49521 2011-07-24  Bruno Haible  <bruno@clisp.org>
49523         doc: Mention the effects of AC_SYS_LARGEFILE.
49524         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
49525         on this function.
49526         * doc/posix-functions/aio_error.texi: Likewise.
49527         * doc/posix-functions/aio_fsync.texi: Likewise.
49528         * doc/posix-functions/aio_read.texi: Likewise.
49529         * doc/posix-functions/aio_return.texi: Likewise.
49530         * doc/posix-functions/aio_suspend.texi: Likewise.
49531         * doc/posix-functions/aio_write.texi: Likewise.
49532         * doc/posix-functions/fgetpos.texi: Likewise.
49533         * doc/posix-functions/fopen.texi: Likewise.
49534         * doc/posix-functions/freopen.texi: Likewise.
49535         * doc/posix-functions/fsetpos.texi: Likewise.
49536         * doc/posix-functions/fstatvfs.texi: Likewise.
49537         * doc/posix-functions/ftruncate.texi: Likewise.
49538         * doc/posix-functions/ftw.texi: Likewise.
49539         * doc/posix-functions/getrlimit.texi: Likewise.
49540         * doc/posix-functions/glob.texi: Likewise.
49541         * doc/posix-functions/lio_listio.texi: Likewise.
49542         * doc/posix-functions/lockf.texi: Likewise.
49543         * doc/posix-functions/mkstemp.texi: Likewise.
49544         * doc/posix-functions/mmap.texi: Likewise.
49545         * doc/posix-functions/nftw.texi: Likewise.
49546         * doc/posix-functions/openat.texi: Likewise.
49547         * doc/posix-functions/opendir.texi: Likewise.
49548         * doc/posix-functions/posix_fadvise.texi: Likewise.
49549         * doc/posix-functions/posix_fallocate.texi: Likewise.
49550         * doc/posix-functions/pread.texi: Likewise.
49551         * doc/posix-functions/pwrite.texi: Likewise.
49552         * doc/posix-functions/readdir.texi: Likewise.
49553         * doc/posix-functions/readdir_r.texi: Likewise.
49554         * doc/posix-functions/rewinddir.texi: Likewise.
49555         * doc/posix-functions/scandir.texi: Likewise.
49556         * doc/posix-functions/seekdir.texi: Likewise.
49557         * doc/posix-functions/setrlimit.texi: Likewise.
49558         * doc/posix-functions/statvfs.texi: Likewise.
49559         * doc/posix-functions/telldir.texi: Likewise.
49560         * doc/posix-functions/tmpfile.texi: Likewise.
49561         * doc/posix-functions/truncate.texi: Likewise.
49562         * doc/glibc-functions/fallocate.texi: Likewise.
49563         * doc/glibc-functions/fstatfs.texi: Likewise.
49564         * doc/glibc-functions/fts_children.texi: Likewise.
49565         * doc/glibc-functions/fts_read.texi: Likewise.
49566         * doc/glibc-functions/getdirentries.texi: Likewise.
49567         * doc/glibc-functions/mkostemp.texi: Likewise.
49568         * doc/glibc-functions/mkostemps.texi: Likewise.
49569         * doc/glibc-functions/mkstemps.texi: Likewise.
49570         * doc/glibc-functions/preadv.texi: Likewise.
49571         * doc/glibc-functions/pwritev.texi: Likewise.
49572         * doc/glibc-functions/sendfile.texi: Likewise.
49573         * doc/glibc-functions/statfs.texi: Likewise.
49575 2011-07-24  Bruno Haible  <bruno@clisp.org>
49577         doc: Fix typo.
49578         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
49580 2011-07-24  Bruno Haible  <bruno@clisp.org>
49582         doc: Mention fsusage.
49583         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
49585 2011-07-24  Bruno Haible  <bruno@clisp.org>
49587         doc: Mention new glibc headers and functions.
49588         * doc/glibc-headers/gshadow.texi: New file.
49589         * doc/glibc-functions/endsgent.texi: New file.
49590         * doc/glibc-functions/fgetsgent.texi: New file.
49591         * doc/glibc-functions/fgetsgent_r.texi: New file.
49592         * doc/glibc-functions/getsgent.texi: New file.
49593         * doc/glibc-functions/getsgent_r.texi: New file.
49594         * doc/glibc-functions/getsgnam.texi: New file.
49595         * doc/glibc-functions/getsgnam_r.texi: New file.
49596         * doc/glibc-functions/putsgent.texi: New file.
49597         * doc/glibc-functions/setsgent.texi: New file.
49598         * doc/glibc-functions/sgetsgent.texi: New file.
49599         * doc/glibc-functions/sgetsgent_r.texi: New file.
49600         * doc/glibc-functions/malloc_info.texi: New file.
49601         * doc/glibc-functions/preadv.texi: New file.
49602         * doc/glibc-functions/pwritev.texi: New file.
49603         * doc/glibc-functions/register_printf_modifier.texi: New file.
49604         * doc/glibc-functions/register_printf_specifier.texi: New file.
49605         * doc/glibc-functions/register_printf_type.texi: New file.
49606         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
49607         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
49608         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
49609         * doc/glibc-functions/pthread_getname_np.texi: New file.
49610         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
49611         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
49612         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
49613         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
49614         * doc/glibc-functions/pthread_setname_np.texi: New file.
49615         * doc/glibc-functions/pthread_sigqueue.texi: New file.
49616         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
49617         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
49618         * doc/glibc-functions/qsort_r.texi: New file.
49619         * doc/glibc-functions/quick_exit.texi: New file.
49620         * doc/glibc-functions/syncfs.texi: New file.
49621         * doc/gnulib.texi: Include them.
49622         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
49623         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
49624         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
49625         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
49626         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
49627         * doc/glibc-functions/execvpe.texi: Likewise.
49629 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49631         ftell: don't include <unistd.h>
49632         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
49633         guaranteed to define off_t, and the ftell module depends on the
49634         stdio module.
49636         ftell: do not assume wraparound signed arithmetic
49637         * lib/ftell.c: Include <limits.h>.
49638         (ftell): Don't assume wraparound signed arithmetic.
49640 2011-07-24  Bruno Haible  <bruno@clisp.org>
49642         close: No longer depend on module 'fclose'.
49643         * modules/close (Depends-on): Remove fclose.
49644         * NEWS: Mention the change.
49645         Suggested by Sam Steingold <sds@gnu.org>.
49647 2011-07-24  Bruno Haible  <bruno@clisp.org>
49649         fsusage: Enable large volume support on AIX >= 5.2.
49650         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
49651         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
49652         instead of STAT_STATVFS.
49653         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
49655         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
49656         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
49657         f_blocks field only on MacOS X.
49659         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
49660         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
49661         * modules/fsusage (Depends-on): Add largefile.
49663 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49665         * README: Modernize discussion of signed integers.
49666         Assuming overflow wraparound is no longer safe.
49667         Mention ones' complement and signed magnitude.
49669 2011-07-22  Bruno Haible  <bruno@clisp.org>
49671         select tests, pselect tests: Refactor.
49672         * tests/test-select.h: New file, extracted from tests/test-select.c.
49673         (select_fn): New type.
49674         (test, do_select, do_select_nowait, do_select_wait, test_tty,
49675         test_connect_first, test_accept_first, test_pair, test_socket_pair,
49676         test_pipe): Add my_select argument.
49677         (test_function): Renamed from main. Add my_select argument.
49678         * tests/test-select.c: Move most code to tests/test-select.h. Include
49679         test-select.h.
49680         * modules/select-tests (Files): Add tests/test-select.h.
49681         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
49682         (my_select, main): New functions.
49683         * modules/pselect-tests (Files): Add tests/test-select.h,
49684         tests/macros.h, tests/signature.h.
49685         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
49686         (configure.ac): Check for <sys/wait.h>.
49688 2011-07-22  Bruno Haible  <bruno@clisp.org>
49690         sys_select tests: Check the signature of FD_*.
49691         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
49692         signature tests from here...
49693         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
49694         here.
49695         * modules/sys_select-tests (Files): Add tests/signature.h.
49697 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49699         largefile: new module, replacing large-inode
49700         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
49701         * MODULES.html.sh: Add largefile, remove large-inode.
49702         * modules/largefile, m4/largefile.m4: New files.
49703         * modules/large-inode, m4/large-inode.m4: Remove.
49705         fsusage: port to MacOS X 10.7 with 4 TiB file systems
49706         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
49707         implementations that use only 32 bits to count blocks.
49708         On typical hosts with 1024-byte blocks, this fails with file
49709         systems as small as 4 TiB.  Problem reported by Herb Wartens
49710         <http://debbugs.gnu.org/9140> and this should also fix a similar
49711         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
49713         large-inode: New module
49714         * MODULES.html.sh: Add it.
49715         * modules/large-inode, m4/large-inode.m4: New files.
49717         extensions: Enable extensions on MacOS X 10.5 and later.
49718         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
49720 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
49722         file-has-acl: use acl_extended_file_nofollow if available
49723         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
49724         (acl_extended_file): New macro.
49725         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
49726         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
49728 2011-07-21  Bruno Haible  <bruno@clisp.org>
49730         Declare system functions in a way that works with C++.
49731         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
49732         declare fdopendir as extern "C".
49733         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
49734         declare frexpl as extern "C".
49735         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
49736         declare gai_strerror as extern "C".
49737         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
49738         programs, declare gai_strerror as extern "C".
49739         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
49740         declare getlogin_r as extern "C".
49741         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
49742         as extern "C".
49743         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
49744         declare ldexpl as extern "C".
49745         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
49746         as extern "C".
49747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
49748         program, declare getmntinfo as extern "C".
49749         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
49750         stpncpy as extern "C".
49751         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
49752         program, declare __xpg_strerror_r as extern "C".
49753         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
49754         strndup as extern "C".
49755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
49756         declare memset and bzero as extern "C".
49757         Reported by Sam Steingold <sds@gnu.org>.
49759 2011-07-12  Jim Meyering  <meyering@redhat.com>
49761         maint.mk: prohibit inclusion of "verify.h" without use
49762         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
49764 2011-07-19  Pádraig Brady  <P@draigBrady.com>
49766         timer-time: A new module to check for timer_settime()
49767         * m4/timer_time.m4: Check for the posix function.
49768         * modules/timer-time: Add the new module.
49769         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
49770         Mention it.
49772 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
49773             Bruno Haible  <bruno@clisp.org>
49775         pthread_sigmask: assume POSIX threads if --avoid=threadlib
49776         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
49777         not defined, assume POSIX threads and look for pthread_sigmask in
49778         $LIBS, without changing $CPPFLAGS.
49780 2011-07-19  Bruno Haible  <bruno@clisp.org>
49782         strstr: Update cross-compilation guess.
49783         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
49784         CPUs, guess no, in view of glibc
49785         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
49786         Suggested by Eric Blake. Reported by Reuben Thomas.
49788 2011-07-19  Pádraig Brady  <P@draigBrady.com>
49790         getopt-gnu: suppress core dumps from detection code
49791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
49792         to suppress core dumps that may well occur on glibc systems.
49793         * modules/getopt-gnu: Depend on nocrash.
49795 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49797         pthread_sigmask: ensure usleep is declared
49798         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
49799         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
49801 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49803         doc: Document NonStop portability issues.
49804         * doc/posix-functions/sigaction.texi (sigaction):
49805         * doc/posix-headers/signal.texi (signal.h):
49806         Document NonStop.  See Joachim Schmitz in
49807         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
49809 2011-07-15  Bruno Haible  <bruno@clisp.org>
49811         ffsl, ffsll: Avoid unportable behaviour.
49812         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
49814 2011-07-15  Bruno Haible  <bruno@clisp.org>
49816         ffs: More tests.
49817         * tests/test-ffs.c (NBITS): New macro.
49818         (main): Add more tests.
49819         * tests/test-ffsl.c (NBITS): New macro.
49820         (main): Add more tests.
49821         * tests/test-ffsll.c (NBITS): New macro.
49822         (main): Add more tests.
49824 2011-07-15  Eric Blake  <eblake@redhat.com>
49826         ffsl, ffsll: new modules
49827         * modules/ffsl: New file.
49828         * modules/ffsll: Likewise.
49829         * m4/ffsl.m4: Likewise.
49830         * m4/ffsll.m4: Likewise.
49831         * lib/ffsl.c: Likewise.
49832         * lib/ffsl.h: Likewise.
49833         * lib/ffsll.c: Likewise.
49834         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
49835         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
49836         * modules/string (Makefile.am): Substitute witnesses.
49837         * lib/strings.in.h (ffsl, ffsll): Declare.
49838         * modules/ffsl-tests: New test file.
49839         * modules/ffsll-tests: Likewise.
49840         * tests/test-ffsl.c: Likewise.
49841         * tests/test-ffsll.c: Likewise.
49842         * MODULES.html.sh (Integer arithmetic functions): Mention it.
49843         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
49844         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
49846         ffs: fix m4 prerequisite
49847         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
49849         ffs: avoid undefined behavior
49850         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
49851         * tests/test-ffs.c (naive, main): Avoid signed shifts.
49852         Reported by Bruno Haible.
49854 2011-07-12  Bruno Haible  <bruno@clisp.org>
49856         pthread_sigmask: Rely on module 'threadlib'.
49857         * modules/pthread_sigmask (Depends-on): Add threadlib.
49858         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
49859         is defined.
49861 2011-07-12  Bruno Haible  <bruno@clisp.org>
49863         regex: Depend on module 'strcase'.
49864         * modules/regex (Depends-on): Add strcase, for strcasecmp().
49866 2011-07-12  Jim Meyering  <meyering@redhat.com>
49868         warn-on-use: fix typo in file name
49869         * modules/snippet/warn-on-use (Files): Correct file name:
49870         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
49872 2011-07-12  Bruno Haible  <bruno@clisp.org>
49874         strings: Document module.
49875         * doc/posix-headers/strings.texi: Mention module 'strings'.
49877 2011-07-12  Bruno Haible  <bruno@clisp.org>
49879         Rename module '_Noreturn' to 'snippet/_Noreturn'.
49880         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
49881         (Files, Makefile.am): Update.
49882         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
49883         * modules/stdlib (Depends-on): Update.
49885 2011-07-12  Bruno Haible  <bruno@clisp.org>
49887         * NEWS: Mention the changes.
49889         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
49890         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
49891         (Files, Makefile.am): Update.
49892         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
49893         * modules/arpa_inet (Depends-on): Update.
49894         * modules/ctype (Depends-on): Update.
49895         * modules/dirent (Depends-on): Update.
49896         * modules/fcntl-h (Depends-on): Update.
49897         * modules/glob (Depends-on): Update.
49898         * modules/iconv-h (Depends-on): Update.
49899         * modules/inttypes-incomplete (Depends-on): Update.
49900         * modules/langinfo (Depends-on): Update.
49901         * modules/locale (Depends-on): Update.
49902         * modules/math (Depends-on): Update.
49903         * modules/netdb (Depends-on): Update.
49904         * modules/poll-h (Depends-on): Update.
49905         * modules/pty (Depends-on): Update.
49906         * modules/search (Depends-on): Update.
49907         * modules/signal (Depends-on): Update.
49908         * modules/spawn (Depends-on): Update.
49909         * modules/stdio (Depends-on): Update.
49910         * modules/stdlib (Depends-on): Update.
49911         * modules/string (Depends-on): Update.
49912         * modules/strings (Depends-on): Update.
49913         * modules/sys_file (Depends-on): Update.
49914         * modules/sys_ioctl (Depends-on): Update.
49915         * modules/sys_select (Depends-on): Update.
49916         * modules/sys_socket (Depends-on): Update.
49917         * modules/sys_stat (Depends-on): Update.
49918         * modules/sys_time (Depends-on): Update.
49919         * modules/sys_times (Depends-on): Update.
49920         * modules/sys_utsname (Depends-on): Update.
49921         * modules/sys_wait (Depends-on): Update.
49922         * modules/termios (Depends-on): Update.
49923         * modules/time (Depends-on): Update.
49924         * modules/unistd (Depends-on): Update.
49925         * modules/wchar (Depends-on): Update.
49926         * modules/wctype-h (Depends-on): Update.
49927         * MODULES.html.sh (Support for building libraries and executables):
49928         Update.
49930         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
49931         * modules/snippet/unused-parameter: Renamed from
49932         modules/unused-parameter.
49933         (Files, Makefile.am): Update.
49934         * build-aux/snippet/unused-parameter.h: Renamed from
49935         build-aux/unused-parameter.h.
49936         * modules/selinux-h (Depends-on): Update.
49937         * modules/unistr/base (Depends-on): Update.
49938         * MODULES.html.sh (Core language properties): Update.
49940         Rename module 'link-warning' to 'snippet/link-warning'.
49941         * modules/snippet/link-warning: Renamed from modules/link-warning.
49942         (Files, Makefile.am): Update.
49943         * build-aux/snippet/link-warning.h: Renamed from
49944         build-aux/link-warning.h.
49945         * MODULES.html.sh (Support for building libraries and executables):
49946         Update.
49948         Rename module 'c++defs' to 'snippet/c++defs'.
49949         * modules/snippet/c++defs: Renamed from modules/c++defs.
49950         (Files, Makefile.am): Update.
49951         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
49952         * modules/arpa_inet (Depends-on): Update.
49953         * modules/ctype (Depends-on): Update.
49954         * modules/dirent (Depends-on): Update.
49955         * modules/fcntl-h (Depends-on): Update.
49956         * modules/glob (Depends-on): Update.
49957         * modules/iconv-h (Depends-on): Update.
49958         * modules/langinfo (Depends-on): Update.
49959         * modules/locale (Depends-on): Update.
49960         * modules/math (Depends-on): Update.
49961         * modules/netdb (Depends-on): Update.
49962         * modules/poll-h (Depends-on): Update.
49963         * modules/pty (Depends-on): Update.
49964         * modules/search (Depends-on): Update.
49965         * modules/signal (Depends-on): Update.
49966         * modules/spawn (Depends-on): Update.
49967         * modules/stdio (Depends-on): Update.
49968         * modules/stdlib (Depends-on): Update.
49969         * modules/string (Depends-on): Update.
49970         * modules/strings (Depends-on): Update.
49971         * modules/sys_ioctl (Depends-on): Update.
49972         * modules/sys_select (Depends-on): Update.
49973         * modules/sys_socket (Depends-on): Update.
49974         * modules/sys_stat (Depends-on): Update.
49975         * modules/sys_time (Depends-on): Update.
49976         * modules/sys_wait (Depends-on): Update.
49977         * modules/termios (Depends-on): Update.
49978         * modules/time (Depends-on): Update.
49979         * modules/unistd (Depends-on): Update.
49980         * modules/wchar (Depends-on): Update.
49981         * modules/wctype-h (Depends-on): Update.
49983         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
49984         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
49985         (Files, Makefile.am): Update.
49986         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
49987         * modules/argv-iter (Depends-on): Update.
49988         * modules/arpa_inet (Depends-on): Update.
49989         * modules/dirent (Depends-on): Update.
49990         * modules/fcntl-h (Depends-on): Update.
49991         * modules/fnmatch (Depends-on): Update.
49992         * modules/getopt-posix (Depends-on): Update.
49993         * modules/glob (Depends-on): Update.
49994         * modules/iconv-h (Depends-on): Update.
49995         * modules/inttypes-incomplete (Depends-on): Update.
49996         * modules/locale (Depends-on): Update.
49997         * modules/math (Depends-on): Update.
49998         * modules/netdb (Depends-on): Update.
49999         * modules/search (Depends-on): Update.
50000         * modules/signal (Depends-on): Update.
50001         * modules/spawn (Depends-on): Update.
50002         * modules/stdio (Depends-on): Update.
50003         * modules/stdlib (Depends-on): Update.
50004         * modules/string (Depends-on): Update.
50005         * modules/strings (Depends-on): Update.
50006         * modules/sys_socket (Depends-on): Update.
50007         * modules/sys_stat (Depends-on): Update.
50008         * modules/sys_time (Depends-on): Update.
50009         * modules/sys_times (Depends-on): Update.
50010         * modules/sys_utsname (Depends-on): Update.
50011         * modules/time (Depends-on): Update.
50012         * modules/unistd (Depends-on): Update.
50013         * modules/wchar (Depends-on): Update.
50014         * MODULES.html.sh (Support for building libraries and executables):
50015         Update.
50017 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50019         Improvements on _Noreturn and related modules.
50021         modules/_Exit-tests: test _Noreturn too
50022         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
50023         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
50024         (main): Use them.
50026         stdnoreturn, stdnoreturn-tests: remove modules
50027         They're not needed here and a bit premature for use elsewhere.  See
50028         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
50029         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
50030         * tests/test-stdnoreturn.c: Remove files.
50031         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
50032         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
50033         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
50034         and using noreturn.
50035         * modules/openat, modules/sigpipe-die, modules/xalloc:
50036         * modules/xmemdup0, modules/xstrtol:
50037         Remove dependency on stdnoreturn.
50039         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
50040         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
50041         Reparenthesize to avoid GCC warning.
50042         Support Microsoft's syntax.
50043         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
50045         _Noreturn-tests: remove module
50046         * modules/_Noreturn-tests: Remove.
50047         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
50048         * tests/test-_Noreturn.c: Remove.
50049         * tests/test-stdnoreturn.c: Merge from the old
50050         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
50052 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50054         _Noreturn, stdnoreturn, and related modules.
50056         * top/maint.mk: Adjust to new noreturn support.
50057         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
50058         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
50060         xalloc: use stdnoreturn.h
50061         * lib/xalloc.h: Include <stdnoreturn.h>.
50062         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50063         * modules/xalloc (Depends-on): Add stdnoreturn.
50065         xstrtol: use stdnoreturn.h
50066         * lib/xstrtol.h: Include <stdnoreturn.h>.
50067         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50068         * modules/xstrtol (Depends-on): Add stdnoreturn.
50070         xmemdup0: use stdnoreturn.h
50071         * lib/xmemdup0.h: Include <stdnoreturn.h>.
50072         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50073         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
50075         sigpipe-die: use stdnoreturn.h
50076         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
50077         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50078         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
50080         openat: use stdnoreturn.h
50081         * lib/openat.h: Include <stdnoreturn.h>.
50082         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50083         * modules/openat (Depends-on): Add stdnoreturn.
50085         * lib/openat-die.c (openat_save_fail): Modernize comment.
50087         * lib/xalloc-die.c (xalloc_die): Modernize comment.
50089         * lib/glthread/thread.h: Modernize comment.
50091         obstack: use _Noreturn
50092         * lib/obstack.c (__attribute__): Remove macro.
50093         (print_and_abort): Use _Noreturn.
50095         c-stack: use _Noreturn
50096         * lib/c-stack.c (die, overflow_handler, segv_handler):
50097         Use _Noreturn rather than __attribute__((noreturn)).
50099         argmatch-tests, exclude_tests: use _Noreturn
50100         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
50101         Remove.
50102         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
50104         stdlib: use _Noreturn
50105         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
50106         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
50107         * modules/stdlib (Depends-on): Add _Noreturn.
50108         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
50110         stdnoreturn-tests: new module
50111         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
50113         stdnoreturn: new module
50114         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
50115         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
50117         _Noreturn-tests: new module
50118         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
50120         _Noreturn: new module
50121         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
50122         New section, mentioning it.
50123         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
50125         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
50127 2011-07-11  Eric Blake  <eblake@redhat.com>
50129         ffs: new module
50130         * modules/ffs: New file.
50131         * m4/ffs.m4: Likewise.
50132         * lib/ffs.c: Likewise.
50133         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
50134         * modules/strings (Makefile.am): Substitute witness.
50135         (Depends-on): Add c++defs.
50136         * lib/strings.in.h (ffs): Declare.
50137         * modules/ffs-tests: New test file.
50138         * tests/test-ffs.c: Test new module.
50139         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50140         * doc/posix-functions/ffs.texi (ffs): Likewise.
50142         regex: avoid compiler warning
50143         * lib/regex.c (includes): Include <strings.h>, for use of
50144         strcasecmp in regcomp.c.
50145         Reported by Joachim Schmitz.
50147 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50149         stdint: respect system's intmax_t if INTMAX_MAX
50150         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
50151         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
50152         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
50153         long but int64_t is long long, and where we will clash with the
50154         system intmax_t if we override it.  See
50155         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
50156         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
50157         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
50158         similarly for UINTMAX_C.
50160 2011-07-08  Bruno Haible  <bruno@clisp.org>
50162         pthread_sigmask tests: Avoid a compiler warning.
50163         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
50164         non-zero.
50166         sigprocmask tests: A better way to avoid a compiler warning.
50167         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
50168         (main): Complain if system() returns non-zero.
50169         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
50171 2011-07-08  Bruno Haible  <bruno@clisp.org>
50173         pthread_sigmask: Work around IRIX bug.
50174         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
50175         bug.
50176         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
50177         there may be unblocked pending signals.
50178         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
50180 2011-07-08  Bruno Haible  <bruno@clisp.org>
50182         pthread_sigmask: Work around Cygwin bug.
50183         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
50184         bug.
50185         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
50186         the system's pthread_sigmask function.
50187         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
50189 2011-07-08  Bruno Haible  <bruno@clisp.org>
50191         pthread_sigmask: Work around bug in single-threaded implementation.
50192         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
50193         FreeBSD, HP-UX, Solaris bug.
50194         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
50195         * lib/pthread_sigmask.c: Include <stddef.h>.
50196         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
50197         the system's pthread_sigmask function.
50198         * modules/pthread_sigmask (configure.ac): Invoke
50199         gl_PREREQ_PTHREAD_SIGMASK.
50200         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
50201         HP-UX, Solaris.
50203 2011-07-08  Eric Blake  <eblake@redhat.com>
50205         test-sigprocmask: avoid compiler warning
50206         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
50207         * tests/test-sigprocmask.c (main): Use it to silence warning.
50208         Reported by Jim Meyering.
50210         test-snprintf: avoid compiler warning
50211         * tests/test-snprintf.c (main): Avoid shadowed declaration.
50212         * tests/test-vsnprintf.c (main): Likewise.
50213         Reported by Jim Meyering.
50215 2011-07-08  Bruno Haible  <bruno@clisp.org>
50217         Tests for module 'pthread_sigmask'.
50218         * modules/pthread_sigmask-tests: New file.
50219         * tests/test-pthread_sigmask1.c: New file, based on
50220         tests/test-sigprocmask.c.
50221         * tests/test-pthread_sigmask2.c: New file.
50223 2011-07-08  Jim Meyering  <meyering@redhat.com>
50225         test-getopt.h: avoid warning about an unused variable
50226         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
50228 2011-07-07  Jim Meyering  <meyering@redhat.com>
50230         maint: reduce list of files exempt from sc_prohibit_leading_TABs
50231         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
50232         now that it no longer contains leading TABs.
50233         Remove unused "url=FIXME" statement.
50235 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50237         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
50238         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50239         When gl_THREADLIB is not in use, assume that the POSIX sematics
50240         are desired.  This is better for Emacs, which uses POSIX semantics
50241         on GNUish and/or POSIXish platforms, and does not use threads at
50242         all otherwise.
50244         pthread_sigmask: fix typo when testing for libraries
50245         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50246         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
50248 2011-07-08  Eric Blake  <eblake@redhat.com>
50250         fts: introduce FTS_NOATIME
50251         * lib/fts_.h (FTS_NOATIME): New bit flag.
50252         (FTS_OPTIONMASK): Adjust.
50253         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
50254         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
50256 2011-07-08  Bruno Haible  <bruno@clisp.org>
50258         Tests for module 'thread'.
50259         * modules/thread-tests: New file.
50260         * tests/test-thread_self.c: New file.
50261         * tests/test-thread_create.cc: New file.
50263 2011-07-08  Bruno Haible  <bruno@clisp.org>
50265         thread: Avoid gcc warnings when using gl_thread_self().
50266         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
50267         'void *'.
50268         (gl_thread_self_pointer): Update.
50270 2011-07-07  Bruno Haible  <bruno@clisp.org>
50272         signal-c++-tests: Check declaration of pthread_sigmask.
50273         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
50274         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
50275         $(LIB_PTHREAD_SIGMASK).
50277 2011-07-07  Bruno Haible  <bruno@clisp.org>
50279         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
50280         * lib/signal.in.h (pthread_sigmask): Override if
50281         REPLACE_PTHREAD_SIGMASK is 1.
50282         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50283         REPLACE_PTHREAD_SIGMASK.
50284         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
50285         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
50286         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
50287         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50288         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
50290 2011-07-07  Bruno Haible  <bruno@clisp.org>
50292         pthread_sigmask: Ensure declaration in <signal.h>.
50293         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
50294         include <pthread.h>.
50295         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
50296         problem.
50298 2011-07-07  Bruno Haible  <bruno@clisp.org>
50300         pthread_sigmask: Document the module.
50301         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
50303 2011-07-07  Bruno Haible  <bruno@clisp.org>
50305         pthread_sigmask: Follow gnulib conventions.
50306         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
50307         gl_PTHREAD_SIGMASK.
50308         * modules/pthread_sigmask (configure.ac): Update.
50310 2011-07-07  Bruno Haible  <bruno@clisp.org>
50312         pthread_sigmask: Make declaration C++ safe.
50313         * lib/signal.in.h: In two special conditions, just do an #include_next.
50314         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50315         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
50316         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50317         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50318         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
50319         not REPLACE_PTHREAD_MASK.
50320         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
50321         not REPLACE_PTHREAD_MASK.
50322         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50324 2011-07-07  Bruno Haible  <bruno@clisp.org>
50326         pthread_sigmask: Fix return value.
50327         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
50328         * lib/pthread_sigmask.c: New file.
50329         * modules/pthread_sigmask (Files): Add it.
50330         (configure.ac): Invoke AC_LIBOBJ.
50332 2011-07-07  Eric Blake  <eblake@redhat.com>
50334         getopt: more portable argv creation
50335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
50336         const, use char arrays rather than strings.
50337         Suggested by Paul Eggert.
50339 2011-07-07  Bruno Haible  <bruno@clisp.org>
50341         Tests for module 'sigprocmask'.
50342         * modules/sigprocmask-tests: New file.
50343         * tests/test-sigprocmask.c: New file.
50345 2011-07-07  Bruno Haible  <bruno@clisp.org>
50347         float tests: Tweak.
50348         * tests/test-float.c (main): Tweak skip message.
50350 2011-07-07  Eric Blake  <eblake@redhat.com>
50352         getopt: avoid compiler warning during configure
50353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
50354         assigning string literals to non-const pointer.
50356         getopt-gnu: avoid crash in glibc getopt
50357         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
50358         * tests/test-getopt.h (test_getopt): Enhance test.
50359         * tests/test-getopt_long.h (test_getopt_long): Likewise.
50360         * doc/posix-functions/getopt.texi (getopt): Document it.
50361         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50362         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50363         Likewise.
50365 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
50367         getopt: handle W; without long options in getopt [BZ #12922]
50368         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
50369         but no long options are defined, just return 'W'.
50371 2011-07-07  Bruno Haible  <bruno@clisp.org>
50373         Avoid literal tabs.
50374         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
50375         variable containing a tab instead of a literal tab.
50376         Reported by Jim Meyering.
50378 2011-07-07  Bruno Haible  <bruno@clisp.org>
50380         Comments.
50381         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
50383 2011-07-06  Bruno Haible  <bruno@clisp.org>
50385         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
50386         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
50387         <winsock2.h>.
50388         (rpl_fd_isset, FD_ISSET): New definitions, copied from
50389         lib/sys_socket.in.h.
50390         (close, gethostname): Hide declarations from <winsock2.h>.
50391         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50392         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
50393         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
50394         (select): Don't override if gnulib's <sys/select.h> was already
50395         included.
50396         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
50397         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
50398         setsockopt, shutdown, select): Tweak indentation.
50400 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50402         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
50403         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
50404         in an application that does not use the sys_select module.
50406 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
50408         poll: do not return 0 on timeout=-1
50409         * lib/poll.c: Loop with yield if no events occurred.
50411 2011-07-06  Eric Blake  <eblake@redhat.com>
50413         pthread_sigmask: always replace when not using pthread
50414         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
50415         replacement when using some threading other than pthread.  Fix
50416         logic bug.
50418 2011-07-06  Bruno Haible  <bruno@clisp.org>
50420         Comments.
50421         * m4/printf.m4: Update comments about mingw.
50423 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50425         sys_select: define sigset_t more portably
50426         * lib/sys_select.in.h: Always include <sys/types.h>, since
50427         we now need sigset_t and mingw defines it there.
50428         Include <signal.h> before split inclusion guard, to avoid
50429         mishaps on Solaris, whose <signal.h> eventually includes us.
50430         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
50431         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
50432         which come from ...
50433         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50434         gl_CHECK_TYPE_SIGSET_T.
50435         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
50436         does the real work.
50437         * modules/sys_select (Depends-on): Add 'signal'.
50439         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
50440         Suggested by Bruno Haible.
50442         pselect: Use pthread_sigmask, not sigprocmask.
50443         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
50444         multithreaded apps better than sigprocmask does.
50445         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
50446         sigprocmask directly.
50448 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50450         * lib/pselect.c (pselect): Use plain name, without "rpl_".
50451         Don't #undef,  since we don't need any underlying pselect.
50452         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
50453         (Depends-on): Add select.
50454         (Link): Add $(LIBSOCKET).
50455         These changes suggested by Bruno Haible.
50457         pselect: document better
50458         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50459         * doc/posix-functions/pselect.texi (pselect): Document new module.
50461         pthread_sigmask: new module
50462         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50463         * doc/posix-functions/pthread_sigmask.texi: Document new module.
50464         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
50465         This is done only as a macro; I don't know how well that'll
50466         work for C++.  Move <sys/types.h> include before the include_next,
50467         to avoid mishap on Solaris.
50468         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
50469         * modules/signal (Makefile.am): Substitute the check's results.
50470         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
50472         test-pselect: new module
50473         * modules/pselect-tests, tests/test-pselect.c: New files.
50474         * tests/test-select.c, tests/test-sys_select-c++.cc:
50475         If TEST_PSELECT is defined, test pselect instead of testing select.
50477         * tests/test-sys_select.c (sigset_t): Test for it, too.
50478         Suggested by Bruno Haible.
50480 2011-07-05  Eric Blake  <eblake@redhat.com>
50482         snprintf: guarantee %1$d, for libintl
50483         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
50484         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50485         * doc/posix-functions/snprintf.texi (snprintf): Update.
50486         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50487         * tests/test-snprintf.c (main): Enhance test.
50488         * tests/test-vsnprintf.c (main): Likewise.
50490 2011-07-05  Jim Meyering  <meyering@redhat.com>
50492         maint: exempt stdio-read.c and stdio-write.c from the cppi check
50493         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
50494         per Bruno's request, to accommodate this idiom (no space after "#")
50495         even when the function is inside an #if block:
50496         char *
50497         gets (char *s)
50498         #undef gets
50499         {
50500           ...
50501         }
50503 2011-07-04  Jim Meyering  <meyering@redhat.com>
50505         maint: indent with spaces, not TABs, and add a rule to check this
50506         * tests/test-userspec.c: Indent with spaces, not TABs.
50507         * tests/test-argp.c: Likewise.
50508         * tests/test-c-stack2.sh: Likewise.
50509         * tests/test-parse-duration.sh: Likewise
50510         * m4/strtod.m4: Likewise.
50511         * m4/alloca.m4: Likewise.
50512         * m4/pselect.m4: Likewise.
50513         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
50515 2011-07-03  Jim Meyering  <meyering@redhat.com>
50517         maint.mk: correct omissions in prohibit_argmatch_without_use check
50518         This rule would mistakenly report that argmatch.h is included without
50519         use even when both the argmatch and invalid_arg macro were used.
50520         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
50521         of argmatch and invalid_arg.
50523 2011-07-03  Bruno Haible  <bruno@clisp.org>
50525         Comments about EINTR.
50526         * lib/safe-read.h: Explain the purpose of this module.
50527         * lib/safe-write.h: Likewise.
50528         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
50529         module.
50530         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
50531         module.
50532         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50534 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50536         xnanosleep: Rewrite to use new dtotimespec module.
50537         It has the conversion code that used to be in xnanosleep.
50538         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
50539         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
50540         (TIME_T_MAX): Remove.
50541         (xnanosleep): Rewrite in terms of dtotimespec.
50542         * modules/xnanosleep (Depends-on): Add dtotimespec.
50543         Remove intprops, stdbool.
50545         timespec-add, timespec-sub: new modules
50546         * lib/timespec.h (timespec_add, timespec_sub): New decls.
50547         * lib/timespec-add.c, lib/timespec-sub.c:
50548         * modules/timespec-add, modules/timespec-sub: New files.
50550         dtotimespec: new module
50551         * lib/timespec.h (dtotimespec): New decl.
50552         * lib/dtotimespec.c, modules/dtotimespec: New files.
50554         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
50556         pselect: new module
50557         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
50558         (pselect): New decls.
50559         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
50560         since the standard pselect decl uses 'restrict'.
50561         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
50562         HAVE_PSELECT, REPLACE_PSELECT.
50563         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
50564         HAVE_PSELECT, REPLACE_PSELECT.
50565         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
50567         sys_select: don't depend on sys_socket
50568         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
50569         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
50570         This fix works on GNU and GNU-like platforms, but has not been tested
50571         on native Windows.
50572         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
50573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
50574         gl_HEADER_SYS_SOCKET.
50575         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
50576         gl_PREREQ_SYS_H_WINSOCK2.
50578 2011-06-29  Eric Blake  <eblake@redhat.com>
50580         pipe2: fix C89 compile problem
50581         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
50582         Reported by Bruno Haible.
50584         pipe, pipe2: don't corrupt fd on error
50585         * lib/pipe.c (pipe): Leave fd unchanged on error.
50586         * lib/pipe2.c (pipe2): Likewise.
50587         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
50588         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
50590 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
50592         mmap-anon: do not use regular expressions inadvertently
50593         * m4/mmap-anon.m4: Remove trailing period from strings sought
50594         in the output.
50596 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
50598         nanosleep: fix integer overflow problem
50599         * lib/nanosleep.c (my_usleep): Don't assume signed integer
50600         arithmetic wraps around on overflow.
50602         nanosleep: simplify carrying
50603         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
50604         first call to the underyling nanosleep, not for the last one.
50605         This doesn't fix any bugs, but it simplifies the computation of
50606         the remaining delay.  Found while auditing integer overflow issues.
50608         dup2: remove test for existence of fcntl
50609         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
50610         "#if HAVE_FCNTL", in the configure-time test program.
50611         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
50612         and therefore speeds up "configure" a bit.  Found while
50613         adding the dup2 module to Emacs.
50615 2011-06-24  Eric Blake  <eblake@redhat.com>
50617         maint.mk: enhance useless header checks
50618         * top/maint.mk (_sc_header_without_use): Check both include
50619         styles.
50620         (sc_prohibit_assert_without_use)
50621         (sc_prohibit_close_stream_without_use)
50622         (sc_prohibit_getopt_without_use)
50623         (sc_prohibit_quotearg_without_use)
50624         (sc_prohibit_quote_without_use)
50625         (sc_prohibit_long_options_without_use)
50626         (sc_prohibit_inttostr_without_use)
50627         (sc_prohibit_ignore_value_without_use)
50628         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
50629         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
50630         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
50631         (sc_prohibit_hash_pjw_without_use)
50632         (sc_prohibit_safe_read_without_use)
50633         (sc_prohibit_argmatch_without_use)
50634         (sc_prohibit_canonicalize_without_use)
50635         (sc_prohibit_root_dev_ino_without_use)
50636         (sc_prohibit_openat_without_use)
50637         (sc_prohibit_c_ctype_without_use)
50638         (sc_prohibit_signal_without_use)
50639         (sc_prohibit_stdio--_without_use)
50640         (sc_prohibit_stdio-safer_without_use)
50641         (sc_prohibit_strings_without_use)
50642         (sc_prohibit_intprops_without_use)
50643         (sc_prohibit_stddef_without_use)
50644         (sc_prohibit_xfreopen_without_use): Update clients.
50646 2011-06-24  Jim Meyering  <meyering@redhat.com>
50648         syntax-check: keep one maint.mk rule in sync with its header
50649         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
50650         of the bug Eric has just fixed, with today's commit 25e4c2ec.
50651         I prefer to avoid temporary files here, so use <(...), but that
50652         is not supported by /bin/sh, so...
50653         (SHELL): Define to /bin/bash.
50655 2011-06-24  Eric Blake  <eblake@redhat.com>
50657         maint.mk: update sc_prohibit_intprops_without_use
50658         * top/maint.mk (_intprops_names): Match recent changes.
50660 2011-06-24  Bruno Haible  <bruno@clisp.org>
50662         strerror-override: No-op tweak.
50663         * lib/strerror-override.h (strerror_override): Reorder conditions,
50664         for consistency with lib/strerror-override.c.
50666 2011-06-23  Eric Blake  <eblake@redhat.com>
50668         maint.mk: test further PATH_MAX issues
50669         * top/maint.mk (sc_prohibit_path_max_array): Rename...
50670         (sc_prohibit_path_max_allocation): ...and also test alloca.
50671         Suggested by Jim Meyering.
50673 2011-06-22  Eric Blake  <eblake@redhat.com>
50675         maint.mk: add syntax-check to avoid char[PATH_MAX]
50676         * top/maint.mk (sc_prohibit_path_max_array): New rule.
50678         stat: be robust to PATH_MAX definition
50679         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
50680         * modules/stat (Depends-on): Add verify.
50682         link: work around IRIX bug
50683         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
50684         * lib/link.c (rpl_link): Work around it.
50685         * tests/test-link.h (test_link): Enhance test.
50686         * doc/posix-functions/link.texi (link): Document the bug.
50688         getopt: silence clang warning
50689         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
50690         dereference.
50691         Reported by Gustavo Martin Domato.
50693 2011-06-22  Jim Meyering  <meyering@redhat.com>
50695         bootstrap: do not insert a blank line into each .gitignore file
50696         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
50698 2011-06-21  Eric Blake  <eblake@redhat.com>
50700         perror: test for output mismatch
50701         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
50702         perror on IRIX.
50704         strerror_r: fix OpenBSD behavior on out-of-range
50705         * lib/strerror_r.c (strerror_r): Always use maximal string.
50706         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
50708         strerror_r: fix OpenBSD behavior on 0
50709         * lib/strerror-override.c (strerror_override): Also override 0
50710         when needed.
50711         * lib/strerror-override.h (strerror_override): Likewise.
50712         * lib/strerror.c (strerror): Simplify, now that 0 override is done
50713         earlier.
50714         * lib/strerror_r.c (strerror_r): Likewise.
50715         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
50716         behavior...
50717         (gl_FUNC_STRERROR_0): ...into new macro.
50718         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
50719         is overridden.
50720         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
50721         * modules/strerror-override (Files): Add strerror.m4.
50722         (configure.ac): Also provide override for 0 when needed.
50723         * doc/posix-functions/strerror.texi (strerror): Document this.
50724         * doc/posix-functions/perror.texi (perror): Likewise.
50726         perror: adjust array size
50727         * modules/perror (Depends-on): Add strerror-override.
50728         * lib/perror.c (perror): Use it to avoid magic number.
50730         strerror-override: reduce size
50731         * lib/strerror-override.c (strerror_override): Use fewer lines.
50733 2011-06-20  Bruno Haible  <bruno@clisp.org>
50735         pathmax: Ensure correct value for PATH_MAX on HP-UX.
50736         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
50738 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50740         alloca: port to compilers that can optimize like GCC 4.6.0
50741         * lib/alloca.c (find_stack_direction): New signature, taken from
50742         Autoconf git.  This works with GCC 4.6.0.  This code should never
50743         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
50744         be used with other compilers that optimize as well as GCC 4.6.0 does.
50745         (alloca): Adjust to new signature.
50746         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
50747         New macro, which patches Autoconf in a similar way.
50749         c-stack: stop worrying about stack direction
50750         * lib/c-stack.c (find_stack_direction): Remove.
50751         (segv_handler): Don't worry about stack direction growth, as it's
50752         too much of a pain to configure this correctly, given how compilers
50753         are optimizing-away our stack-growth detection code.  Instead, assume
50754         that any access to just before or just after the stack is OK.
50755         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50756         Don't require AC_FUNC_ALLOCA; no longer needed.
50758 2011-06-20  Eric Blake  <eblake@redhat.com>
50760         test-stat: don't allocate PATH_MAX bytes
50761         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
50762         PATH_MAX-sized buffer.
50763         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
50764         * modules/stat-tests (Depends-on): Likewise.
50765         * tests/test-fstatat.c (includes): Drop pathmax.h.
50766         * tests/test-stat.c (includes): Likewise.
50767         Reported by Bruno Haible.
50769 2011-06-20  Bruno Haible  <bruno@clisp.org>
50771         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
50772         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
50773         * lib/float.c: New file.
50774         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
50775         REPLACE_FLOAT_LDBL.
50776         * modules/float (Files): Add lib/float.c.
50777         (configure.ac): Invoke AC_LIBOBJ.
50778         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
50780 2011-06-20  Bruno Haible  <bruno@clisp.org>
50782         Tests for module 'float'.
50783         * modules/float-tests: New file.
50784         * tests/test-float.c: New file.
50786 2011-06-19  Bruno Haible  <bruno@clisp.org>
50788         isinf: Coding style.
50789         * lib/isinf.c: Use GNU coding style.
50791 2011-06-19  Bruno Haible  <bruno@clisp.org>
50793         linkat test: Avoid test failure on AIX 7.1.
50794         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
50795         * tests/test-link.h (test_link): Likewise.
50797 2011-06-19  Bruno Haible  <bruno@clisp.org>
50799         pread test: Avoid test failure on OpenBSD 4.9.
50800         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
50802 2011-06-19  Bruno Haible  <bruno@clisp.org>
50804         sprintf-posix: Fix test failure on AIX 7.1.
50805         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
50806         * doc/posix-functions/dprintf.texi: Mention limited precision problem
50807         on AIX.
50808         * doc/posix-functions/fprintf.texi: Likewise.
50809         * doc/posix-functions/printf.texi: Likewise.
50810         * doc/posix-functions/snprintf.texi: Likewise.
50811         * doc/posix-functions/sprintf.texi: Likewise.
50812         * doc/posix-functions/vdprintf.texi: Likewise.
50813         * doc/posix-functions/vfprintf.texi: Likewise.
50814         * doc/posix-functions/vprintf.texi: Likewise.
50815         * doc/posix-functions/vsnprintf.texi: Likewise.
50816         * doc/posix-functions/vsprintf.texi: Likewise.
50818 2011-06-19  Bruno Haible  <bruno@clisp.org>
50820         roundl-ieee: Fix test failure on AIX 7.1.
50821         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
50822         * doc/posix-functions/roundl.texi: Mention problem with negative
50823         arguments.
50825 2011-06-19  Bruno Haible  <bruno@clisp.org>
50827         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
50828         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
50829         * doc/posix-functions/round.texi: Mention problem with negative
50830         arguments.
50831         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
50833 2011-06-19  Bruno Haible  <bruno@clisp.org>
50835         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
50836         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
50837         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
50838         * doc/posix-functions/roundf.texi: Mention problem with negative
50839         arguments.
50840         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
50842 2011-06-19  Bruno Haible  <bruno@clisp.org>
50844         ceilf-ieee: Work around bug on MacOS X 10.5.
50845         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
50847         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
50848         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
50849         IEEE compliant, avoid compiler optimizations.
50850         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
50851         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
50852         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
50853         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
50854         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
50855         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
50856         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
50857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
50858         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
50859         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
50861 2011-06-19  Bruno Haible  <bruno@clisp.org>
50863         ceilf-ieee: Work around bug on AIX 7.1.
50864         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
50865         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
50867 2011-06-19  Bruno Haible  <bruno@clisp.org>
50869         ceil-ieee: Work around bug on AIX 7.1.
50870         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
50871         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
50873 2011-06-18  Bruno Haible  <bruno@clisp.org>
50875         fsync test: Avoid test failure on MacOS X and AIX.
50876         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
50877         EINVAL.
50879 2011-06-18  Bruno Haible  <bruno@clisp.org>
50881         openat, fdopendir tests: Fix link errors.
50882         * modules/openat-tests (Depends-on): Add progname.
50883         * modules/fdopendir-tests (Depends-on): Likewise.
50884         * tests/test-fchownat.c: Include progname.h.
50885         (main): Call set_program_name.
50886         * tests/test-fstatat.c: Include progname.h.
50887         (main): Call set_program_name.
50888         * tests/test-mkdirat.c: Include progname.h.
50889         (main): Call set_program_name.
50890         * tests/test-openat.c: Include progname.h.
50891         (main): Call set_program_name.
50892         * tests/test-unlinkat.c: Include progname.h.
50893         (main): Call set_program_name.
50894         * tests/test-fdopendir.c: Include progname.h.
50895         (main): Call set_program_name.
50897 2011-06-18  Bruno Haible  <bruno@clisp.org>
50899         Doc update.
50900         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
50901         HP-UX.
50902         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
50904 2011-06-18  Bruno Haible  <bruno@clisp.org>
50906         getcwd tests: Avoid compilation error on HP-UX 11.31.
50907         * modules/getcwd-tests (Depends-on): Add pathmax.
50908         * tests/test-getcwd.c: Include pathmax.h.
50910 2011-06-18  Bruno Haible  <bruno@clisp.org>
50912         isfinite, isinf: Fix link error on AIX 6 and 7.
50913         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
50914         needed, also test the macro with a 'float' argument.
50915         * m4/isinf.m4 (gl_ISINF): Likewise.
50917 2011-06-18  Bruno Haible  <bruno@clisp.org>
50919         getloadavg: Don't clobber LIBS. Regression from previous commit.
50920         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
50921         AC_CHECK_LIB from here...
50922         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
50923         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
50924         gl_func_getloadavg_done.
50925         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50927 2011-06-18  Bruno Haible  <bruno@clisp.org>
50929         clean-temp: Improve documentation.
50930         * lib/clean-temp.h: Explain better how to use this module.
50931         Reported by John Darrington <john@darrington.wattle.id.au>.
50933 2011-06-17  Bruno Haible  <bruno@clisp.org>
50935         pread, pwrite: Avoid cc warning on AIX.
50936         * lib/unistd.in.h (pread): Undefine before defining as a macro.
50937         (pwrite): Likewise.
50939 2011-06-17  Bruno Haible  <bruno@clisp.org>
50941         spawn-pipe tests: Fix link error.
50942         * tests/test-spawn-pipe-child.c: Undefine fprintf.
50943         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50945 2011-06-17  Bruno Haible  <bruno@clisp.org>
50947         Tests: Remove unnecessary dependency.
50948         * modules/canonicalize-tests (Depends-on): Remove progname.
50949         * modules/chown-tests (Depends-on): Likewise.
50950         * modules/dirname-tests (Depends-on): Likewise.
50951         * modules/fdopendir-tests (Depends-on): Likewise.
50952         * modules/fdutimensat-tests (Depends-on): Likewise.
50953         * modules/hash-tests (Depends-on): Likewise.
50954         * modules/lchown-tests (Depends-on): Likewise.
50955         * modules/linkat-tests (Depends-on): Likewise.
50956         * modules/renameat-tests (Depends-on): Likewise.
50957         * modules/spawn-pipe-tests (Depends-on): Likewise.
50958         * modules/utimensat-tests (Depends-on): Likewise.
50960 2011-06-17  Bruno Haible  <bruno@clisp.org>
50962         spawn-pipe tests: Fix link error.
50963         * tests/test-spawn-pipe-child.c: Undefine fflush.
50965 2011-06-17  Bruno Haible  <bruno@clisp.org>
50967         Fix tests link errors.
50968         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
50969         * modules/chown-tests (Makefile.am): Don't link test-chown with
50970         LIBINTL.
50971         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
50972         LIBINTL.
50973         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
50974         LIBINTL.
50975         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
50976         LIBINTL.
50978 2011-06-16  Bruno Haible  <bruno@clisp.org>
50980         crypto/gc-sha1: Fix recent regression.
50981         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
50982         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
50984         crypto/gc-md5: Fix recent regression.
50985         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
50987         crypto/gc-md4: Fix recent regression.
50988         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
50989         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
50991         crypto/gc-arctwo: Fix recent regression.
50992         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
50993         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
50995         crypto/gc-rijndael: Fix recent regression.
50996         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
50997         (configure.ac): Invoke AC_LIBOBJ here.
50998         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
50999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51001         crypto/gc-hmac-sha1: Fix recent regression.
51002         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
51003         (configure.ac): Invoke AC_LIBOBJ here.
51004         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
51005         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51007         crypto/gc-hmac-md5: Fix recent regression.
51008         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
51009         (configure.ac): Invoke AC_LIBOBJ here.
51010         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
51011         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51013         crypto/gc-des: Fix recent regression.
51014         * modules/crypto/gc-des (Files): Remove m4/des.m4.
51015         (configure.ac): Invoke AC_LIBOBJ here.
51016         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
51017         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51019         crypto/gc-arcfour: Fix recent regression.
51020         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
51021         (configure.ac): Invoke AC_LIBOBJ here.
51022         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
51023         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51025 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
51027         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
51028         After the 2011-05-21 change, this macro requires
51029         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
51030         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51032 2011-06-16  Bruno Haible  <bruno@clisp.org>
51034         fprintftime: Move AC_LIBOBJ invocations to module description.
51035         * m4/fprintftime.m4: Remove file.
51036         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
51037         (configure.ac): Remove gl_FPRINTFTIME call.
51038         (Makefile.am): Augment lib_SOURCES.
51039         Reported by Jim Meyering.
51041 2011-06-16  Bruno Haible  <bruno@clisp.org>
51043         tmpfile-safer: Finish 2011-05-23 commit.
51044         * m4/stdio-safer.m4: Really remove file.
51045         Reported by Jim Meyering.
51047 2011-06-16  Bruno Haible  <bruno@clisp.org>
51049         syntax-check: Fix typo.
51050         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
51051         printf-posix.m4.
51052         Reported by Jim Meyering.
51054 2011-06-13  Jim Meyering  <meyering@redhat.com>
51056         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
51057         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
51059 2011-05-23  Bruno Haible  <bruno@clisp.org>
51061         yesno: Move AC_LIBOBJ invocations to module description.
51062         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
51063         * modules/yesno (Makefile.am): Augment lib_SOURCES.
51065 2011-05-23  Bruno Haible  <bruno@clisp.org>
51067         xstrtol: Move AC_LIBOBJ invocations to module description.
51068         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
51069         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
51071 2011-05-23  Bruno Haible  <bruno@clisp.org>
51073         xstrtold: Move AC_LIBOBJ invocations to module description.
51074         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
51075         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
51077 2011-05-23  Bruno Haible  <bruno@clisp.org>
51079         xstrtod: Move AC_LIBOBJ invocations to module description.
51080         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
51081         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
51083 2011-05-23  Bruno Haible  <bruno@clisp.org>
51085         xnanosleep: Move AC_LIBOBJ invocations to module description.
51086         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
51087         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
51089 2011-05-23  Bruno Haible  <bruno@clisp.org>
51091         xgetcwd: Move AC_LIBOBJ invocations to module description.
51092         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
51093         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
51095 2011-05-23  Bruno Haible  <bruno@clisp.org>
51097         xalloc: Move AC_LIBOBJ invocations to module description.
51098         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
51099         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
51101 2011-05-23  Bruno Haible  <bruno@clisp.org>
51103         write-any-file: Move AC_LIBOBJ invocations to module description.
51104         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
51105         invocation.
51106         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
51108 2011-05-23  Bruno Haible  <bruno@clisp.org>
51110         utimens: Move AC_LIBOBJ invocations to module description.
51111         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
51112         * modules/utimens (Makefile.am): Augment lib_SOURCES.
51114 2011-05-23  Bruno Haible  <bruno@clisp.org>
51116         utimecmp: Move AC_LIBOBJ invocations to module description.
51117         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
51118         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
51120 2011-05-23  Bruno Haible  <bruno@clisp.org>
51122         userspec: Move AC_LIBOBJ invocations to module description.
51123         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
51124         * modules/userspec (Makefile.am): Augment lib_SOURCES.
51126 2011-05-23  Bruno Haible  <bruno@clisp.org>
51128         unlinkdir: Move AC_LIBOBJ invocations to module description.
51129         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
51130         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
51132 2011-05-23  Bruno Haible  <bruno@clisp.org>
51134         unistd-safer: Move AC_LIBOBJ invocations to module description.
51135         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
51136         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
51138 2011-05-23  Bruno Haible  <bruno@clisp.org>
51140         tempname: Move AC_LIBOBJ invocations to module description.
51141         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
51142         * modules/tempname (Makefile.am): Augment lib_SOURCES.
51144 2011-05-23  Bruno Haible  <bruno@clisp.org>
51146         strftime: Move AC_LIBOBJ invocations to module description.
51147         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
51148         * modules/strftime (Makefile.am): Augment lib_SOURCES.
51150 2011-05-23  Bruno Haible  <bruno@clisp.org>
51152         stdlib-safer: Move AC_LIBOBJ invocations to module description.
51153         * m4/stdlib-safer.m4: Remove file.
51154         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
51155         (configure.ac): Remove gl_STDLIB_SAFER call.
51156         (Makefile.am): Augment lib_SOURCES.
51158 2011-05-23  Bruno Haible  <bruno@clisp.org>
51160         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
51161         * m4/stdio-safer.m4: Remove file.
51162         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
51163         (configure.ac): Remove gl_TMPFILE_SAFER call.
51164         (Makefile.am): Augment lib_SOURCES.
51166 2011-05-23  Bruno Haible  <bruno@clisp.org>
51168         popen-safer: Move AC_LIBOBJ invocations to module description.
51169         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
51170         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
51171         (configure.ac): Remove gl_POPEN_SAFER call.
51172         (Makefile.am): Augment lib_SOURCES.
51174 2011-05-23  Bruno Haible  <bruno@clisp.org>
51176         freopen-safer: Move AC_LIBOBJ invocations to module description.
51177         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
51178         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
51179         (configure.ac): Remove gl_FREOPEN_SAFER call.
51180         (Makefile.am): Augment lib_SOURCES.
51182 2011-05-23  Bruno Haible  <bruno@clisp.org>
51184         fopen-safer: Move AC_LIBOBJ invocations to module description.
51185         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
51186         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
51187         (configure.ac): Remove gl_FOPEN_SAFER call.
51188         (Makefile.am): Augment lib_SOURCES.
51190 2011-05-23  Bruno Haible  <bruno@clisp.org>
51192         crypto/sha512: Move AC_LIBOBJ invocations to module description.
51193         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
51194         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
51196 2011-05-23  Bruno Haible  <bruno@clisp.org>
51198         crypto/sha256: Move AC_LIBOBJ invocations to module description.
51199         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
51200         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
51202 2011-05-23  Bruno Haible  <bruno@clisp.org>
51204         crypto/sha1: Move AC_LIBOBJ invocations to module description.
51205         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
51206         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
51208 2011-05-23  Bruno Haible  <bruno@clisp.org>
51210         settime: Move AC_LIBOBJ invocations to module description.
51211         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
51212         * modules/settime (Makefile.am): Augment lib_SOURCES.
51214 2011-05-23  Bruno Haible  <bruno@clisp.org>
51216         savedir: Move AC_LIBOBJ invocations to module description.
51217         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
51218         * modules/savedir (Makefile.am): Augment lib_SOURCES.
51220 2011-05-23  Bruno Haible  <bruno@clisp.org>
51222         save-cwd: Move AC_LIBOBJ invocations to module description.
51223         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
51224         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
51226 2011-05-23  Bruno Haible  <bruno@clisp.org>
51228         same: Move AC_LIBOBJ invocations to module description.
51229         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
51230         * modules/same (Makefile.am): Augment lib_SOURCES.
51232 2011-05-23  Bruno Haible  <bruno@clisp.org>
51234         safe-write: Move AC_LIBOBJ invocations to module description.
51235         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
51236         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
51237         instead of gl_SAFE_WRITE.
51238         (Makefile.am): Augment lib_SOURCES.
51240 2011-05-23  Bruno Haible  <bruno@clisp.org>
51242         safe-read: Move AC_LIBOBJ invocations to module description.
51243         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
51244         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
51245         of gl_SAFE_READ.
51246         (Makefile.am): Augment lib_SOURCES.
51248 2011-05-23  Bruno Haible  <bruno@clisp.org>
51250         safe-alloc: Move AC_LIBOBJ invocations to module description.
51251         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
51252         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
51254 2011-05-23  Bruno Haible  <bruno@clisp.org>
51256         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
51257         * m4/rijndael.m4: Remove file.
51258         * modules/crypto/rijndael (Files): Remove it.
51259         (configure.ac): Remove gl_RIJNDAEL call.
51260         (Makefile.am): Augment lib_SOURCES.
51262 2011-05-23  Bruno Haible  <bruno@clisp.org>
51264         readtokens: Move AC_LIBOBJ invocations to module description.
51265         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
51266         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
51268 2011-05-23  Bruno Haible  <bruno@clisp.org>
51270         read-file: Move AC_LIBOBJ invocations to module description.
51271         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
51272         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
51273         of gl_FUNC_READ_FILE.
51274         (Makefile.am): Augment lib_SOURCES.
51276 2011-05-23  Bruno Haible  <bruno@clisp.org>
51278         quotearg: Move AC_LIBOBJ invocations to module description.
51279         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
51280         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
51282 2011-05-23  Bruno Haible  <bruno@clisp.org>
51284         quote: Move AC_LIBOBJ invocations to module description.
51285         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
51286         * modules/quote (Makefile.am): Augment lib_SOURCES.
51288 2011-05-23  Bruno Haible  <bruno@clisp.org>
51290         posixver: Move AC_LIBOBJ invocations to module description.
51291         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
51292         * modules/posixver (Makefile.am): Augment lib_SOURCES.
51294 2011-05-23  Bruno Haible  <bruno@clisp.org>
51296         posixtm: Move AC_LIBOBJ invocations to module description.
51297         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
51298         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
51300 2011-05-23  Bruno Haible  <bruno@clisp.org>
51302         physmem: Move AC_LIBOBJ invocations to module description.
51303         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
51304         * modules/physmem (Makefile.am): Augment lib_SOURCES.
51306 2011-05-23  Bruno Haible  <bruno@clisp.org>
51308         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
51309         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
51310         invocation.
51311         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
51313 2011-05-23  Bruno Haible  <bruno@clisp.org>
51315         mpsort: Move AC_LIBOBJ invocations to module description.
51316         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
51317         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
51319 2011-05-23  Bruno Haible  <bruno@clisp.org>
51321         modechange: Move AC_LIBOBJ invocations to module description.
51322         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
51323         * modules/modechange (Makefile.am): Augment lib_SOURCES.
51325 2011-05-23  Bruno Haible  <bruno@clisp.org>
51327         mkdir-p: Move AC_LIBOBJ invocations to module description.
51328         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
51329         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
51331 2011-05-23  Bruno Haible  <bruno@clisp.org>
51333         mkancesdirs: Move AC_LIBOBJ invocations to module description.
51334         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
51335         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
51337 2011-05-23  Bruno Haible  <bruno@clisp.org>
51339         mgetgroups: Move AC_LIBOBJ invocations to module description.
51340         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
51341         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
51343 2011-05-23  Bruno Haible  <bruno@clisp.org>
51345         memxor: Move AC_LIBOBJ invocations to module description.
51346         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
51347         * modules/memxor (Makefile.am): Augment lib_SOURCES.
51349 2011-05-23  Bruno Haible  <bruno@clisp.org>
51351         memcoll: Move AC_LIBOBJ invocations to module description.
51352         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
51353         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
51355 2011-05-23  Bruno Haible  <bruno@clisp.org>
51357         memcasecmp: Move AC_LIBOBJ invocations to module description.
51358         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
51359         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
51361 2011-05-23  Bruno Haible  <bruno@clisp.org>
51363         crypto/md5: Move AC_LIBOBJ invocations to module description.
51364         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
51365         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
51367 2011-05-23  Bruno Haible  <bruno@clisp.org>
51369         crypto/md4: Move AC_LIBOBJ invocations to module description.
51370         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
51371         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
51373 2011-05-23  Bruno Haible  <bruno@clisp.org>
51375         crypto/md2: Move AC_LIBOBJ invocations to module description.
51376         * m4/md2.m4: Remove file.
51377         * modules/crypto/md2 (Files): Remove it.
51378         (configure.ac): Remove gl_MD2 call.
51379         (Makefile.am): Augment lib_SOURCES.
51381 2011-05-23  Bruno Haible  <bruno@clisp.org>
51383         long-options: Move AC_LIBOBJ invocations to module description.
51384         * m4/long-options.m4: Remove file.
51385         * modules/long-options (Files): Remove it.
51386         (configure.ac): Remove gl_LONG_OPTIONS call.
51387         (Makefile.am): Augment lib_SOURCES.
51389 2011-05-23  Bruno Haible  <bruno@clisp.org>
51391         i-ring: Move AC_LIBOBJ invocations to module description.
51392         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
51393         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
51395 2011-05-23  Bruno Haible  <bruno@clisp.org>
51397         idcache: Move AC_LIBOBJ invocations to module description.
51398         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
51399         * modules/idcache (Makefile.am): Augment lib_SOURCES.
51401 2011-05-23  Bruno Haible  <bruno@clisp.org>
51403         human: Move AC_LIBOBJ invocations to module description.
51404         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
51405         * modules/human (Makefile.am): Augment lib_SOURCES.
51407 2011-05-23  Bruno Haible  <bruno@clisp.org>
51409         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
51410         * m4/hmac-sha1.m4: Remove file.
51411         * modules/crypto/hmac-sha1 (Files): Remove it.
51412         (configure.ac): Remove gl_HMAC_SHA1 call.
51413         (Makefile.am): Augment lib_SOURCES.
51415 2011-05-23  Bruno Haible  <bruno@clisp.org>
51417         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
51418         * m4/hmac-md5.m4: Remove file.
51419         * modules/crypto/hmac-md5 (Files): Remove it.
51420         (configure.ac): Remove gl_HMAC_MD5 call.
51421         (Makefile.am): Augment lib_SOURCES.
51423 2011-05-23  Bruno Haible  <bruno@clisp.org>
51425         hash: Move AC_LIBOBJ invocations to module description.
51426         * m4/hash.m4: Remove file.
51427         * modules/hash (Files): Remove it.
51428         (configure.ac): Remove gl_HASH call.
51429         (Makefile.am): Augment lib_SOURCES.
51431 2011-05-23  Bruno Haible  <bruno@clisp.org>
51433         hard-locale: Move AC_LIBOBJ invocations to module description.
51434         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
51435         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
51437 2011-05-23  Bruno Haible  <bruno@clisp.org>
51439         getugroups: Move AC_LIBOBJ invocations to module description.
51440         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
51441         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
51443 2011-05-23  Bruno Haible  <bruno@clisp.org>
51445         gettime: Move AC_LIBOBJ invocations to module description.
51446         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
51447         * modules/gettime (Makefile.am): Augment lib_SOURCES.
51449 2011-05-23  Bruno Haible  <bruno@clisp.org>
51451         getndelim2: Move AC_LIBOBJ invocations to module description.
51452         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
51453         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
51455 2011-05-23  Bruno Haible  <bruno@clisp.org>
51457         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
51458         * m4/gc-pbkdf2-sha1.m4: Remove file.
51459         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
51460         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
51461         (Makefile.am): Augment lib_SOURCES.
51463 2011-05-23  Bruno Haible  <bruno@clisp.org>
51465         fts: Move AC_LIBOBJ invocations to module description.
51466         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
51467         * modules/fts (configure.ac): ... to here.
51469 2011-05-23  Bruno Haible  <bruno@clisp.org>
51471         file-type: Move AC_LIBOBJ invocations to module description.
51472         * m4/file-type.m4: Remove file.
51473         * modules/file-type (Files): Remove it.
51474         (configure.ac): Remove gl_FILE_TYPE call.
51475         (Makefile.am): Augment lib_SOURCES.
51477 2011-05-23  Bruno Haible  <bruno@clisp.org>
51479         filenamecat*: Respect rules for use of AC_LIBOBJ.
51480         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
51481         Remove AC_LIBOBJ invocation.
51482         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
51483         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
51485 2011-05-23  Bruno Haible  <bruno@clisp.org>
51487         filemode: Move AC_LIBOBJ invocations to module description.
51488         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
51489         * modules/filemode (Makefile.am): Augment lib_SOURCES.
51491 2011-05-23  Bruno Haible  <bruno@clisp.org>
51493         openat-safer: Move AC_LIBOBJ invocations to module description.
51494         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
51495         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
51497 2011-05-23  Bruno Haible  <bruno@clisp.org>
51499         fcntl-safer: Move AC_LIBOBJ invocations to module description.
51500         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
51501         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
51503 2011-05-23  Bruno Haible  <bruno@clisp.org>
51505         exclude: Move AC_LIBOBJ invocations to module description.
51506         * m4/exclude.m4: Remove file.
51507         * modules/exclude (Files): Remove it.
51508         (configure.ac): Remove gl_EXCLUDE call.
51509         (Makefile.am): Augment lib_SOURCES.
51511 2011-05-23  Bruno Haible  <bruno@clisp.org>
51513         dirname*: Respect rules for use of AC_LIBOBJ.
51514         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
51515         invocations.
51516         * modules/dirname (Makefile.am): Augment lib_SOURCES.
51517         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
51519 2011-05-23  Bruno Haible  <bruno@clisp.org>
51521         dirent-safer: Move AC_LIBOBJ invocations to module description.
51522         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
51523         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
51525 2011-05-23  Bruno Haible  <bruno@clisp.org>
51527         crypto/des: Move AC_LIBOBJ invocations to module description.
51528         * m4/des.m4: Remove file.
51529         * modules/crypto/des (Files): Remove it.
51530         (configure.ac): Remove gl_DES call.
51531         (Makefile.am): Augment lib_SOURCES.
51533 2011-05-23  Bruno Haible  <bruno@clisp.org>
51535         cycle-check: Move AC_LIBOBJ invocations to module description.
51536         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
51537         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
51539 2011-05-23  Bruno Haible  <bruno@clisp.org>
51541         c-strtold: Move AC_LIBOBJ invocations to module description.
51542         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
51543         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
51545 2011-05-23  Bruno Haible  <bruno@clisp.org>
51547         c-strtod: Move AC_LIBOBJ invocations to module description.
51548         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
51549         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
51551 2011-05-23  Bruno Haible  <bruno@clisp.org>
51553         crc: Move AC_LIBOBJ invocations to module description.
51554         * m4/crc.m4: Remove file.
51555         * modules/crc (Files): Remove it.
51556         (configure.ac): Remove gl_CRC call.
51557         (Makefile.am): Augment lib_SOURCES.
51559 2011-05-23  Bruno Haible  <bruno@clisp.org>
51561         close-stream: Move AC_LIBOBJ invocations to module description.
51562         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
51563         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
51565 2011-05-23  Bruno Haible  <bruno@clisp.org>
51567         closeout: Move AC_LIBOBJ invocations to module description.
51568         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
51569         * modules/closeout (Makefile.am): Augment lib_SOURCES.
51571 2011-05-23  Bruno Haible  <bruno@clisp.org>
51573         closein: Move AC_LIBOBJ invocations to module description.
51574         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
51575         * modules/closein (Makefile.am): Augment lib_SOURCES.
51577 2011-05-23  Bruno Haible  <bruno@clisp.org>
51579         cloexec: Move AC_LIBOBJ invocations to module description.
51580         * m4/cloexec.m4: Remove file.
51581         * modules/cloexec (Files): Remove it.
51582         (configure.ac): Remove gl_CLOEXEC call.
51583         (Makefile.am): Augment lib_SOURCES.
51585 2011-05-23  Bruno Haible  <bruno@clisp.org>
51587         check-version: Move AC_LIBOBJ invocations to module description.
51588         * m4/check-version.m4: Remove file.
51589         * modules/check-version (Files): Remove it.
51590         (configure.ac): Remove gl_CHECK_VERSION call.
51591         (Makefile.am): Augment lib_SOURCES.
51593 2011-05-23  Bruno Haible  <bruno@clisp.org>
51595         chdir-safer: Move AC_LIBOBJ invocations to module description.
51596         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
51597         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
51599 2011-05-23  Bruno Haible  <bruno@clisp.org>
51601         canonicalize: Move AC_LIBOBJ invocations to module description.
51602         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
51603         AC_LIBOBJ invocation.
51604         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
51606 2011-05-23  Bruno Haible  <bruno@clisp.org>
51608         canon-host: Move AC_LIBOBJ invocations to module description.
51609         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
51610         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
51611         instead of gl_CANON_HOST.
51612         (Makefile.am): Augment lib_SOURCES.
51614 2011-05-23  Bruno Haible  <bruno@clisp.org>
51616         backupfile: Move AC_LIBOBJ invocations to module description.
51617         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
51618         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
51620 2011-05-23  Bruno Haible  <bruno@clisp.org>
51622         argmatch: Move AC_LIBOBJ invocations to module description.
51623         * m4/argmatch.m4: Remove file.
51624         * modules/argmatch (Files): Remove it.
51625         (configure.ac): Remove gl_ARGMATCH call.
51626         (Makefile.am): Augment lib_SOURCES.
51628 2011-05-23  Bruno Haible  <bruno@clisp.org>
51630         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
51631         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
51632         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
51634 2011-05-23  Bruno Haible  <bruno@clisp.org>
51636         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
51637         * m4/arcfour.m4: Remove file.
51638         * modules/crypto/arcfour (Files): Remove it.
51639         (configure.ac): Remove gl_ARCFOUR call.
51640         (Makefile.am): Augment lib_SOURCES.
51642 2011-05-22  Bruno Haible  <bruno@clisp.org>
51644         write: Move AC_LIBOBJ invocations to module description.
51645         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
51646         * modules/write (configure.ac): ... to here.
51648 2011-05-22  Bruno Haible  <bruno@clisp.org>
51650         wmemset: Move AC_LIBOBJ invocations to module description.
51651         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
51652         here...
51653         * modules/wmemset (configure.ac): ... to here.
51655 2011-05-22  Bruno Haible  <bruno@clisp.org>
51657         wmemmove: Move AC_LIBOBJ invocations to module description.
51658         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
51659         here...
51660         * modules/wmemmove (configure.ac): ... to here.
51662 2011-05-22  Bruno Haible  <bruno@clisp.org>
51664         wmemcpy: Move AC_LIBOBJ invocations to module description.
51665         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
51666         here...
51667         * modules/wmemcpy (configure.ac): ... to here.
51669 2011-05-22  Bruno Haible  <bruno@clisp.org>
51671         wmemcmp: Move AC_LIBOBJ invocations to module description.
51672         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
51673         here...
51674         * modules/wmemcmp (configure.ac): ... to here.
51676 2011-05-22  Bruno Haible  <bruno@clisp.org>
51678         wmemchr: Move AC_LIBOBJ invocations to module description.
51679         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
51680         here...
51681         * modules/wmemchr (configure.ac): ... to here.
51683 2011-05-22  Bruno Haible  <bruno@clisp.org>
51685         wcswidth: Move AC_LIBOBJ invocations to module description.
51686         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
51687         here...
51688         * modules/wcswidth (configure.ac): ... to here.
51690 2011-05-22  Bruno Haible  <bruno@clisp.org>
51692         wcwidth: Respect rules for use of AC_LIBOBJ.
51693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
51694         invocation from here...
51695         * modules/wcwidth (configure.ac): ... to here.
51696         (Depends-on): Update conditions.
51698 2011-05-22  Bruno Haible  <bruno@clisp.org>
51700         wctype: Move AC_LIBOBJ invocations to module description.
51701         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
51702         invocation from here...
51703         * modules/wctype (configure.ac): ... to here.
51704         (Depends-on): Update conditions.
51706 2011-05-22  Bruno Haible  <bruno@clisp.org>
51708         wctrans: Move AC_LIBOBJ invocations to module description.
51709         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
51710         invocation from here...
51711         * modules/wctrans (configure.ac): ... to here.
51713 2011-05-22  Bruno Haible  <bruno@clisp.org>
51715         wctomb: Move AC_LIBOBJ invocations to module description.
51716         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
51717         invocations from here...
51718         * modules/wctomb (configure.ac): ... to here.
51720 2011-05-22  Bruno Haible  <bruno@clisp.org>
51722         wctob: Move AC_LIBOBJ invocations to module description.
51723         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
51724         gl_PREREQ_WCTOB invocations from here...
51725         * modules/wctob (configure.ac): ... to here.
51726         (Depends-on): Update conditions.
51728 2011-05-22  Bruno Haible  <bruno@clisp.org>
51730         wcsxfrm: Move AC_LIBOBJ invocations to module description.
51731         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
51732         here...
51733         * modules/wcsxfrm (configure.ac): ... to here.
51735 2011-05-22  Bruno Haible  <bruno@clisp.org>
51737         wcstok: Move AC_LIBOBJ invocations to module description.
51738         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
51739         * modules/wcstok (configure.ac): ... to here.
51741 2011-05-22  Bruno Haible  <bruno@clisp.org>
51743         wcsstr: Move AC_LIBOBJ invocations to module description.
51744         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
51745         * modules/wcsstr (configure.ac): ... to here.
51747 2011-05-22  Bruno Haible  <bruno@clisp.org>
51749         wcsspn: Move AC_LIBOBJ invocations to module description.
51750         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
51751         * modules/wcsspn (configure.ac): ... to here.
51753 2011-05-22  Bruno Haible  <bruno@clisp.org>
51755         wcsrtombs: Move AC_LIBOBJ invocations to module description.
51756         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
51757         gl_PREREQ_WCSRTOMBS invocations from here...
51758         * modules/wcsrtombs (configure.ac): ... to here.
51760 2011-05-22  Bruno Haible  <bruno@clisp.org>
51762         wcsrchr: Move AC_LIBOBJ invocations to module description.
51763         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
51764         here...
51765         * modules/wcsrchr (configure.ac): ... to here.
51767 2011-05-22  Bruno Haible  <bruno@clisp.org>
51769         wcspbrk: Move AC_LIBOBJ invocations to module description.
51770         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
51771         here...
51772         * modules/wcspbrk (configure.ac): ... to here.
51774 2011-05-22  Bruno Haible  <bruno@clisp.org>
51776         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
51777         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
51778         gl_PREREQ_WCSNRTOMBS invocations from here...
51779         * modules/wcsnrtombs (configure.ac): ... to here.
51781 2011-05-22  Bruno Haible  <bruno@clisp.org>
51783         wcsnlen: Move AC_LIBOBJ invocations to module description.
51784         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
51785         here...
51786         * modules/wcsnlen (configure.ac): ... to here.
51788 2011-05-22  Bruno Haible  <bruno@clisp.org>
51790         wcsncpy: Move AC_LIBOBJ invocations to module description.
51791         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
51792         here...
51793         * modules/wcsncpy (configure.ac): ... to here.
51795 2011-05-22  Bruno Haible  <bruno@clisp.org>
51797         wcsncmp: Move AC_LIBOBJ invocations to module description.
51798         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
51799         here...
51800         * modules/wcsncmp (configure.ac): ... to here.
51802 2011-05-22  Bruno Haible  <bruno@clisp.org>
51804         wcsncat: Move AC_LIBOBJ invocations to module description.
51805         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
51806         here...
51807         * modules/wcsncat (configure.ac): ... to here.
51809 2011-05-22  Bruno Haible  <bruno@clisp.org>
51811         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
51812         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
51813         from here...
51814         * modules/wcsncasecmp (configure.ac): ... to here.
51816 2011-05-22  Bruno Haible  <bruno@clisp.org>
51818         wcslen: Move AC_LIBOBJ invocations to module description.
51819         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
51820         * modules/wcslen (configure.ac): ... to here.
51822 2011-05-22  Bruno Haible  <bruno@clisp.org>
51824         wcsdup: Move AC_LIBOBJ invocations to module description.
51825         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
51826         * modules/wcsdup (configure.ac): ... to here.
51828 2011-05-22  Bruno Haible  <bruno@clisp.org>
51830         wcscspn: Move AC_LIBOBJ invocations to module description.
51831         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
51832         here...
51833         * modules/wcscspn (configure.ac): ... to here.
51835 2011-05-22  Bruno Haible  <bruno@clisp.org>
51837         wcscpy: Move AC_LIBOBJ invocations to module description.
51838         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
51839         * modules/wcscpy (configure.ac): ... to here.
51841 2011-05-22  Bruno Haible  <bruno@clisp.org>
51843         wcscoll: Move AC_LIBOBJ invocations to module description.
51844         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
51845         here...
51846         * modules/wcscoll (configure.ac): ... to here.
51848 2011-05-22  Bruno Haible  <bruno@clisp.org>
51850         wcscmp: Move AC_LIBOBJ invocations to module description.
51851         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
51852         * modules/wcscmp (configure.ac): ... to here.
51854 2011-05-22  Bruno Haible  <bruno@clisp.org>
51856         wcschr: Move AC_LIBOBJ invocations to module description.
51857         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
51858         * modules/wcschr (configure.ac): ... to here.
51860 2011-05-22  Bruno Haible  <bruno@clisp.org>
51862         wcscat: Move AC_LIBOBJ invocations to module description.
51863         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
51864         * modules/wcscat (configure.ac): ... to here.
51866 2011-05-22  Bruno Haible  <bruno@clisp.org>
51868         wcscasecmp: Move AC_LIBOBJ invocations to module description.
51869         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
51870         here...
51871         * modules/wcscasecmp (configure.ac): ... to here.
51873 2011-05-22  Bruno Haible  <bruno@clisp.org>
51875         wcrtomb: Move AC_LIBOBJ invocations to module description.
51876         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
51877         invocations from here...
51878         * modules/wcrtomb (configure.ac): ... to here.
51880 2011-05-22  Bruno Haible  <bruno@clisp.org>
51882         wcpncpy: Move AC_LIBOBJ invocations to module description.
51883         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
51884         here...
51885         * modules/wcpncpy (configure.ac): ... to here.
51887 2011-05-22  Bruno Haible  <bruno@clisp.org>
51889         wcpcpy: Move AC_LIBOBJ invocations to module description.
51890         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
51891         * modules/wcpcpy (configure.ac): ... to here.
51893 2011-05-22  Bruno Haible  <bruno@clisp.org>
51895         waitpid: Move AC_LIBOBJ invocations to module description.
51896         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
51897         invocation from here...
51898         * modules/waitpid (configure.ac): ... to here.
51900 2011-05-22  Bruno Haible  <bruno@clisp.org>
51902         utimensat: Move AC_LIBOBJ invocations to module description.
51903         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
51904         here...
51905         * modules/utimensat (configure.ac): ... to here.
51907 2011-05-22  Bruno Haible  <bruno@clisp.org>
51909         usleep: Move AC_LIBOBJ invocations to module description.
51910         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
51911         here...
51912         * modules/usleep (configure.ac): ... to here.
51914 2011-05-22  Bruno Haible  <bruno@clisp.org>
51916         unlockpt: Move AC_LIBOBJ invocations to module description.
51917         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
51918         gl_PREREQ_UNLOCKPT invocations from here...
51919         * modules/unlockpt (configure.ac): ... to here.
51921 2011-05-22  Bruno Haible  <bruno@clisp.org>
51923         unlink: Respect rules for use of AC_LIBOBJ.
51924         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
51925         * modules/unlink (configure.ac): ... to here.
51927 2011-05-22  Bruno Haible  <bruno@clisp.org>
51929         uname: Move AC_LIBOBJ invocations to module description.
51930         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
51931         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
51932         here...
51933         * modules/uname (configure.ac): ... to here.
51935 2011-05-22  Bruno Haible  <bruno@clisp.org>
51937         ttyname_r: Move AC_LIBOBJ invocations to module description.
51938         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
51939         gl_PREREQ_TTYNAME_R invocations from here...
51940         * modules/ttyname_r (configure.ac): ... to here.
51942 2011-05-22  Bruno Haible  <bruno@clisp.org>
51944         tsearch: Move AC_LIBOBJ invocations to module description.
51945         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
51946         invocations from here...
51947         * modules/tsearch (configure.ac): ... to here.
51949 2011-05-22  Bruno Haible  <bruno@clisp.org>
51951         towctrans: Move AC_LIBOBJ invocations to module description.
51952         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
51953         AC_LIBOBJ invocation from here...
51954         * modules/towctrans (configure.ac): ... to here.
51956 2011-05-22  Bruno Haible  <bruno@clisp.org>
51958         tmpfile: Move AC_LIBOBJ invocations to module description.
51959         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
51960         invocations from here...
51961         * modules/tmpfile (configure.ac): ... to here.
51963 2011-05-22  Bruno Haible  <bruno@clisp.org>
51965         times: Move AC_LIBOBJ invocations to module description.
51966         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
51967         * modules/times (configure.ac): ... to here.
51969 2011-05-22  Bruno Haible  <bruno@clisp.org>
51971         time_r: Move AC_LIBOBJ invocations to module description.
51972         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
51973         invocations from here...
51974         * modules/time_r (configure.ac): ... to here.
51976 2011-05-22  Bruno Haible  <bruno@clisp.org>
51978         timegm: Move AC_LIBOBJ invocations to module description.
51979         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
51980         invocations from here...
51981         * modules/timegm (configure.ac): ... to here.
51983 2011-05-22  Bruno Haible  <bruno@clisp.org>
51985         tcgetsid: Move AC_LIBOBJ invocations to module description.
51986         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
51987         and gl_PREREQ_TCGETSID invocations from here...
51988         * modules/tcgetsid (configure.ac): ... to here.
51989         (Depends-on): Update conditions.
51991 2011-05-22  Bruno Haible  <bruno@clisp.org>
51993         symlinkat: Move AC_LIBOBJ invocations to module description.
51994         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
51995         here...
51996         * modules/symlinkat (configure.ac): ... to here.
51998 2011-05-22  Bruno Haible  <bruno@clisp.org>
52000         symlink: Move AC_LIBOBJ invocations to module description.
52001         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
52002         here...
52003         * modules/symlink (configure.ac): ... to here.
52005 2011-05-22  Bruno Haible  <bruno@clisp.org>
52007         strverscmp: Move AC_LIBOBJ invocations to module description.
52008         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
52009         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
52010         from here...
52011         * modules/strverscmp (configure.ac): ... to here.
52013 2011-05-22  Bruno Haible  <bruno@clisp.org>
52015         strtok_r: Move AC_LIBOBJ invocations to module description.
52016         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
52017         and gl_PREREQ_STRTOK_R invocations from here...
52018         * modules/strtok_r (configure.ac): ... to here.
52019         (Depends-on): Update conditions.
52021 2011-05-22  Bruno Haible  <bruno@clisp.org>
52023         strtoumax: Move AC_LIBOBJ invocations to module description.
52024         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
52025         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
52026         from here...
52027         * modules/strtoumax (configure.ac): ... to here.
52029 2011-05-22  Bruno Haible  <bruno@clisp.org>
52031         strtoimax: Move AC_LIBOBJ invocations to module description.
52032         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
52033         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
52034         from here...
52035         * modules/strtoimax (configure.ac): ... to here.
52037 2011-05-22  Bruno Haible  <bruno@clisp.org>
52039         strtoull: Move AC_LIBOBJ invocations to module description.
52040         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
52041         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
52042         from here...
52043         * modules/strtoull (configure.ac): ... to here.
52045 2011-05-22  Bruno Haible  <bruno@clisp.org>
52047         strtoll: Move AC_LIBOBJ invocations to module description.
52048         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
52049         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
52050         here...
52051         * modules/strtoll (configure.ac): ... to here.
52053 2011-05-22  Bruno Haible  <bruno@clisp.org>
52055         strtoul: Move AC_LIBOBJ invocations to module description.
52056         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
52057         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52058         * modules/strtoul (configure.ac): ... to here.
52060 2011-05-22  Bruno Haible  <bruno@clisp.org>
52062         strtol: Move AC_LIBOBJ invocations to module description.
52063         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
52064         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52065         * modules/strtol (configure.ac): ... to here.
52067 2011-05-22  Bruno Haible  <bruno@clisp.org>
52069         strtod: Move AC_LIBOBJ invocations to module description.
52070         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
52071         invocations from here...
52072         * modules/strtod (configure.ac): ... to here.
52074 2011-05-22  Bruno Haible  <bruno@clisp.org>
52076         strstr*: Move AC_LIBOBJ invocations to module description.
52077         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
52078         invocations from here...
52079         * modules/strstr-simple (configure.ac): ... to here.
52080         * modules/strstr (configure.ac): ... and here.
52082 2011-05-22  Bruno Haible  <bruno@clisp.org>
52084         strsignal: Move AC_LIBOBJ invocations to module description.
52085         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
52086         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
52087         * modules/strsignal (configure.ac): ... to here.
52088         (Depends-on): Update conditions.
52090 2011-05-22  Bruno Haible  <bruno@clisp.org>
52092         strsep: Move AC_LIBOBJ invocations to module description.
52093         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
52094         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
52095         here...
52096         * modules/strsep (configure.ac): ... to here.
52098 2011-05-22  Bruno Haible  <bruno@clisp.org>
52100         strptime: Move AC_LIBOBJ invocations to module description.
52101         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
52102         gl_PREREQ_STRPTIME invocations from here...
52103         * modules/strptime (configure.ac): ... to here.
52105 2011-05-22  Bruno Haible  <bruno@clisp.org>
52107         strpbrk: Move AC_LIBOBJ invocations to module description.
52108         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
52109         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
52110         here...
52111         * modules/strpbrk (configure.ac): ... to here.
52113 2011-05-22  Bruno Haible  <bruno@clisp.org>
52115         strnlen: Move AC_LIBOBJ invocations to module description.
52116         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
52117         invocations from here...
52118         * modules/strnlen (configure.ac): ... to here.
52120 2011-05-22  Bruno Haible  <bruno@clisp.org>
52122         strndup: Move AC_LIBOBJ invocations to module description.
52123         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
52124         invocations from here...
52125         * modules/strndup (configure.ac): ... to here.
52126         (Depends-on): Update conditions.
52128 2011-05-22  Bruno Haible  <bruno@clisp.org>
52130         strncat: Move AC_LIBOBJ invocations to module description.
52131         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
52132         invocations from here...
52133         * modules/strncat (configure.ac): ... to here.
52135 2011-05-22  Bruno Haible  <bruno@clisp.org>
52137         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
52138         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
52139         invocations from here...
52140         * modules/strdup (configure.ac): ... to here.
52141         * modules/strdup-posix (configure.ac): ... and here.
52143 2011-05-22  Bruno Haible  <bruno@clisp.org>
52145         strcspn: Move AC_LIBOBJ invocations to module description.
52146         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
52147         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
52148         here...
52149         * modules/strcspn (configure.ac): ... to here.
52151 2011-05-22  Bruno Haible  <bruno@clisp.org>
52153         strchrnul: Move AC_LIBOBJ invocations to module description.
52154         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
52155         gl_PREREQ_STRCHRNUL invocations from here...
52156         * modules/strchrnul (configure.ac): ... to here.
52158 2011-05-22  Bruno Haible  <bruno@clisp.org>
52160         strcasestr*: Move AC_LIBOBJ invocations to module description.
52161         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
52162         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
52163         * modules/strcasestr-simple (configure.ac): ... to here.
52164         * modules/strcasestr (configure.ac): ... and here.
52166 2011-05-22  Bruno Haible  <bruno@clisp.org>
52168         strcase: Move AC_LIBOBJ invocations to module description.
52169         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
52170         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
52171         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
52172         gl_PREREQ_STRNCASECMP invocations from here...
52173         * modules/strcase (configure.ac): ... to here.
52175 2011-05-22  Bruno Haible  <bruno@clisp.org>
52177         stpncpy: Move AC_LIBOBJ invocations to module description.
52178         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
52179         here...
52180         * modules/stpncpy (configure.ac): ... to here.
52182 2011-05-22  Bruno Haible  <bruno@clisp.org>
52184         stpcpy: Move AC_LIBOBJ invocations to module description.
52185         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
52186         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
52187         here...
52188         * modules/stpcpy (configure.ac): ... to here.
52190 2011-05-21  Bruno Haible  <bruno@clisp.org>
52192         stat: Move AC_LIBOBJ invocations to module description.
52193         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
52194         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
52195         here...
52196         * modules/stat (configure.ac): ... to here.
52198 2011-05-21  Bruno Haible  <bruno@clisp.org>
52200         sleep: Move AC_LIBOBJ invocations to module description.
52201         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
52202         * modules/sleep (configure.ac): ... to here.
52204 2011-05-21  Bruno Haible  <bruno@clisp.org>
52206         signbit: Move AC_LIBOBJ invocations to module description.
52207         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
52208         * modules/signbit (configure.ac): ... to here.
52210 2011-05-21  Bruno Haible  <bruno@clisp.org>
52212         sigprocmask: Move AC_LIBOBJ invocations to module description.
52213         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
52214         gl_PREREQ_SIGPROMASK invocations from here...
52215         * modules/sigprocmask (configure.ac): ... to here.
52217 2011-05-21  Bruno Haible  <bruno@clisp.org>
52219         sigaction: Move AC_LIBOBJ invocations to module description.
52220         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
52221         gl_PREREQ_SIGACTION invocations from here...
52222         * modules/sigaction (configure.ac): ... to here.
52224 2011-05-21  Bruno Haible  <bruno@clisp.org>
52226         sig2str: Move AC_LIBOBJ invocations to module description.
52227         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
52228         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
52229         here...
52230         * modules/sig2str (configure.ac): ... to here.
52232 2011-05-21  Bruno Haible  <bruno@clisp.org>
52234         setlocale: Move AC_LIBOBJ invocations to module description.
52235         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
52236         gl_PREREQ_SETLOCALE invocations from here...
52237         * modules/setlocale (configure.ac): ... to here.
52239 2011-05-21  Bruno Haible  <bruno@clisp.org>
52241         unsetenv: Move AC_LIBOBJ invocations to module description.
52242         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
52243         and gl_PREREQ_UNSETENV invocations from here...
52244         * modules/unsetenv (configure.ac): ... to here.
52245         (Depends-on): Update.
52247 2011-05-21  Bruno Haible  <bruno@clisp.org>
52249         setenv: Move AC_LIBOBJ invocations to module description.
52250         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
52251         here...
52252         * modules/setenv (configure.ac): ... to here.
52254 2011-05-21  Bruno Haible  <bruno@clisp.org>
52256         selinux-h: Move AC_LIBOBJ invocations to module description.
52257         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
52258         AC_LIBOBJ invocation from here...
52259         * modules/selinux-h (configure.ac): ... to here.
52261 2011-05-21  Bruno Haible  <bruno@clisp.org>
52263         select: Respect rules for use of AC_LIBOBJ.
52264         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
52265         here...
52266         * modules/select (configure.ac): ... to here.
52268 2011-05-21  Bruno Haible  <bruno@clisp.org>
52270         scandir: Move AC_LIBOBJ invocations to module description.
52271         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
52272         invocations from here...
52273         * modules/scandir (configure.ac): ... to here.
52275 2011-05-21  Bruno Haible  <bruno@clisp.org>
52277         rpmatch: Move AC_LIBOBJ invocations to module description.
52278         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
52279         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
52280         here...
52281         * modules/rpmatch (configure.ac): ... to here.
52283 2011-05-21  Bruno Haible  <bruno@clisp.org>
52285         rmdir: Respect rules for use of AC_LIBOBJ.
52286         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
52287         * modules/rmdir (configure.ac): ... to here.
52289 2011-05-21  Bruno Haible  <bruno@clisp.org>
52291         renameat: Move AC_LIBOBJ invocations to module description.
52292         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
52293         here...
52294         * modules/renameat (configure.ac): ... to here.
52296 2011-05-21  Bruno Haible  <bruno@clisp.org>
52298         rename: Respect rules for use of AC_LIBOBJ.
52299         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
52300         here...
52301         * modules/rename (configure.ac): ... to here.
52303 2011-05-21  Bruno Haible  <bruno@clisp.org>
52305         remove: Move AC_LIBOBJ invocations to module description.
52306         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
52307         here...
52308         * modules/remove (configure.ac): ... to here.
52310 2011-05-21  Bruno Haible  <bruno@clisp.org>
52312         relocatable-lib: Move AC_LIBOBJ invocations to module description.
52313         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
52314         macro.
52315         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
52316         * modules/relocatable-lib (configure.ac): ... to here.
52317         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52318         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
52320 2011-05-21  Bruno Haible  <bruno@clisp.org>
52322         relocatable-prog: Move AC_LIBOBJ invocations to module description.
52323         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
52324         here...
52325         * modules/relocatable-prog (configure.ac): ... to here.
52327 2011-05-21  Bruno Haible  <bruno@clisp.org>
52329         regex: Move AC_LIBOBJ invocations to module description.
52330         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
52331         invocations from here...
52332         * modules/regex (configure.ac): ... to here.
52334 2011-05-21  Bruno Haible  <bruno@clisp.org>
52336         realloc-*: Move AC_LIBOBJ invocations to module description.
52337         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
52338         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
52339         AC_LIBOBJ invocations from here...
52340         * modules/realloc-gnu (configure.ac): ... to here.
52341         * modules/realloc-posix (configure.ac): ... and here.
52343 2011-05-21  Bruno Haible  <bruno@clisp.org>
52345         readutmp: Move AC_LIBOBJ invocations to module description.
52346         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
52347         * modules/readutmp (configure.ac): ... to here.
52349 2011-05-21  Bruno Haible  <bruno@clisp.org>
52351         readlinkat: Move AC_LIBOBJ invocations to module description.
52352         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
52353         here...
52354         * modules/readlinkat (configure.ac): ... to here.
52356 2011-05-21  Bruno Haible  <bruno@clisp.org>
52358         readlink: Move AC_LIBOBJ invocations to module description.
52359         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
52360         gl_PREREQ_READLINK invocations from here...
52361         * modules/readlink (configure.ac): ... to here.
52363 2011-05-21  Bruno Haible  <bruno@clisp.org>
52365         readline: Move AC_LIBOBJ invocations to module description.
52366         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
52367         gl_PREREQ_READLINE invocations from here...
52368         * modules/readline (configure.ac): ... to here.
52370 2011-05-21  Bruno Haible  <bruno@clisp.org>
52372         read: Move AC_LIBOBJ invocations to module description.
52373         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
52374         * modules/read (configure.ac): ... to here.
52376 2011-05-21  Bruno Haible  <bruno@clisp.org>
52378         rawmemchr: Move AC_LIBOBJ invocations to module description.
52379         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
52380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
52381         from here...
52382         * modules/rawmemchr (configure.ac): ... to here.
52384 2011-05-21  Bruno Haible  <bruno@clisp.org>
52386         random_r: Move AC_LIBOBJ invocations to module description.
52387         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
52388         gl_PREREQ_RANDOM_R invocations from here...
52389         * modules/random_r (configure.ac): ... to here.
52391 2011-05-21  Bruno Haible  <bruno@clisp.org>
52393         pwrite: Move AC_LIBOBJ invocations to module description.
52394         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
52395         * modules/pwrite (configure.ac): ... to here.
52397 2011-05-21  Bruno Haible  <bruno@clisp.org>
52399         putenv: Move AC_LIBOBJ invocations to module description.
52400         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
52401         * modules/putenv (configure.ac): ... to here.
52403 2011-05-21  Bruno Haible  <bruno@clisp.org>
52405         login_tty: Move AC_LIBOBJ invocations to module description.
52406         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
52407         * modules/login_tty (configure.ac): ... to here.
52409 2011-05-21  Bruno Haible  <bruno@clisp.org>
52411         openpty: Move AC_LIBOBJ invocations to module description.
52412         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
52413         * modules/openpty (configure.ac): ... to here.
52415 2011-05-21  Bruno Haible  <bruno@clisp.org>
52417         forkpty: Move AC_LIBOBJ invocations to module description.
52418         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
52419         * modules/forkpty (configure.ac): ... to here.
52421 2011-05-21  Bruno Haible  <bruno@clisp.org>
52423         ptsname: Move AC_LIBOBJ invocations to module description.
52424         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
52425         invocations from here...
52426         * modules/ptsname (configure.ac): ... to here.
52428 2011-05-21  Bruno Haible  <bruno@clisp.org>
52430         pread: Move AC_LIBOBJ invocations to module description.
52431         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
52432         * modules/pread (configure.ac): ... to here.
52434 2011-05-21  Bruno Haible  <bruno@clisp.org>
52436         posix_spawn*: Move AC_LIBOBJ invocations to module description.
52437         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
52438         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
52439         * modules/posix_spawn (configure.ac): ... to here.
52440         * modules/posix_spawnp (configure.ac): ... and here.
52442 2011-05-21  Bruno Haible  <bruno@clisp.org>
52444         popen: Move AC_LIBOBJ invocations to module description.
52445         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
52446         invocations from here...
52447         * modules/popen (configure.ac): ... to here.
52449 2011-05-21  Bruno Haible  <bruno@clisp.org>
52451         poll: Move AC_LIBOBJ invocations to module description.
52452         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
52453         invocations from here...
52454         * modules/poll (configure.ac): ... to here.
52456 2011-05-21  Bruno Haible  <bruno@clisp.org>
52458         pipe-posix: Move AC_LIBOBJ invocations to module description.
52459         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
52460         * modules/pipe-posix (configure.ac): ... to here.
52462 2011-05-21  Bruno Haible  <bruno@clisp.org>
52464         openat: Respect rules for use of AC_LIBOBJ.
52465         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
52466         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52467         * modules/openat (configure.ac): ... to here.
52469 2011-05-21  Bruno Haible  <bruno@clisp.org>
52471         obstack-printf*: Move AC_LIBOBJ invocations to module description.
52472         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
52473         invocation from here...
52474         * modules/obstack-printf (configure.ac): ... to here.
52475         * modules/obstack-printf-posix (configure.ac): ... and here.
52477 2011-05-21  Bruno Haible  <bruno@clisp.org>
52479         nl_langinfo: Move AC_LIBOBJ invocations to module description.
52480         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
52481         from here...
52482         * modules/nl_langinfo (configure.ac): ... to here.
52484 2011-05-21  Bruno Haible  <bruno@clisp.org>
52486         nanosleep: Move AC_LIBOBJ invocations to module description.
52487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
52488         gl_PREREQ_NANOSLEEP invocations from here...
52489         * modules/nanosleep (configure.ac): ... to here.
52491 2011-05-21  Bruno Haible  <bruno@clisp.org>
52493         mountlist: Move AC_LIBOBJ invocations to module description.
52494         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
52495         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
52496         * modules/mountlist (configure.ac): ... to here.
52498 2011-05-21  Bruno Haible  <bruno@clisp.org>
52500         mktime: Respect rules for use of AC_LIBOBJ.
52501         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
52502         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
52503         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
52504         (gl_FUNC_MKTIME_INTERNAL): ... and here...
52505         * modules/mktime (configure.ac): ... to here.
52506         * modules/mktime-internal (configure.ac): ... and here.
52507         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
52509 2011-05-21  Bruno Haible  <bruno@clisp.org>
52511         mkstemps: Move AC_LIBOBJ invocations to module description.
52512         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
52513         here...
52514         * modules/mkstemps (configure.ac): ... to here.
52516 2011-05-21  Bruno Haible  <bruno@clisp.org>
52518         mkstemp: Move AC_LIBOBJ invocations to module description.
52519         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
52520         gl_PREREQ_MKSTEMP invocations from here...
52521         * modules/mkstemp (configure.ac): ... to here.
52523 2011-05-21  Bruno Haible  <bruno@clisp.org>
52525         mkostemps: Move AC_LIBOBJ invocations to module description.
52526         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
52527         here...
52528         * modules/mkostemps (configure.ac): ... to here.
52530 2011-05-21  Bruno Haible  <bruno@clisp.org>
52532         mkostemp: Move AC_LIBOBJ invocations to module description.
52533         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
52534         gl_PREREQ_MKOSTEMP invocations from here...
52535         * modules/mkostemp (configure.ac): ... to here.
52537 2011-05-21  Bruno Haible  <bruno@clisp.org>
52539         mknod: Move AC_LIBOBJ invocations to module description.
52540         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
52541         * modules/mknod (configure.ac): ... to here.
52543 2011-05-21  Bruno Haible  <bruno@clisp.org>
52545         mkfifoat: Move AC_LIBOBJ invocations to module description.
52546         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
52547         here...
52548         * modules/mkfifoat (configure.ac): ... to here.
52550 2011-05-21  Bruno Haible  <bruno@clisp.org>
52552         mkfifo: Respect rules for use of AC_LIBOBJ.
52553         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
52554         here...
52555         * modules/mkfifo (configure.ac): ... to here.
52557 2011-05-21  Bruno Haible  <bruno@clisp.org>
52559         mkdtemp: Move AC_LIBOBJ invocations to module description.
52560         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
52561         invocations from here...
52562         * modules/mkdtemp (configure.ac): ... to here.
52564 2011-05-21  Bruno Haible  <bruno@clisp.org>
52566         mkdir: Move AC_LIBOBJ invocations to module description.
52567         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
52568         * modules/mkdir (configure.ac): ... to here.
52570 2011-05-21  Bruno Haible  <bruno@clisp.org>
52572         memset: Move AC_LIBOBJ invocations to module description.
52573         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
52574         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
52575         here...
52576         * modules/memset (configure.ac): ... to here.
52578 2011-05-21  Bruno Haible  <bruno@clisp.org>
52580         memrchr: Move AC_LIBOBJ invocations to module description.
52581         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
52582         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
52583         here...
52584         * modules/memrchr (configure.ac): ... to here.
52586 2011-05-21  Bruno Haible  <bruno@clisp.org>
52588         mempcpy: Move AC_LIBOBJ invocations to module description.
52589         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
52590         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
52591         here...
52592         * modules/mempcpy (configure.ac): ... to here.
52594 2011-05-21  Bruno Haible  <bruno@clisp.org>
52596         memmove: Move AC_LIBOBJ invocations to module description.
52597         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
52598         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
52599         here...
52600         * modules/memmove (configure.ac): ... to here.
52602 2011-05-21  Bruno Haible  <bruno@clisp.org>
52604         memmem*: Move AC_LIBOBJ invocations to module description.
52605         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
52606         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
52607         here...
52608         (gl_FUNC_MEMMEM): ... and here...
52609         * modules/memmem-simple (configure.ac): ... to here.
52610         * modules/memmem (configure.ac): ... and here.
52612 2011-05-21  Bruno Haible  <bruno@clisp.org>
52614         memcpy: Move AC_LIBOBJ invocations to module description.
52615         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
52616         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
52617         here...
52618         * modules/memcpy (configure.ac): ... to here.
52620 2011-05-21  Bruno Haible  <bruno@clisp.org>
52622         memcmp: Simplify autoconf macro.
52623         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
52624         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
52625         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
52627 2011-05-21  Bruno Haible  <bruno@clisp.org>
52629         memcmp: Move AC_LIBOBJ invocations to module description.
52630         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
52631         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
52632         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
52633         * modules/memcmp (configure.ac): ... to here.
52634         (Depends-on): Update conditions.
52636 2011-05-21  Bruno Haible  <bruno@clisp.org>
52638         memchr: Respect rules for use of AC_LIBOBJ.
52639         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
52640         invocations from here...
52641         * modules/memchr (configure.ac): ... to here.
52643 2011-05-21  Bruno Haible  <bruno@clisp.org>
52645         mbtowc: Move AC_LIBOBJ invocations to module description.
52646         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
52647         invocations from here...
52648         * modules/mbtowc (configure.ac): ... to here.
52650 2011-05-21  Bruno Haible  <bruno@clisp.org>
52652         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
52653         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
52654         gl_PREREQ_MBSRTOWCS invocations from here...
52655         * modules/mbsrtowcs (configure.ac): ... to here.
52657 2011-05-21  Bruno Haible  <bruno@clisp.org>
52659         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
52660         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
52661         gl_PREREQ_MBSNRTOWCS invocations from here...
52662         * modules/mbsnrtowcs (configure.ac): ... to here.
52664 2011-05-21  Bruno Haible  <bruno@clisp.org>
52666         mbsinit: Move AC_LIBOBJ invocations to module description.
52667         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
52668         invocations from here...
52669         * modules/mbsinit (configure.ac): ... to here.
52671 2011-05-21  Bruno Haible  <bruno@clisp.org>
52673         mbrlen: Move AC_LIBOBJ invocations to module description.
52674         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
52675         invocations from here...
52676         * modules/mbrlen (configure.ac): ... to here.
52678 2011-05-21  Bruno Haible  <bruno@clisp.org>
52680         mbrtowc: Respect rules for use of AC_LIBOBJ.
52681         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
52682         invocations from here...
52683         * modules/mbrtowc (configure.ac): ... to here.
52685 2011-05-21  Bruno Haible  <bruno@clisp.org>
52687         malloc-*: Move AC_LIBOBJ invocations to module description.
52688         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
52689         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
52690         AC_LIBOBJ invocations from here...
52691         * modules/malloc-gnu (configure.ac): ... to here.
52692         * modules/malloc-posix (configure.ac): ... and here.
52694 2011-05-21  Bruno Haible  <bruno@clisp.org>
52696         lstat, openat: Respect rules for use of AC_LIBOBJ.
52697         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
52698         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
52699         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
52700         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
52701         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
52702         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
52703         here.
52704         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
52706 2011-05-21  Bruno Haible  <bruno@clisp.org>
52708         lseek: Move AC_LIBOBJ invocations to module description.
52709         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
52710         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
52711         * modules/lseek (configure.ac): ... to here.
52713 2011-05-21  Bruno Haible  <bruno@clisp.org>
52715         linkat: Move AC_LIBOBJ invocations to module description.
52716         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
52717         here...
52718         * modules/linkat (configure.ac): ... to here.
52720 2011-05-21  Bruno Haible  <bruno@clisp.org>
52722         link: Respect rules for use of AC_LIBOBJ.
52723         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
52724         * modules/link (configure.ac): ... to here.
52726 2011-05-21  Bruno Haible  <bruno@clisp.org>
52728         lchown: Move AC_LIBOBJ invocations to module description.
52729         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
52730         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52731         * modules/lchown (configure.ac): ... to here.
52733 2011-05-21  Bruno Haible  <bruno@clisp.org>
52735         iswctype: Move AC_LIBOBJ invocations to module description.
52736         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
52737         here...
52738         * modules/iswctype (configure.ac): ... to here.
52740 2011-05-21  Bruno Haible  <bruno@clisp.org>
52742         iswblank: Move AC_LIBOBJ invocations to module description.
52743         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
52744         here...
52745         * modules/iswblank (configure.ac): ... to here.
52747 2011-05-21  Bruno Haible  <bruno@clisp.org>
52749         atanl: Move AC_LIBOBJ invocations to module description.
52750         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
52751         * modules/atanl (configure.ac): ... to here.
52753 2011-05-21  Bruno Haible  <bruno@clisp.org>
52755         acosl: Move AC_LIBOBJ invocations to module description.
52756         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
52757         * modules/acosl (configure.ac): ... to here.
52759 2011-05-21  Bruno Haible  <bruno@clisp.org>
52761         asinl: Respect rules for use of AC_LIBOBJ.
52762         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
52763         * modules/asinl (configure.ac): ... to here.
52765 2011-05-21  Bruno Haible  <bruno@clisp.org>
52767         tanl: Move AC_LIBOBJ invocations to module description.
52768         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
52769         * modules/tanl (configure.ac): ... to here.
52771 2011-05-21  Bruno Haible  <bruno@clisp.org>
52773         cosl: Move AC_LIBOBJ invocations to module description.
52774         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
52775         * modules/cosl (configure.ac): ... to here.
52777 2011-05-21  Bruno Haible  <bruno@clisp.org>
52779         sinl: Move AC_LIBOBJ invocations to module description.
52780         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
52781         * modules/sinl (configure.ac): ... to here.
52783 2011-05-21  Bruno Haible  <bruno@clisp.org>
52785         logl: Move AC_LIBOBJ invocations to module description.
52786         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
52787         * modules/logl (configure.ac): ... to here.
52789 2011-05-21  Bruno Haible  <bruno@clisp.org>
52791         expl: Move AC_LIBOBJ invocations to module description.
52792         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
52793         * modules/expl (configure.ac): ... to here.
52795 2011-05-21  Bruno Haible  <bruno@clisp.org>
52797         roundl: Move AC_LIBOBJ invocations to module description.
52798         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
52799         * modules/roundl (configure.ac): ... to here.
52801 2011-05-21  Bruno Haible  <bruno@clisp.org>
52803         round: Move AC_LIBOBJ invocations to module description.
52804         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
52805         * modules/round (configure.ac): ... to here.
52807 2011-05-21  Bruno Haible  <bruno@clisp.org>
52809         roundf: Move AC_LIBOBJ invocations to module description.
52810         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
52811         * modules/roundf (configure.ac): ... to here.
52813 2011-05-21  Bruno Haible  <bruno@clisp.org>
52815         truncl: Move AC_LIBOBJ invocations to module description.
52816         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
52817         * modules/truncl (configure.ac): ... to here.
52819 2011-05-21  Bruno Haible  <bruno@clisp.org>
52821         trunc: Move AC_LIBOBJ invocations to module description.
52822         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
52823         * modules/trunc (configure.ac): ... to here.
52825 2011-05-21  Bruno Haible  <bruno@clisp.org>
52827         truncf: Move AC_LIBOBJ invocations to module description.
52828         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
52829         * modules/truncf (configure.ac): ... to here.
52831 2011-05-21  Bruno Haible  <bruno@clisp.org>
52833         ceill: Move AC_LIBOBJ invocations to module description.
52834         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
52835         * modules/ceill (configure.ac): ... to here.
52837 2011-05-21  Bruno Haible  <bruno@clisp.org>
52839         ceil: Move AC_LIBOBJ invocations to module description.
52840         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
52841         * modules/ceil (configure.ac): ... to here.
52843 2011-05-21  Bruno Haible  <bruno@clisp.org>
52845         ceilf: Move AC_LIBOBJ invocations to module description.
52846         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
52847         * modules/ceilf (configure.ac): ... to here.
52849 2011-05-21  Bruno Haible  <bruno@clisp.org>
52851         floorl: Respect rules for use of AC_LIBOBJ.
52852         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
52853         * modules/floorl (configure.ac): ... to here.
52855 2011-05-21  Bruno Haible  <bruno@clisp.org>
52857         floor: Respect rules for use of AC_LIBOBJ.
52858         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
52859         * modules/floor (configure.ac): ... to here.
52861 2011-05-21  Bruno Haible  <bruno@clisp.org>
52863         floorf: Move AC_LIBOBJ invocations to module description.
52864         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
52865         * modules/floorf (configure.ac): ... to here.
52867 2011-05-20  Bruno Haible  <bruno@clisp.org>
52869         sqrtl: Respect rules for use of AC_LIBOBJ.
52870         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
52871         * modules/sqrtl (configure.ac): ... to here.
52873 2011-05-20  Bruno Haible  <bruno@clisp.org>
52875         ldexpl: Respect rules for use of AC_LIBOBJ.
52876         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
52877         * modules/ldexpl (configure.ac): ... to here.
52879 2011-05-20  Bruno Haible  <bruno@clisp.org>
52881         frexpl*: Respect rules for use of AC_LIBOBJ.
52882         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
52883         invocation from here...
52884         * modules/frexpl (configure.ac): ... to here.
52885         * modules/frexpl-nolibm (configure.ac): ... and here.
52887 2011-05-20  Bruno Haible  <bruno@clisp.org>
52889         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
52890         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
52891         invocation from here...
52892         * modules/frexp (configure.ac): ... to here.
52893         * modules/frexp-nolibm (configure.ac): ... and here.
52895 2011-05-20  Bruno Haible  <bruno@clisp.org>
52897         isnan: Respect rules for use of AC_LIBOBJ.
52898         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
52899         invocations here.
52900         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
52901         REPLACE_ISNAN.
52902         * modules/isnand (configure.ac): Likewise.
52903         * modules/isnanl (configure.ac): Likewise.
52905 2011-05-20  Bruno Haible  <bruno@clisp.org>
52907         isnanl*: Respect rules for use of AC_LIBOBJ.
52908         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
52909         invocation from here...
52910         * modules/isnanl (configure.ac): ... to here.
52911         * modules/isnanl-nolibm (configure.ac): ... and here.
52913 2011-05-20  Bruno Haible  <bruno@clisp.org>
52915         isnand*: Move AC_LIBOBJ invocations to module description.
52916         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
52917         invocation from here...
52918         * modules/isnand (configure.ac): ... to here.
52919         * modules/isnand-nolibm (configure.ac): ... and here.
52921 2011-05-20  Bruno Haible  <bruno@clisp.org>
52923         isnanf*: Move AC_LIBOBJ invocations to module description.
52924         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
52925         invocation from here...
52926         * modules/isnanf (configure.ac): ... to here.
52927         * modules/isnanf-nolibm (configure.ac): ... and here.
52929 2011-05-20  Bruno Haible  <bruno@clisp.org>
52931         isnan*: Separate the AC_LIBOBJ invocations.
52932         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
52933         AC_LIBOBJ invocation.
52934         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
52935         here.
52936         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
52937         AC_LIBOBJ invocation.
52938         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
52939         here.
52940         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
52941         AC_LIBOBJ invocation.
52942         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
52943         here.
52944         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
52946 2011-05-08  Bruno Haible  <bruno@clisp.org>
52948         isinf: Move AC_LIBOBJ invocations to module description.
52949         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
52950         * modules/isinf (configure.ac): ... to here.
52952 2011-05-08  Bruno Haible  <bruno@clisp.org>
52954         isfinite: Move AC_LIBOBJ invocations to module description.
52955         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
52956         * modules/isfinite (configure.ac): ... to here.
52958 2011-05-08  Bruno Haible  <bruno@clisp.org>
52960         isblank: Move AC_LIBOBJ invocations to module description.
52961         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
52962         here...
52963         * modules/isblank (configure.ac): ... to here.
52965 2011-05-08  Bruno Haible  <bruno@clisp.org>
52967         isapipe: Move AC_LIBOBJ invocations to module description.
52968         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
52969         gl_PREREQ_ISAPIPE invocations from here...
52970         * modules/isapipe (configure.ac): ... to here.
52971         (Depends-on): Update condition.
52973 2011-05-08  Bruno Haible  <bruno@clisp.org>
52975         ioctl: Move AC_LIBOBJ invocations to module description.
52976         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
52977         invocations from here...
52978         * modules/ioctl (configure.ac): ... to here.
52979         (Depends-on): Update condition.
52981 2011-05-08  Bruno Haible  <bruno@clisp.org>
52983         imaxdiv: Move AC_LIBOBJ invocations to module description.
52984         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
52985         invocations from here...
52986         * modules/imaxdiv (configure.ac): ... to here.
52988 2011-05-08  Bruno Haible  <bruno@clisp.org>
52990         imaxabs: Move AC_LIBOBJ invocations to module description.
52991         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
52992         invocations from here...
52993         * modules/imaxabs (configure.ac): ... to here.
52995 2011-05-08  Bruno Haible  <bruno@clisp.org>
52997         getaddrinfo: Move AC_LIBOBJ invocations to module description.
52998         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
52999         AC_LIBOBJ invocations from here...
53000         * modules/getaddrinfo (configure.ac): ... to here.
53001         (Depends-on): Add conditions.
53003 2011-05-08  Bruno Haible  <bruno@clisp.org>
53005         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53006         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
53007         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53008         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
53009         (gl_PREREQ_INET_PTON): ... from here.
53010         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
53011         gl_PREREQ_INET_PTON here.
53012         (Depends-on): Update condition.
53014 2011-05-08  Bruno Haible  <bruno@clisp.org>
53016         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53017         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
53018         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53019         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
53020         (gl_PREREQ_INET_NTOP): ... from here.
53021         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
53022         gl_PREREQ_INET_NTOP here.
53023         (Depends-on): Update condition.
53025 2011-05-08  Bruno Haible  <bruno@clisp.org>
53027         iconv_open: Move AC_LIBOBJ invocations to module description.
53028         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
53029         AC_LIBOBJ invocations from here...
53030         * modules/iconv_open (configure.ac): ... to here.
53032 2011-05-08  Bruno Haible  <bruno@clisp.org>
53034         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
53035         If module 'iconv_open' is among the main modules and module
53036         'iconv_open-utf' is among the tests dependencies, then
53037         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
53038         return the special iconv_t values. Therefore iconv() and iconv_close()
53039         must support these special iconv_t values, already in lib, not only in
53040         tests.
53041         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
53042         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
53043         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
53044         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
53045         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
53046         (Depends-on): Add the dependencies of iconv_open-utf.
53047         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
53048         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
53049         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
53051 2011-05-08  Bruno Haible  <bruno@clisp.org>
53053         group-member: Move AC_LIBOBJ invocations to module description.
53054         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
53055         gl_PREREQ_GROUP_MEMBER invocations from here...
53056         * modules/group-member (configure.ac): ... to here.
53058 2011-05-08  Bruno Haible  <bruno@clisp.org>
53060         grantpt: Move AC_LIBOBJ invocations to module description.
53061         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
53062         invocations from here...
53063         * modules/grantpt (configure.ac): ... to here.
53065 2011-05-08  Bruno Haible  <bruno@clisp.org>
53067         glob: Move AC_LIBOBJ invocations to module description.
53068         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
53069         from here...
53070         * modules/glob (configure.ac): ... to here.
53072 2011-05-08  Bruno Haible  <bruno@clisp.org>
53074         getusershell: Move AC_LIBOBJ invocations to module description.
53075         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
53076         Move AC_LIBOBJ invocation from here...
53077         * modules/getusershell (configure.ac): ... to here.
53078         (Depends-on): Update condition.
53080 2011-05-08  Bruno Haible  <bruno@clisp.org>
53082         gettimeofday: Move AC_LIBOBJ invocations to module description.
53083         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53084         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
53085         gl_PREREQ_GETTIMEOFDAY invocations from here...
53086         * modules/gettimeofday (configure.ac): ... to here.
53088 2011-05-08  Bruno Haible  <bruno@clisp.org>
53090         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
53091         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
53092         just gl_FUNC_TZSET.
53093         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
53094         (gl_FUNC_TZSET_CLOBBER): Remove actions.
53095         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
53096         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
53098 2011-05-08  Bruno Haible  <bruno@clisp.org>
53100         getsubopt: Move AC_LIBOBJ invocations to module description.
53101         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
53102         gl_PREREQ_GETSUBOPT invocations from here...
53103         * modules/getsubopt (configure.ac): ... to here.
53105 2011-05-08  Bruno Haible  <bruno@clisp.org>
53107         getpass-gnu: Move AC_LIBOBJ invocations to module description.
53108         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
53109         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
53110         * modules/getpass-gnu (configure.ac): ... to here.
53112 2011-05-08  Bruno Haible  <bruno@clisp.org>
53114         getpass: Move AC_LIBOBJ invocations to module description.
53115         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
53116         gl_PREREQ_GETPASS invocations from here...
53117         * modules/getpass (configure.ac): ... to here.
53119 2011-05-08  Bruno Haible  <bruno@clisp.org>
53121         getpagesize: Move AC_LIBOBJ invocations to module description.
53122         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
53123         from here...
53124         * modules/getpagesize (configure.ac): ... to here.
53126 2011-05-08  Bruno Haible  <bruno@clisp.org>
53128         getopt: Move AC_LIBOBJ invocations to module description.
53129         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
53130         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
53131         invocations from here...
53132         * modules/getopt-gnu (configure.ac): ... to here.
53133         * modules/getopt-posix (configure.ac): ... and here.
53134         (Depends-on): Update condition.
53136 2011-05-08  Bruno Haible  <bruno@clisp.org>
53138         getopt, argp: Respect rules for use of AC_LIBOBJ.
53139         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
53140         (gl_REPLACE_GETOPT_ALWAYS): New macro.
53141         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
53142         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
53144 2011-05-08  Bruno Haible  <bruno@clisp.org>
53146         getlogin_r: Move AC_LIBOBJ invocations to module description.
53147         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
53148         gl_PREREQ_GETLOGIN_R invocations from here...
53149         * modules/getlogin_r (configure.ac): ... to here.
53151 2011-05-08  Bruno Haible  <bruno@clisp.org>
53153         getlogin: Move AC_LIBOBJ invocations to module description.
53154         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
53155         here...
53156         * modules/getlogin (configure.ac): ... to here.
53158 2011-05-08  Bruno Haible  <bruno@clisp.org>
53160         getloadavg: Move AC_LIBOBJ invocations to module description.
53161         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
53162         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
53163         * modules/getloadavg (configure.ac): ... to here.
53165 2011-05-08  Bruno Haible  <bruno@clisp.org>
53167         gethrxtime: Move AC_LIBOBJ invocations to module description.
53168         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
53169         LIB_GETHRXTIME from here...
53170         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
53171         invocations from here...
53172         * modules/gethrxtime (configure.ac): ... to here.
53174 2011-05-08  Bruno Haible  <bruno@clisp.org>
53176         gethostname: Move AC_LIBOBJ invocations to module description.
53177         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
53178         gl_PREREQ_GETHOSTNAME invocations from here...
53179         * modules/gethostname (configure.ac): ... to here.
53181 2011-05-08  Bruno Haible  <bruno@clisp.org>
53183         getgroups: Move AC_LIBOBJ invocations to module description.
53184         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
53185         here...
53186         * modules/getgroups (configure.ac): ... to here.
53188 2011-05-08  Bruno Haible  <bruno@clisp.org>
53190         getdtablesize: Move AC_LIBOBJ invocations to module description.
53191         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
53192         invocation from here...
53193         * modules/getdtablesize (configure.ac): ... to here.
53195 2011-05-08  Bruno Haible  <bruno@clisp.org>
53197         getdomainname: Move AC_LIBOBJ invocations to module description.
53198         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
53199         gl_PREREQ_GETDOMAINNAME invocations from here...
53200         * modules/getdomainname (configure.ac): ... to here.
53202 2011-05-08  Bruno Haible  <bruno@clisp.org>
53204         getline: Move AC_LIBOBJ invocations to module description.
53205         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
53206         invocations from here...
53207         * modules/getline (configure.ac): ... to here.
53209 2011-05-08  Bruno Haible  <bruno@clisp.org>
53211         getline: Simplify.
53212         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
53213         It's already handled through the module dependency.
53215 2011-05-08  Bruno Haible  <bruno@clisp.org>
53217         getdelim: Move AC_LIBOBJ invocations to module description.
53218         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
53219         and gl_PREREQ_GETDELIM invocations from here...
53220         * modules/getdelim (configure.ac): ... to here.
53221         (Depends-on): Fix condition.
53223 2011-05-08  Bruno Haible  <bruno@clisp.org>
53225         getcwd: Move AC_LIBOBJ invocations to module description.
53226         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
53227         invocations from here...
53228         * modules/getcwd (configure.ac): ... to here.
53230 2011-05-08  Bruno Haible  <bruno@clisp.org>
53232         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
53233         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
53234         here...
53235         * modules/getcwd-lgpl (configure.ac): ... to here.
53237 2011-05-07  Bruno Haible  <bruno@clisp.org>
53239         crypto/gc: Move AC_LIBOBJ invocations to module description.
53240         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
53241         * modules/crypto/gc (configure.ac): ... to here.
53243 2011-05-07  Bruno Haible  <bruno@clisp.org>
53245         fwriting: Move AC_LIBOBJ invocations to module description.
53246         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
53247         here...
53248         * modules/fwriting (configure.ac): ... to here.
53250 2011-05-07  Bruno Haible  <bruno@clisp.org>
53252         fwritable: Move AC_LIBOBJ invocations to module description.
53253         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
53254         here...
53255         * modules/fwritable (configure.ac): ... to here.
53257 2011-05-07  Bruno Haible  <bruno@clisp.org>
53259         futimens: Move AC_LIBOBJ invocations to module description.
53260         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
53261         here...
53262         * modules/futimens (configure.ac): ... to here.
53264 2011-05-07  Bruno Haible  <bruno@clisp.org>
53266         ftruncate: Move AC_LIBOBJ invocations to module description.
53267         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
53268         gl_PREREQ_FTRUNCATE invocations from here...
53269         * modules/ftruncate (configure.ac): ... to here.
53271 2011-05-07  Bruno Haible  <bruno@clisp.org>
53273         fsync: Move AC_LIBOBJ invocations to module description.
53274         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
53275         invocations from here...
53276         * modules/fsync (configure.ac): ... to here.
53278 2011-05-07  Bruno Haible  <bruno@clisp.org>
53280         fsusage: Move AC_LIBOBJ invocations to module description.
53281         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
53282         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
53283         * modules/fsusage (configure.ac): ... to here.
53285 2011-05-07  Bruno Haible  <bruno@clisp.org>
53287         freopen: Move AC_LIBOBJ invocations to module description.
53288         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
53289         invocations from here...
53290         * modules/freopen (configure.ac): ... to here.
53292 2011-05-07  Bruno Haible  <bruno@clisp.org>
53294         free: Move AC_LIBOBJ invocations to module description.
53295         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
53296         invocations from here...
53297         * modules/free (configure.ac): ... to here.
53299 2011-05-07  Bruno Haible  <bruno@clisp.org>
53301         freadable: Move AC_LIBOBJ invocations to module description.
53302         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
53303         here...
53304         * modules/freadable (configure.ac): ... to here.
53306 2011-05-07  Bruno Haible  <bruno@clisp.org>
53308         fpurge: Move AC_LIBOBJ invocations to module description.
53309         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
53310         invocations from here...
53311         * modules/fpurge (configure.ac): ... to here.
53313 2011-05-07  Bruno Haible  <bruno@clisp.org>
53315         fpending: Move AC_LIBOBJ invocations to module description.
53316         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
53317         gl_FUNC_FPENDING.
53318         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
53319         invocations from here...
53320         * modules/fpending (configure.ac): ... to here.
53322 2011-05-07  Bruno Haible  <bruno@clisp.org>
53324         fopen: Move AC_LIBOBJ invocations to module description.
53325         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
53326         invocations from here...
53327         * modules/fopen (configure.ac): ... to here.
53329 2011-05-07  Bruno Haible  <bruno@clisp.org>
53331         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
53332         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
53333         gl_FUNC_FNMATCH_POSIX.
53334         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
53335         invocations from here...
53336         * modules/fnmatch (configure.ac): ... to here.
53337         * modules/fnmatch-gnu (configure.ac): ... and here.
53339 2011-05-07  Bruno Haible  <bruno@clisp.org>
53341         flock: Move AC_LIBOBJ invocations to module description.
53342         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
53343         invocations from here...
53344         * modules/flock (configure.ac): ... to here.
53346 2011-05-07  Bruno Haible  <bruno@clisp.org>
53348         fileblocks: Move AC_LIBOBJ invocations to module description.
53349         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
53350         gl_PREREQ_FILEBLOCKS invocations from here...
53351         * modules/fileblocks (configure.ac): ... to here.
53353 2011-05-06  Bruno Haible  <bruno@clisp.org>
53355         fflush: Move AC_LIBOBJ invocations to module description.
53356         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
53357         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
53358         invocations from here...
53359         * modules/fflush (configure.ac): ... to here.
53361 2011-05-06  Bruno Haible  <bruno@clisp.org>
53363         fdopendir: Move AC_LIBOBJ invocations to module description.
53364         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
53365         here...
53366         * modules/fdopendir (configure.ac): ... to here.
53367         (Depends-on): Improve conditions.
53369 2011-05-06  Bruno Haible  <bruno@clisp.org>
53371         _Exit: Move AC_LIBOBJ invocations to module description.
53372         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
53373         invocations from here...
53374         * modules/_Exit (configure.ac): ... to here.
53376 2011-05-21  Bruno Haible  <bruno@clisp.org>
53378         euidaccess: Respect rules for use of AC_LIBOBJ.
53379         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
53381         from here...
53382         * modules/euidaccess (configure.ac): ... to here.
53384 2011-05-06  Bruno Haible  <bruno@clisp.org>
53386         error: Move AC_LIBOBJ invocations to module description.
53387         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
53388         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
53389         invocations from here...
53390         * modules/error (configure.ac): ... to here.
53392 2011-05-06  Bruno Haible  <bruno@clisp.org>
53394         duplocale: Move AC_LIBOBJ invocations to module description.
53395         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
53396         gl_PREREQ_DUPLOCALE invocations from here...
53397         * modules/duplocale (configure.ac): ... to here.
53399 2011-05-05  Bruno Haible  <bruno@clisp.org>
53401         dirfd: Move AC_LIBOBJ invocations to module description.
53402         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
53403         gl_FUNC_DIRFD.
53404         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
53405         here...
53406         * modules/dirfd (configure.ac): ... to here.
53407         (Depends-on): Fix condition.
53409 2011-05-05  Bruno Haible  <bruno@clisp.org>
53411         chown: Respect rules for use of AC_LIBOBJ.
53412         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
53413         * modules/chown (configure.ac): ... to here.
53415 2011-05-05  Bruno Haible  <bruno@clisp.org>
53417         chdir-long: Move AC_LIBOBJ invocations to module description.
53418         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
53419         gl_PREREQ_CHDIR_LONG invocations from here...
53420         * modules/chdir-long (configure.ac): ... to here.
53422 2011-05-05  Bruno Haible  <bruno@clisp.org>
53424         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
53425         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
53426         from here...
53427         * modules/canonicalize-lgpl (configure.ac): ... to here.
53429 2011-05-05  Bruno Haible  <bruno@clisp.org>
53431         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
53432         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
53433         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
53434         REPLACE_CALLOC.
53435         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
53436         * modules/calloc-gnu (configure.ac): Likewise.
53438 2011-05-05  Bruno Haible  <bruno@clisp.org>
53440         btowc: Move AC_LIBOBJ invocations to module description.
53441         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
53442         invocations from here...
53443         * modules/btowc (configure.ac): ... to here.
53445 2011-05-21  Bruno Haible  <bruno@clisp.org>
53447         atexit: Move AC_LIBOBJ invocations to module description.
53448         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
53449         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
53450         here...
53451         * modules/atexit (configure.ac): ... to here.
53453 2011-05-05  Bruno Haible  <bruno@clisp.org>
53455         atoll: Move AC_LIBOBJ invocations to module description.
53456         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
53457         invocations from here...
53458         * modules/atoll (configure.ac): ... to here.
53460 2011-05-05  Bruno Haible  <bruno@clisp.org>
53462         argz: Move AC_LIBOBJ invocations to module description.
53463         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
53464         * modules/argz (configure.ac): ... to here.
53466 2011-05-05  Bruno Haible  <bruno@clisp.org>
53468         alphasort: Move AC_LIBOBJ invocations to module description.
53469         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
53470         gl_PREREQ_ALPHASORT invocations from here...
53471         * modules/alphasort (configure.ac): ... to here.
53473 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53475         verify: new macro verify_expr; verify_true deprecated
53476         * NEWS: Mention this.
53477         * doc/verify.texi (Compile-time Assertions): Document this.
53478         * lib/verify.h (verify_true): Deprecate.
53479         (verify_expr): New macro.
53480         * tests/test-verify.c (function): Test verify_expr.
53482 2011-06-14  Jim Meyering  <meyering@redhat.com>
53484         init.sh: give more portable redirection-related advice in a comment
53485         * tests/init.sh (stderr_fileno_): Update the advice in comments.
53486         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
53487         for lots of discussion.  Stefano Lattarini suggested the solution
53488         of putting "9>&2" after the command.  Reported by Bruno Haible.
53490 2011-06-13  Bruno Haible  <bruno@clisp.org>
53492         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
53493         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
53494         'none'.
53496 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53498         ftoastr: use strtof only if HAVE_STRTOF
53499         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
53500         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
53501         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
53502         * modules/ftoastr (configure.ac): Check for strtof.
53504 2011-06-13  Bruno Haible  <bruno@clisp.org>
53506         gnulib-tool: Addendum to 2011-06-08 commit.
53507         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
53508         and --witness-c-macro have been given, augment AM_CPPFLAGS.
53510 2011-06-13  Bruno Haible  <bruno@clisp.org>
53512         fseeko: Provide a non-inline replacement of fseek().
53513         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
53514         * modules/fseeko (Depends-on): Add fseek.
53515         * modules/fseek (License): Change to LGPLv2+.
53517 2011-06-13  Bruno Haible  <bruno@clisp.org>
53519         ftello: Provide a non-inline replacement of ftell().
53520         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
53521         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
53522         not have ftello() (such as on mingw).
53523         * modules/ftello (Depends-on): Add ftell.
53524         * modules/ftell (License): Change to LGPLv2+.
53526 2011-05-07  Bruno Haible  <bruno@clisp.org>
53528         ftell: Move AC_LIBOBJ invocations to module description.
53529         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
53530         * modules/ftell (configure.ac): ... to here.
53532 2011-05-07  Bruno Haible  <bruno@clisp.org>
53534         ftello: Respect rules for use of AC_LIBOBJ.
53535         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
53536         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
53537         here...
53538         * modules/ftello (configure.ac): ... to here.
53540 2011-05-07  Bruno Haible  <bruno@clisp.org>
53542         fseeko: Simplify.
53543         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
53544         (gl_FUNC_FSEEKO): Inline it here.
53546 2011-05-07  Bruno Haible  <bruno@clisp.org>
53548         fseek: Move AC_LIBOBJ invocations to module description.
53549         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
53550         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53551         * modules/fseek (configure.ac): ... to here.
53553 2011-05-07  Bruno Haible  <bruno@clisp.org>
53555         fseek: Respect rules for use of AC_LIBOBJ.
53556         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
53557         here...
53558         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
53560 2011-05-07  Bruno Haible  <bruno@clisp.org>
53562         fseeko: Respect rules for use of AC_LIBOBJ.
53563         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
53564         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
53565         here...
53566         * modules/fseeko (configure.ac): ... to here.
53568 2011-06-13  Bruno Haible  <bruno@clisp.org>
53570         gnulib-tool: Allow comments in the 'Depends-on' section.
53571         * doc/gnulib.texi (Module description): Mention comment syntax in the
53572         Depends-on section.
53573         * gnulib-tool (func_get_dependencies): Filter out comment lines.
53575 2011-06-13  Bruno Haible  <bruno@clisp.org>
53577         file-set.h: guard __attibute__ use, now that it's not always defined
53578         * lib/file-set.h (record_file): Use __attribute__ only with compiler
53579         versions that support it.  This fixes a coreutils build failure with
53580         the vendor cc on HP-UX 11.31.
53582 2011-06-12  Bruno Haible  <bruno@clisp.org>
53584         acl: Add support for HP-UX >= 11.11 JFS ACLs.
53585         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
53586         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
53587         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
53588         (acl, aclsort): New declarations.
53589         (aclv_nontrivial): New declaration.
53590         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
53591         (file_has_acl): Read also the second kind of HP-UX ACLs.
53592         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
53593         kind of HP-UX ACLs if the first kind fails.
53594         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
53595         second kind of HP-UX ACLs.
53596         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
53597         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
53598         agree.
53599         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
53600         hpuxjfs.
53601         Handle hpuxjfs.
53602         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
53603         hpuxjfs.
53604         Handle hpuxjfs.
53605         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
53606         (func_test_same_acls): Use both lsacl and getacl.
53607         Handle hpuxjfs.
53608         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
53609         (func_test_same_acls): Use both lsacl and getacl.
53610         Handle hpuxjfs.
53612 2011-06-12  Bruno Haible  <bruno@clisp.org>
53614         acl: Complete the 2010-08-10 fix.
53615         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
53616         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
53617         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
53618         explicitly.
53619         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
53620         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
53622 2011-06-12  Bruno Haible  <bruno@clisp.org>
53624         spawn-pipe tests: Comments.
53625         * tests/test-spawn-pipe-child.c (main): Update comment.
53626         Reported by James Youngman <jay@gnu.org>.
53628 2011-06-11  James Youngman  <jay@gnu.org>
53630         New module 'stat-size'.
53631         * modules/stat-size: New module.  Provides macros for accessing
53632         file size information in instances of struct stat.  Depends on the
53633         fileblocks module because it calls st_blocks.
53634         * lib/stat-size.h: New file, adapted from coreutils' system.h.
53635         * doc/gnulib.texi: Include stat-size.texi.
53636         * doc/stat-size.texi: Documentation for this module.
53637         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
53638         * m4/fileblocks.m4: Mention that stat-size depends on the call to
53639         AC_STRUCT_ST_BLOCKS.
53641 2011-06-09  Bruno Haible  <bruno@clisp.org>
53643         thread: Support pthreads-win32.
53644         * lib/glthread/thread.h (gl_thread_self): Define differently on
53645         pthreads-win32.
53646         (gl_null_thread): New declaration.
53647         (gl_thread_self_pointer): New macro.
53648         * lib/glthread/thread.c (gl_null_thread): New constant.
53649         * tests/test-lock.c: Use gl_thread_self_pointer instead of
53650         gl_thread_self.
53651         * tests/test-tls.c: Likewise.
53652         Suggested by Paul Eggert. Reported by Eric Blake.
53654 2011-06-09  Bruno Haible  <bruno@clisp.org>
53656         thread: Fix confusion between NULL and 0.
53657         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
53658         Reported by Paul Eggert.
53660 2011-06-09  Bruno Haible  <bruno@clisp.org>
53662         spawn-pipe tests: Avoid test failure on HP-UX 11.
53663         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
53664         is closed.
53666 2011-06-09  Bruno Haible  <bruno@clisp.org>
53668         acl tests: Fix compilation error on HP-UX 11.
53669         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
53671 2011-06-09  Bruno Haible  <bruno@clisp.org>
53673         rmdir: Avoid test failure on HP-UX 10.20.
53674         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
53675         EEXIST.
53677 2011-06-08  Eric Blake  <eblake@redhat.com>
53679         perror: fix test on mingw
53680         * modules/perror-tests (Depends-on): Add dup2.
53682         strerror_r-posix: fix on MacOS
53683         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
53684         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
53685         logic bug.
53686         * lib/strerror_r.c (strerror_r): Fix the bug.
53687         * lib/strerror.c (strerror): Likewise.
53688         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
53689         problem.
53690         * doc/posix-functions/strerror.texi (strerror): Likewise.
53691         * doc/posix-functions/perror.texi (perror): Likewise.
53692         * tests/test-strerror.c (main): Enhance test.
53693         * tests/test-strerror_r.c (main): Likewise.
53695 2011-06-08  Bruno Haible  <bruno@clisp.org>
53697         gnulib-tool: Better isolation between different gnulib-tool invocations.
53698         * gnulib-tool: New option --witness-c-macro.
53699         (witness_c_macro): New variable.
53700         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
53701         AM_CPPFLAGS define it as a C macro.
53702         (func_emit_tests_Makefile_am): Likewise.
53703         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
53704         read it from there.
53705         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
53706         m4_define, not AC_DEFUN.
53707         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
53708         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
53709         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
53710         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
53711         s|...|...|, to substitute the values of the GNULIB_* module indicator
53712         variables.
53713         * modules/dirent (Makefile.am): Likewise.
53714         * modules/fcntl-h (Makefile.am): Likewise.
53715         * modules/iconv-h (Makefile.am): Likewise.
53716         * modules/langinfo (Makefile.am): Likewise.
53717         * modules/locale (Makefile.am): Likewise.
53718         * modules/math (Makefile.am): Likewise.
53719         * modules/netdb (Makefile.am): Likewise.
53720         * modules/poll-h (Makefile.am): Likewise.
53721         * modules/pty (Makefile.am): Likewise.
53722         * modules/search (Makefile.am): Likewise.
53723         * modules/signal (Makefile.am): Likewise.
53724         * modules/spawn (Makefile.am): Likewise.
53725         * modules/stdio (Makefile.am): Likewise.
53726         * modules/stdlib (Makefile.am): Likewise.
53727         * modules/string (Makefile.am): Likewise.
53728         * modules/sys_ioctl (Makefile.am): Likewise.
53729         * modules/sys_select (Makefile.am): Likewise.
53730         * modules/sys_socket (Makefile.am): Likewise.
53731         * modules/sys_stat (Makefile.am): Likewise.
53732         * modules/sys_times (Makefile.am): Likewise.
53733         * modules/sys_utsname (Makefile.am): Likewise.
53734         * modules/sys_wait (Makefile.am): Likewise.
53735         * modules/termios (Makefile.am): Likewise.
53736         * modules/time (Makefile.am): Likewise.
53737         * modules/unistd (Makefile.am): Likewise.
53738         * modules/wchar (Makefile.am): Likewise.
53740 2011-06-08  Eric Blake  <eblake@redhat.com>
53742         strerror: simplify replacement
53743         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
53744         * modules/strerror (configure.ac): No prereqs needed here...
53745         * modules/strerror-override (configure.ac): ...but this needs it.
53746         (Files): Add file for needed prereq macro.
53748 2011-06-08  Bruno Haible  <bruno@clisp.org>
53750         strerror_r-posix: Tweaks.
53751         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
53752         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
53753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
53754         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
53755         (gl_FUNC_STRERROR_R): ... to here.
53756         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
53758 2011-06-07  Eric Blake  <eblake@redhat.com>
53760         perror: document fixed bugs
53761         * doc/posix-functions/perror.texi (perror): Document recent
53762         patches.
53764 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53766         stat-time: get_stat_birthtime failure is better-defined
53767         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
53768         return a timestamp whose tv_sec and tv_nsec values are both -1.
53769         Previously, the spec said only that the tv_nsec value was negative.
53770         This upward-compatible change simplifies GNU tar a bit.
53772 2011-06-07  Eric Blake  <eblake@redhat.com>
53774         strerror_r-posix: work around cygwin 1.7.9
53775         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
53776         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
53777         bug without replacing strerror_r.
53778         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
53779         strerror_r is buggy, but without requiring strerror_r compilation.
53780         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
53782         test-perror: relax test to ignore cygwin bug
53783         * tests/test-perror2.c (main): Relax test on requiring detection
53784         of stream errors, and use unbuffered stream.
53785         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
53786         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
53787         * doc/posix-functions/fputc.texi (fputc): Likewise.
53788         * doc/posix-functions/fputs.texi (fputs): Likewise.
53789         * doc/posix-functions/fputws.texi (fputws): Likewise.
53790         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
53791         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
53792         * doc/posix-functions/getopt.texi (getopt): Likewise.
53793         * doc/posix-functions/perror.texi (perror): Likewise.
53794         * doc/posix-functions/printf.texi (printf): Likewise.
53795         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
53796         * doc/posix-functions/psignal.texi (psignal): Likewise.
53797         * doc/posix-functions/putc.texi (putc): Likewise.
53798         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
53799         Likewise.
53800         * doc/posix-functions/putchar.texi (putchar): Likewise.
53801         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
53802         Likewise.
53803         * doc/posix-functions/puts.texi (puts): Likewise.
53804         * doc/posix-functions/putwc.texi (putwc): Likewise.
53805         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
53806         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
53807         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
53808         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
53809         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
53810         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
53811         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
53812         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
53814 2011-05-22  Bruno Haible  <bruno@clisp.org>
53816         strerror: Move AC_LIBOBJ invocations to module description.
53817         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
53818         gl_PREREQ_STRERROR invocations from here...
53819         * modules/strerror (configure.ac): ... to here.
53821 2011-05-21  Bruno Haible  <bruno@clisp.org>
53823         perror: Use common idiom.
53824         * modules/perror (configure.ac): Reorder statements.
53826 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
53828         tests: fix usage message in 'mktempd_'
53829         * tests/init.sh (mktempd_): In the usage message, use literal
53830         'mktempd_', not '$ME' (which is even undefined), as the name of
53831         the subroutine.
53833 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
53835         tests init: new function 'fatal_', for hard errors
53836         Before this patch, the only way offered by tests/init.sh to
53837         properly signal a hard error was the `framework_failure_'
53838         function.  But the error message issued by that function,
53839         as its name would suggest, refers to a set-up failure in the
53840         testsuite, while hard errors can obviously also be due to
53841         other reasons.  The best way to fix this inconsistency is to
53842         introduce a new function with a more general error message.
53843         * tests/init.sh (fatal_): New function.
53845 2011-06-06  Eric Blake  <eblake@redhat.com>
53847         canonicalize-lgpl: use common idiom
53848         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
53849         over newer POSIX -Rf.
53850         Reported by Bruno Haible.
53852         canonicalize-lgpl: work around AIX realpath bug
53853         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
53854         * doc/posix-functions/realpath.texi (realpath): Document it.
53855         Reported by Bruno Haible.
53857         strerror: work around FreeBSD bug
53858         * lib/strerror.c (strerror): Special case 0.
53859         Reported by Bruno Haible.
53861         strerror-override: avoid bloating errno module
53862         * modules/errno (Files, configure.ac): Move replacement strings...
53863         * modules/strerror-override: ...to new module.
53864         * modules/strerror (Depends-on): Add strerror-override.
53865         * modules/strerror_r-posix (Depends-on): Likewise.
53866         * MODULES.html.sh: Document new module.
53867         Reported by Bruno Haible.
53869 2011-06-06  Bruno Haible  <bruno@clisp.org>
53871         spawn-pipe tests: Rename program.
53872         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
53873         * tests/test-spawn-pipe-child.c: Update comment.
53874         * tests/test-spawn-pipe.sh: Update.
53875         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
53877         spawn-pipe tests: Link the child program only against libc.
53878         * tests/test-spawn-pipe-child.c: New file, extracted from
53879         tests/test-spawn-pipe.c.
53880         (main): Expect only one argument.
53881         (is_open): New function, copied from tests/test-pipe.c.
53882         * tests/test-spawn-pipe.c: Don't include <errno.h>.
53883         (child_main): Remove function.
53884         (test_pipe): Pass only one argument to the child program.
53885         (main): Remove child process code. Expect the child program's name as
53886         first argument.
53887         * tests/test-spawn-pipe.sh: Pass the child program's name as first
53888         argument.
53889         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
53890         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
53891         test-spawn-pipe-child against no libraries.
53893 2011-06-06  Bruno Haible  <bruno@clisp.org>
53895         careadlinkat: Avoid mismatch between ssize_t and int.
53896         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
53897         * lib/careadlinkat.c (careadlinkatcwd): Define always.
53899 2011-06-06  Jim Meyering  <meyering@redhat.com>
53901         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
53902         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
53903         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
53905 2011-06-05  Bruno Haible  <bruno@clisp.org>
53907         ansi-c++-opt: Interoperability with libtool.
53908         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
53909         set the variable to "no", not to ":".
53910         * NEWS: Mention the change.
53912 2011-06-05  Bruno Haible  <bruno@clisp.org>
53914         acl: Fix test failure on AIX 7.
53915         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
53916         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
53918 2011-06-05  Bruno Haible  <bruno@clisp.org>
53920         pipe-filter-ii: Fix test failure on AIX and IRIX.
53921         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
53922         with EAGAIN, retry with a smaller buffer size.
53924 2011-06-05  Bruno Haible  <bruno@clisp.org>
53926         localename: Fix link dependencies.
53927         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
53928         * modules/localename-tests (Makefile.am): Link test-localename with
53929         $(LIBTHREAD).
53931 2011-06-05  Bruno Haible  <bruno@clisp.org>
53933         error: Avoid gcc warning.
53934         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
53936 2011-06-05  Bruno Haible  <bruno@clisp.org>
53938         unsetenv: Avoid gcc warning.
53939         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
53941 2011-06-05  Bruno Haible  <bruno@clisp.org>
53943         setenv: Avoid gcc warning.
53944         * lib/setenv.c (setenv): Provide declaration if system lacks it.
53946 2011-06-05  Bruno Haible  <bruno@clisp.org>
53948         sys_select: Ensure memset is declared also on AIX 7.
53949         * lib/sys_select.in.h: Include <string.h> also on AIX.
53950         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
53951         self-contained also on AIX 7.1.
53953 2011-06-04  Jim Meyering  <meyering@redhat.com>
53955         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
53956         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
53957         function name, "error".
53958         (_gl_translatable_diag_func_re): New configurable variable.
53960 2011-06-04  Bruno Haible  <bruno@clisp.org>
53962         getopt: Avoid gcc warning.
53963         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
53965 2011-06-04  Bruno Haible  <bruno@clisp.org>
53967         strerror_r: Fix comments.
53968         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
53969         commit.
53971 2011-06-04  Bruno Haible  <bruno@clisp.org>
53973         perror: Fix compilation error.
53974         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
53975         Undefine fprintf, not sprintf.
53976         * modules/perror (Depends-on): Remove intprops, verify.
53978 2011-06-04  Bruno Haible  <bruno@clisp.org>
53980         setlocale: Enable replacement on Cygwin 1.5.
53981         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
53982         Cygwin 1.5.x.
53983         * doc/posix-functions/setlocale.texi: Mention that the problem with the
53984         LC_CTYPE category also exists on Cygwin 1.5.x.
53986 2011-06-04  Bruno Haible  <bruno@clisp.org>
53988         strerror-override: Don't disable symbol renamings.
53989         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
53990         * lib/strerror-override.c: Include config.h.
53991         (strerror_override): Don't undefine.
53993 2011-06-03  Bruno Haible  <bruno@clisp.org>
53995         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
53996         * lib/localename.h: Update copyright header.
53997         * lib/localename.c: Likewise.
53998         * lib/relocatable.h: Likewise.
53999         * lib/relocatable.c: Likewise.
54001 2011-06-02  Bruno Haible  <bruno@clisp.org>
54003         doc: Fix a module name.
54004         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
54006 2011-06-02  Bruno Haible  <bruno@clisp.org>
54008         pipe2: Remove dependency on 'nonblocking' module.
54009         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
54010         O_NONBLOCK is defined by gnulib.
54011         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
54012         is zero.
54013         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
54014         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
54015         defined by gnulib.
54016         (get_nonblocking_flag): New function.
54017         (main): Test O_NONBLOCK flag only if it is nonzero.
54018         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
54020 2011-06-03  Jim Meyering  <meyering@redhat.com>
54022         maint: three new prohibit-header-without-use rules
54023         Prohibit use of cloexec.h, posixver.h, same.h without use.
54024         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
54025         (sc_prohibit_posixver_without_use): Likewise.
54026         (sc_prohibit_same_without_use): Likewise.
54028 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54030         allocator: 'die' routine is now given requested size
54031         * lib/allocator.h (struct allocator.die): New size arg.
54032         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
54033         If the actual problem is an ssize_t limitation, not a size_t or
54034         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
54036 2011-06-01  Eric Blake  <eblake@redhat.com>
54038         strerror: drop strerror_r dependency
54039         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
54040         * lib/strerror-override.c (strerror_override): ...to new file.
54041         * lib/strerror-override.h: Add prototype.
54042         * lib/strerror-impl.h: Delete.
54043         * lib/strerror.c (strerror): New implementation.
54044         * modules/errno (Files): Add new files.
54045         (configure.ac): Compile new file as appropriate.
54046         * modules/strerror (Files): Drop unused file.
54047         (Depends-on): Drop strerror_r-posix.
54048         * MODULES.html.sh: Document strerror_r-posix.
54049         Requested by Sam Steingold.
54051         perror: call strerror_r directly
54052         * modules/perror (Files): Drop strerror-impl.h.
54053         * lib/perror.c (perror): Use our own stack buffer, rather than
54054         calling a wrapper that uses static storage.
54055         * doc/posix-functions/perror.texi (perror): Document a limitation
54056         of our replacement.
54058         strerror_r: fix includes for FreeBSD
54059         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
54060         since we use abort on some platforms.
54061         Reported by Matthias Bolte.
54063 2011-05-31  Bruno Haible  <bruno@clisp.org>
54065         Fix link errors in tests: openat-die uses gettext-h.
54066         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
54067         against $(LIBINTL).
54068         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
54069         against $(LIBINTL).
54070         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
54071         $(LIBINTL).
54072         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
54073         against $(LIBINTL).
54074         * modules/linkat-tests (Makefile.am): Link test-linkat against
54075         $(LIBINTL).
54076         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
54077         $(LIBINTL).
54078         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
54079         against $(LIBINTL).
54080         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
54081         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
54082         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
54083         $(LIBINTL).
54084         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
54085         $(LIBINTL).
54086         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
54087         $(LIBINTL).
54088         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54090 2011-05-31  Bruno Haible  <bruno@clisp.org>
54092         Fix link errors in tests: wait-process uses gettext-h.
54093         * modules/nonblocking-pipe-tests (Makefile.am): Set
54094         test_nonblocking_pipe_main_LDADD.
54095         * modules/nonblocking-socket-tests (Makefile.am): Link
54096         test-nonblocking-socket-main against $(LIBINTL).
54097         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54099 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
54101         assert-h: work around 'verify' incompatibility
54102         * lib/verify.h: Use @...@ directives, not ifdef.
54103         * modules/assert-h (assert.h): Implement the directives.
54104         (assert.h): Substitute the symbol-prefix more consistently.
54106 2011-05-29  Jim Meyering  <meyering@redhat.com>
54108         trim: remove three superfluous assignments
54109         * lib/trim.c (trim2): Remove three superfluous assignments
54110         and correct brace positioning.
54112 2011-05-29  Bruno Haible  <bruno@clisp.org>
54114         wctype-h: Avoid namespace pollution on Solaris 2.6.
54115         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
54116         identifiers.
54117         * doc/posix-headers/wctype.texi: Mention the problem.
54118         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54120 2011-05-28  Jim Meyering  <meyering@redhat.com>
54122         parse-datetime.y: accommodate -Wstrict-overflow
54123         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
54124         placate -Wstrict-overflow.
54126         trim: avoid a warning from -O2 -Wstrict-overflow
54127         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
54129 2011-05-29  Bruno Haible  <bruno@clisp.org>
54131         gnulib-tool: Fix bug in yesterday's commit.
54132         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
54133         twice.
54135 2011-05-29  Bruno Haible  <bruno@clisp.org>
54137         Allow multiple gnulib generated include files to be combined.
54138         * gnulib-tool (func_compute_include_guard_prefix): New function.
54139         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
54140         ${gl_include_guard_prefix} references.
54141         (func_import, func_create_testdir): Invoke
54142         func_compute_include_guard_prefix.
54143         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
54144         * lib/ctype.in.h: Likewise.
54145         * lib/dirent.in.h: Likewise.
54146         * lib/errno.in.h: Likewise.
54147         * lib/fcntl.in.h: Likewise.
54148         * lib/float.in.h: Likewise.
54149         * lib/getopt.in.h: Likewise.
54150         * lib/iconv.in.h: Likewise.
54151         * lib/langinfo.in.h: Likewise.
54152         * lib/locale.in.h: Likewise.
54153         * lib/math.in.h: Likewise.
54154         * lib/netdb.in.h: Likewise.
54155         * lib/netinet_in.in.h: Likewise.
54156         * lib/poll.in.h: Likewise.
54157         * lib/pthread.in.h: Likewise.
54158         * lib/pty.in.h: Likewise.
54159         * lib/sched.in.h: Likewise.
54160         * lib/se-selinux.in.h: Likewise.
54161         * lib/search.in.h: Likewise.
54162         * lib/signal.in.h: Likewise.
54163         * lib/spawn.in.h: Likewise.
54164         * lib/stdarg.in.h: Likewise.
54165         * lib/stddef.in.h: Likewise.
54166         * lib/stdint.in.h: Likewise.
54167         * lib/stdio.in.h: Likewise.
54168         * lib/stdlib.in.h: Likewise.
54169         * lib/string.in.h: Likewise.
54170         * lib/strings.in.h: Likewise.
54171         * lib/sys_file.in.h: Likewise.
54172         * lib/sys_ioctl.in.h: Likewise.
54173         * lib/sys_select.in.h: Likewise.
54174         * lib/sys_socket.in.h: Likewise.
54175         * lib/sys_stat.in.h: Likewise.
54176         * lib/sys_time.in.h: Likewise.
54177         * lib/sys_times.in.h: Likewise.
54178         * lib/sys_uio.in.h: Likewise.
54179         * lib/sys_utsname.in.h: Likewise.
54180         * lib/sys_wait.in.h: Likewise.
54181         * lib/sysexits.in.h: Likewise.
54182         * lib/termios.in.h: Likewise.
54183         * lib/time.in.h: Likewise.
54184         * lib/unistd.in.h: Likewise.
54185         * lib/wchar.in.h: Likewise.
54186         * lib/wctype.in.h: Likewise.
54187         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
54188         * modules/ctype (Makefile.am): Likewise.
54189         * modules/dirent (Makefile.am): Likewise.
54190         * modules/errno (Makefile.am): Likewise.
54191         * modules/fcntl-h (Makefile.am): Likewise.
54192         * modules/float (Makefile.am): Likewise.
54193         * modules/getopt-posix (Makefile.am): Likewise.
54194         * modules/iconv-h (Makefile.am): Likewise.
54195         * modules/langinfo (Makefile.am): Likewise.
54196         * modules/locale (Makefile.am): Likewise.
54197         * modules/math (Makefile.am): Likewise.
54198         * modules/netdb (Makefile.am): Likewise.
54199         * modules/netinet_in (Makefile.am): Likewise.
54200         * modules/poll-h (Makefile.am): Likewise.
54201         * modules/pthread (Makefile.am): Likewise.
54202         * modules/pty (Makefile.am): Likewise.
54203         * modules/sched (Makefile.am): Likewise.
54204         * modules/search (Makefile.am): Likewise.
54205         * modules/selinux-h (Makefile.am): Likewise.
54206         * modules/signal (Makefile.am): Likewise.
54207         * modules/spawn (Makefile.am): Likewise.
54208         * modules/stdarg (Makefile.am): Likewise.
54209         * modules/stddef (Makefile.am): Likewise.
54210         * modules/stdint (Makefile.am): Likewise.
54211         * modules/stdio (Makefile.am): Likewise.
54212         * modules/stdlib (Makefile.am): Likewise.
54213         * modules/string (Makefile.am): Likewise.
54214         * modules/strings (Makefile.am): Likewise.
54215         * modules/sys_file (Makefile.am): Likewise.
54216         * modules/sys_ioctl (Makefile.am): Likewise.
54217         * modules/sys_select (Makefile.am): Likewise.
54218         * modules/sys_socket (Makefile.am): Likewise.
54219         * modules/sys_stat (Makefile.am): Likewise.
54220         * modules/sys_time (Makefile.am): Likewise.
54221         * modules/sys_times (Makefile.am): Likewise.
54222         * modules/sys_uio (Makefile.am): Likewise.
54223         * modules/sys_utsname (Makefile.am): Likewise.
54224         * modules/sys_wait (Makefile.am): Likewise.
54225         * modules/sysexits (Makefile.am): Likewise.
54226         * modules/termios (Makefile.am): Likewise.
54227         * modules/time (Makefile.am): Likewise.
54228         * modules/unistd (Makefile.am): Likewise.
54229         * modules/wchar (Makefile.am): Likewise.
54230         * modules/wctype-h (Makefile.am): Likewise.
54231         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
54233 2011-05-29  Bruno Haible  <bruno@clisp.org>
54235         assert-h: Allow multiple gnulib generated replacements to coexist.
54236         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
54238 2011-05-29  Bruno Haible  <bruno@clisp.org>
54240         argp: Allow coexistence with strerror_r-posix module.
54241         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
54242         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
54243         by gnulib's <string.h> replacement), assume it has the POSIX signature,
54244         not the glibc signature.
54246 2011-05-28  Bruno Haible  <bruno@clisp.org>
54248         gnulib-tool: Alternative structure of testdirs, similar to --import.
54249         * gnulib-tool: New option --single-configure.
54250         (func_usage): Document it.
54251         (single_configure): New variable.
54252         (func_modules_transitive_closure_separately,
54253         func_modules_transitive_closure_separately,
54254         func_determine_use_libtests, func_modules_add_dummy_separately,
54255         func_modules_to_filelist_separately): New functions, extracted from
54256         func_import.
54257         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
54258         (func_import): Use the new functions.
54259         (func_create_testdir): Set final_modules. Handle $single_configure =
54260         true case.
54262 2011-05-28  Bruno Haible  <bruno@clisp.org>
54264         getloadavg: Remove an unreliable safety check.
54265         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
54266         getloadavg.c is in place.
54267         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
54268         Reported by Sam Steingold <sds@gnu.org>.
54270 2011-05-28  Bruno Haible  <bruno@clisp.org>
54272         doc: Cleanup yet another file produced by texinfo.tex.
54273         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
54275 2011-05-28  Bruno Haible  <bruno@clisp.org>
54277         Finish the conditional dependencies mechanism.
54278         * gnulib-tool: New option --no-conditional-dependencies.
54279         (func_usage): Document it. Don't mark --conditional-dependencies as
54280         experimental.
54281         (cond_dependencies): The possible values can now be true, false, empty.
54282         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
54283         (func_import): Store setting in gnulib-cache.m4 and read it from there.
54284         * doc/gnulib-tool.texi (Conditional dependencies): New section.
54286 2011-05-28  Bruno Haible  <bruno@clisp.org>
54288         doc: Use a recent texinfo.tex.
54289         * doc/Makefile (tex_opts): New variable.
54290         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
54292 2011-05-28  Jim Meyering  <meyering@redhat.com>
54294         intprops.h: adjust comment to match code change
54295         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
54296         only once, it *may* have side effects.  Also fix an unrelated typo.
54297         (_GL_INT_SIGNED): Likewise.
54299 2011-05-26  Simon Josefsson  <simon@josefsson.org>
54301         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
54303 2011-05-26  Bruno Haible  <bruno@clisp.org>
54305         mbsrchr: Avoid collision with system function on Interix.
54306         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
54307         Reported by Markus Duft <mduft@gentoo.org>.
54309 2011-05-15  James Youngman  <jay@gnu.org>
54311         getopt: for ambiguous options, enumerate the possibilities.
54312         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
54313         the ambiguous options when an ambiguous prefix is given. This was
54314         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
54315         glibc change was
54316         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
54318 2011-05-25  Eric Blake  <eblake@redhat.com>
54320         getcwd: work around mingw bug
54321         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
54322         * doc/posix-functions/getcwd.texi (getcwd): Document it.
54323         Reported by Matthias Bolte.
54325 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
54327         test-intprops: disable -Wtype-limits diagnostics
54328         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
54329         diagnostics.  Otherwise, the integer overflow macros generate many
54330         diagnostics.  Reported by Jim Meyering in
54331         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54333         intprops: shorten, to pacify gcc -Woverlength-strings
54334         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
54335         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
54336         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
54337         likely to run afoul of C compiler limits for string constant lengths.
54338         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54340 2011-05-24  Eric Blake  <eblake@redhat.com>
54342         docs: document recently fixed glibc printf bug
54343         * doc/posix-functions/fprintf.texi (fprintf): Document it.
54344         * doc/posix-functions/printf.texi (printf): Likewise.
54345         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54346         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54348         closein-tests: convert to init.sh
54349         * modules/closein-tests (Files): Add init.sh
54350         * tests/test-closein.sh Use it.
54352         yesno-tests: convert to init.sh
54353         * modules/yesno-tests (Files): Add init.sh.
54354         * tests/test-yesno.sh: Use it.
54356         atexit-tests: ensure reliable exit status
54357         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
54358         Reported by Bruno Haible.
54360 2011-05-24  Bruno Haible  <bruno@clisp.org>
54362         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
54363         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
54364         gl_PREREQ_STRERROR_R invocations from here...
54365         * modules/strerror_r-posix (configure.ac): ... to here.
54367 2011-05-24  Eric Blake  <eblake@redhat.com>
54369         strerror_r: fix missing header
54370         * lib/strerror_r.c: Avoid compiler warning about snprintf.
54372         strerror_r: fix AIX test failures
54373         * lib/strerror_r.c (strerror_r): Convert silent truncation to
54374         ERANGE failure.
54376         strerror_r: fix Solaris test failures
54377         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
54378         failures.
54379         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54381         strerror_r: enforce POSIX recommendations
54382         * lib/strerror_r.c (safe_copy): New helper method.
54383         (strerror_r): Guarantee a non-empty string.
54384         * tests/test-strerror_r.c (main): Enhance tests to incorporate
54385         recent POSIX rulings and to match our strerror guarantees.
54386         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54388 2011-05-24  Jim Meyering  <meyering@redhat.com>
54390         test-perror2.c: avoid warning about unused variable
54391         * tests/test-perror2.c (main): Remove declaration of unused "fp".
54393 2011-05-24  Eric Blake  <eblake@redhat.com>
54395         perror: avoid spurious test failure on HP-UX
54396         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
54398         tests: fix logic bug in init.sh
54399         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
54400         shell.
54402 2011-05-24  Jim Meyering  <meyering@redhat.com>
54404         utimensat: do not reference an out-of-scope buffer
54405         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
54406         declared in an inner scope, yet "times" would be dereferenced outside
54407         the scope in which "ts" was valid.
54408         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
54409         of ts[2] "out/up", so that the use of aliased "times" (via
54410         "times = ts;") does not end up referencing an out-of-scope "ts"
54412         opendir-safer.c: don't clobber errno; don't close negative FD
54413         * lib/opendir-safer.c (opendir_safer):
54414         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
54415         file descriptor, and more importantly, don't clobber the
54416         offending errno value with EINVAL.  Before, upon failure
54417         of dup_safer, we would pass the negative file descriptor to
54418         fdopendir, which would clobber errno.
54420 2011-05-23  Bruno Haible  <bruno@clisp.org>
54422         idcache: Fix module description.
54423         * modules/idcache (Include): Set to "idcache.h".
54425 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54427         gnulib-tool: fix portability problem with MacOS sed
54428         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
54429         before the "}".  Problem reported by Leo in
54430         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
54431         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
54432         sed_extract_condition1, sed_extract_condition2.
54434 2011-05-23  Bruno Haible  <bruno@clisp.org>
54436         hash: Simplify autoconf macro.
54437         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
54439 2011-05-23  Bruno Haible  <bruno@clisp.org>
54441         getugroups: Fix module description.
54442         * modules/getugroups (Include): Set to "getugroups.h".
54444 2011-05-23  Bruno Haible  <bruno@clisp.org>
54446         linkat: Simplify autoconf macro.
54447         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
54449 2011-05-23  Bruno Haible  <bruno@clisp.org>
54450             Eric Blake  <eblake@redhat.com>
54452         linkat, renameat: Update dependencies.
54453         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
54454         * modules/linkat (Depends-on): Likewise. Remove also readlink,
54455         symlinkat.
54457 2011-05-23  Jim Meyering  <meyering@redhat.com>
54459         maint.mk: more tight_scope improvements
54460         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
54461         (_gl_TS_headers): Define only in if-0'd block.
54462         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
54463         sometimes we must *not* use it.  Adjust uses accordingly.
54464         (sc_tight_scope): Use much simpler grep-based test to determine
54465         whether we skip this rule.
54467         maint.mk: generalize/improve the tight-scope rule
54468         * top/maint.mk: Emit a warning when the test is skipped.
54469         (_gl_TS_dir): Add $(srcdir)/ prefix.
54470         (_gl_TS_function_match): Simplify, rather than trying
54471         to enumerate common types.  Otherwise, it would fail to match an
54472         "extern unsigned char const *" declaration in idutils.
54473         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
54474         a way to support use of that type of macro.
54475         (_gl_TS_var_match): Simplify regexp.
54476         (_gl_TS_obj_files): New configurable variable.
54477         (_gl_TS_headers): Likewise.
54479 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54481         verify: fix bug when gnulib <assert.h> is also included
54482         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
54483         is defined, not if _GL_STATIC_ASSERT_H is not defined.
54484         Perhaps there's a better way, but this fixes the immediate problem.
54485         Problem reported by Bruno Haible in
54486         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
54488 2011-05-22  Bruno Haible  <bruno@clisp.org>
54490         xgetcwd: Simplify autoconf macro.
54491         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
54493 2011-05-22  Bruno Haible  <bruno@clisp.org>
54495         New module 'mktime-internal'.
54496         * modules/mktime-internal: New file.
54497         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
54498         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
54499         mktime_internal as a C macro if libc has __mktime_internal.
54500         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
54501         conditions.
54502         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
54504 2011-05-22  Bruno Haible  <bruno@clisp.org>
54506         timegm: Correct mktime replacement statements.
54507         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
54508         defining mktime as a C macro. This completes a 2009-07-28 commit.
54510 2011-05-22  Bruno Haible  <bruno@clisp.org>
54512         timegm: Simplify autoconf macro.
54513         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
54515 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
54517         clock-time: change to LGPLv2+.
54518         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
54519         BSD-like but we have no mark for that; this is good enough for now.
54521 2011-05-21  Bruno Haible  <bruno@clisp.org>
54523         strerror_r: Fix comments.
54524         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
54526 2011-05-21  Bruno Haible  <bruno@clisp.org>
54528         relocatable-prog-wrapper: Fix possible link error.
54529         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
54530         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
54531         (gl_FUNC_SETENV): ... to here.
54532         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
54533         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
54535 2011-05-21  Bruno Haible  <bruno@clisp.org>
54537         relocatable-prog-wrapper: Assume strerror() exists.
54538         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
54539         m4/strerror.m4.
54540         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
54541         * lib/relocwrapper.c: Remove mention of strerror module.
54542         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
54543         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
54544         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
54545         C macro.
54547 2011-05-21  Bruno Haible  <bruno@clisp.org>
54549         select: Simplify replacement idiom.
54550         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
54551         Win32 platforms.
54552         * lib/sys_select.in.h (select): Simplify accordingly.
54553         * modules/select (Depends-on): Likewise.
54555 2011-05-21  Bruno Haible  <bruno@clisp.org>
54557         mkdir-p: Simplify autoconf macro.
54558         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
54559         gl_FUNC_LCHOWN.
54561 2011-05-21  Eric Blake  <eblake@redhat.com>
54563         strerror_r: avoid clobbering strerror on cygwin
54564         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
54565         fall back instead to sys_errlist.
54566         * modules/strerror (configure.ac): Add witness.
54567         * tests/test-strerror_r.c (main): Enhance test.
54568         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
54569         * tests/test-perror2.c (main): Free memory before exit.
54571 2011-05-21  Bruno Haible  <bruno@clisp.org>
54573         mkdtemp: Use gnulib naming conventions.
54574         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
54575         * modules/mkdtemp (configure.ac): Update.
54577 2011-05-20  Eric Blake  <eblake@redhat.com>
54579         strerror_r: avoid corrupting errno on Solaris
54580         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
54581         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
54583         strerror_r: avoid compiler warning
54584         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
54586         strerror_r: simplify AIX code
54587         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
54589         test-perror: avoid spurious failure on FreeBSD
54590         * modules/perror-tests (Depends-on): Add strerror, now that
54591         strerror_r no longer pulls it in.
54593 2011-05-20  Bruno Haible  <bruno@clisp.org>
54595         strerror_r-posix: Remove unused dependencies.
54596         * modules/strerror_r-posix (Depends-on): Remove strerror.
54597         Reported by Eric Blake.
54599 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
54601         intprops: remove assumption about A|B representation
54602         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
54603         is a valid integer if both A and B are.  Although this is true for
54604         all known practical hosts, the C standard doesn't guarantee it,
54605         and the code need not assume it.  Also, this change may work around
54606         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
54607         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
54609 2011-05-20  Eric Blake  <eblake@redhat.com>
54611         perror: work around FreeBSD bug
54612         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
54613         is broken.  Move AC_LIBOBJ...
54614         * modules/perror (configure.ac): Here.
54615         * doc/posix-functions/perror.texi (perror): Document this.
54616         * tests/test-perror2.c (main): Enhance test.
54618         test-perror: check for strerror interactions
54619         * tests/macros.h (STREQ): Add macro.
54620         * modules/perror-tests (Files): Add second test.
54621         * tests/test-perror2.c (main): New file.
54622         * doc/posix-functions/perror.texi (perror): Document glibc bug.
54624         test-perror: rewrite to use init script
54625         * modules/perror-tests (Files): Add init.sh.
54626         * tests/test-perror.sh: Use temporary directory.
54628 2011-05-20  Jim Meyering  <meyering@redhat.com>
54630         maint: replace misused "a" with "an"
54631         * doc/intprops.texi: "a integer"
54632         * doc/regex.texi: "a explanation"
54633         * lib/alignof.h: "a object"
54634         * lib/argmatch.h: "a explanation"
54635         * lib/argp-help.c: "a option" and "a OPTION_DOC"
54636         * lib/stdint.in.h: "a integer"
54637         * lib/userspec.c: "a owner"
54638         * doc/gnulib.texi: Fix "a idea", and reword.
54640 2011-05-19  Jim Meyering  <meyering@redhat.com>
54642         maint: correct misuse of "a" and "an"
54643         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
54644         * lib/argp-help.c: "an docum...": s/an/a/
54645         * lib/argp-parse.c: "An vector": s/An/A/
54646         * lib/execute.c: "an native": s/an/a/
54647         * lib/spawn-pipe.c: Likewise.
54648         * lib/gc.h: "an Gc_rc": s/an/a/
54649         * lib/unigbrk.in.h: "an grapheme": s/an/a/
54650         * lib/fts.c: "an stat.st_dev": s/an/a/
54652 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54654         intprops-tests: work around HP-UX 11.23 cc bug with constants
54655         * tests/test-intprops.c (VERIFY): New macro.
54656         (main): Use it, instead of verify, to work around the compiler bug; see
54657         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54659         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
54660         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
54661         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
54662         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
54663         (_GL_REMAINDER_OVERFLOW): Use it.
54665         intprops-tests: revert unsigned part of previous change
54666         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
54667         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
54668         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
54669         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
54671 2011-05-19  Bruno Haible  <bruno@clisp.org>
54673         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
54674         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
54675         strerror_r() returned without filling the buffer.
54676         Reported by Eric Blake.
54678 2011-05-19  Eric Blake  <eblake@redhat.com>
54680         strerror_r: guarantee unchanged errno
54681         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
54682         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
54683         failure.
54684         * tests/test-strerror_r.c (main): Enhance test.
54686 2011-05-19  Bruno Haible  <bruno@clisp.org>
54688         strerror_r: Reorder #if blocks.
54689         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
54690         for consistency with the previous commit.
54692 2011-05-19  Bruno Haible  <bruno@clisp.org>
54694         perror: Avoid clobbering the strerror buffer when possible.
54695         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
54696         * lib/strerror.c: Include it.
54697         * modules/strerror (Files): Add lib/strerror-impl.h.
54698         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
54699         (my_strerror): New function, defined through lib/strerror-impl.h.
54700         (perror): Use it instead of strerror.
54701         * modules/perror (Files): Add lib/strerror-impl.h.
54702         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
54704 2011-05-19  Eric Blake  <eblake@redhat.com>
54706         strerror_r: fix on newer cygwin
54707         * lib/strerror_r.c (strerror_r): Cygwin now has
54708         __xpg_strerror_r, use it.
54710 2011-05-19  Bruno Haible  <bruno@clisp.org>
54712         strerror_r: Avoid clobbering the strerror buffer when possible.
54713         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
54714         (sys_nerr, sys_errlist): New declarations.
54715         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
54716         HP-UX, native Win32, IRIX, and 32-bit Solaris.
54717         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
54719 2011-05-19  Bruno Haible  <bruno@clisp.org>
54721         strerror_r: Fix test failure on mingw.
54722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
54723         EXTEND_STRERROR_R.
54724         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
54725         macros from errno.in.h instead.
54727 2011-05-19  Eric Blake  <eblake@redhat.com>
54729         strerror: relax test for Solaris
54730         * tests/test-strerror.c (main): Permit Solaris behavior.
54731         * tests/test-strerror_r.c (main): Likewise.
54733         strerror: enforce POSIX ruling on strerror(0)
54734         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
54735         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
54736         * lib/strerror_r.c (rpl_strerror_r): Work around it.
54737         * doc/posix-functions/strerror.texi (strerror): Document it.
54738         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
54739         * tests/test-strerror.c (main): Strengthen test.
54740         * tests/test-strerror_r.c (main): Likewise.
54742 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54744         intprop-tests: port to older and more-pedantic compilers
54745         * modules/intprops-tests (Files): Add tests/macros.h.
54746         * tests/test-intprops.c: Include macros.h.
54747         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
54748         it's no longer documented to expand to an integer constant expression.
54749         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
54750         argument is floating point, as it's no longer documented to expand
54751         to an integer constant expression in that case.
54752         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
54753         compiler bugs reported by Bruno Haible.  See
54754         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54755         (U0, U1): New constants, to work around the same bugs.  Also,
54756         in tests, use e.g., "(unsigned int) 39" rather than "39u".
54758         intprops: work around C compiler bugs
54759         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
54760         bug in Sun C 5.11 2010/08/13 and other compilers; see
54761         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
54763         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
54764         * doc/intprops.texi (Integer Type Determination): Fix
54765         documentation for TYPE_IS_INTEGER: it returns an constant
54766         expression, not an integer constant expression.  Fix doc for
54767         TYPE_SIGNED: it returns an integer constant expression only if its
54768         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
54769         hardly worth documented that way....)
54771 2011-05-18  Bruno Haible  <bruno@clisp.org>
54773         strerror_r: Avoid clobbering the strerror buffer when possible.
54774         * lib/strerror_r.c (strerror_r): Merge the three implementations.
54775         Handle gnulib defined errno values here. When strerror() returns NULL
54776         or an empty string, return EINVAL.
54777         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
54778         gnulib defined errno values here.
54779         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
54781 2011-05-18  Eric Blake  <eblake@redhat.com>
54783         fnmatch: avoid compiler warning
54784         * lib/fnmatch_loop.c (FCT): Use correct type.
54785         Reported by Matthias Bolte.
54787 2011-05-13  Jim Meyering  <meyering@redhat.com>
54789         maint.mk: three new prohibit_<HDR>_without_use rules
54790         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
54791         (sc_prohibit_stdio-safer_without_use): Likewise.
54792         (sc_prohibit_xfreopen_without_use): Likewise.
54794 2011-05-17  Jim Meyering  <meyering@redhat.com>
54796         announce-gen: fail if the NEWS delta is empty
54797         If there's nothing noteworthy in NEWS, then either you forgot
54798         or you shouldn't be releasing.
54799         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
54801 2011-05-17  Pádraig Brady  <P@draigBrady.com>
54803         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
54804         reserved symbols starting with double underscore from the check.
54806 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54808         intprops: add doc
54809         * doc/intprops.texi: New file, documenting intprops.
54810         * doc/gnulib.texi (Particular Modules): Include it.
54812         verify: add doc to gnulib manual and fix example
54813         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
54814         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
54815         (Compile-time Assertions): Fix example so it can't overflow.
54817 2011-05-17  Jim Meyering  <meyering@redhat.com>
54819         warnings.m4: don't usurp save_CPPFLAGS variable name
54820         * m4/warnings.m4: Prefix local temporary variable name with gl_.
54822         doc: fix typo
54823         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
54825 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54826             Bruno Haible  <bruno@clisp.org>
54828         doc: Tweak recent change.
54829         * README (Portability guidelines): Tweak new text.
54830         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
54831         Interix 6.1.
54833 2011-05-16  Eric Blake  <eblake@redhat.com>
54835         inttypes: avoid autoconf warning
54836         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
54837         * m4/stdint.m4 (gl_STDINT_H): Likewise.
54839 2011-05-16  Sam Steingold  <sds@gnu.org>
54840         and Eric Blake  <eblake@redhat.com>
54842         vc-list-files: accept multiple directory operands
54843         * build-aux/vc-list-files: Iterate over all remaining operands.
54845 2011-05-16  Bruno Haible  <bruno@clisp.org>
54847         Fix confusion regarding deprecated modules.
54848         * modules/calloc (Status, Notice): Mark module as deprecated, not
54849         obsolete.
54850         * modules/fnmatch-posix (Status, Notice): Likewise.
54851         * modules/getdate (Status, Notice): Likewise.
54852         * modules/getopt (Status, Notice): Likewise.
54853         * modules/malloc (Status, Notice): Likewise.
54854         * modules/pipe (Status, Notice): Likewise.
54855         * modules/realloc (Status, Notice): Likewise.
54856         * modules/rename-dest-slash (Status, Notice): Likewise.
54857         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
54858         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
54859         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
54860         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
54861         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
54863 2011-05-16  Bruno Haible  <bruno@clisp.org>
54865         doc: List the target platforms.
54866         * doc/gnulib-intro.texi (Target Platforms): New section.
54867         * doc/gnulib.texi (Introduction): Update menu.
54868         * README (Portability guidelines): Refer to the new section. Update
54869         statement about oldest supported environment. Remove rationale why
54870         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
54871         unportable C89 function.
54872         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
54873         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
54875 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54877         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
54879 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54881         intprops-tests: new module
54882         * modules/intprops-tests, tests/test-intprops.c: New files.
54884         intprops: add safe, portable integer overflow checking
54885         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
54886         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
54887         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
54888         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
54889         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
54890         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
54891         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
54892         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
54893         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
54894         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
54895         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
54897 2011-05-12  James Youngman  <jay@gnu.org>
54899         Add a test for glibc's Bugzilla bug #12378.
54900         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
54901         doesn't allow the literal matching of a lone "[" (which is
54902         required by POSIX).
54903         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
54905 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
54907         Sync glibc change fixing Bugzilla bug #12378.
54908         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
54909         beginning and fall back to matching as normal character if the
54910         string ends before the matching ']' is found.  This is what POSIX
54911         requires.
54913 2011-05-13  Eric Blake  <eblake@redhat.com>
54915         getcwd-lgpl: relax test for FreeBSD
54916         * doc/posix-functions/getcwd.texi (getcwd): Document portability
54917         issue.
54918         * tests/test-getcwd-lgpl.c (main): Relax test.
54919         Reported by Matthias Bolte.
54921 2011-05-11  Eric Blake  <eblake@redhat.com>
54923         test-fflush: silence compiler warning
54924         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
54926 2011-05-11  Bruno Haible  <bruno@clisp.org>
54928         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
54929         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
54930         * modules/canonicalize (Depends-on): Add 'nocrash'.
54931         * modules/canonicalize-lgpl (Depends-on): Likewise.
54932         * doc/posix-functions/realpath.texi: Update platforms list.
54933         Reported by Ryan Schmidt <ryandesign@macports.org>.
54935 2011-05-11  Bruno Haible  <bruno@clisp.org>
54937         group-member: Declare function in <unistd.h>.
54938         * lib/unistd.in.h (group_member): New declaration.
54939         * lib/group-member.h: Remove file.
54940         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
54941         * tests/test-unistd-c++.cc: Check signature of group_member.
54942         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
54943         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
54944         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
54945         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
54946         HAVE_GROUP_MEMBER.
54947         * modules/group-member (Files): Remove lib/group-member.h.
54948         (Depends-on): Add unistd. Specify conditions.
54949         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54950         (Include): Change to <unistd.h>.
54951         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
54952         HAVE_GROUP_MEMBER.
54953         * NEWS: Mention the change.
54954         * lib/euidaccess.c: Don't include group-member.h.
54956 2011-05-11  Bruno Haible  <bruno@clisp.org>
54958         group-member: Document module.
54959         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
54960         module.
54962 2011-05-11  Bruno Haible  <bruno@clisp.org>
54964         fclose: Fix mistake earlier today.
54965         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
54967 2011-05-11  Eric Blake  <eblake@redhat.com>
54969         fclose: preserve fflush errors
54970         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
54971         Reported by Jim Meyering.
54973         bootstrap: support a prereq of 'rpcgen -' on RHEL5
54974         * build-aux/bootstrap (check_versions): When no specific version
54975         is required, merely check that the app produces an exit status
54976         that indicates its existence.
54978         maint.mk: drop redundant check
54979         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
54980         the same but better.
54982 2011-05-11  Bruno Haible  <bruno@clisp.org>
54984         fclose: Fix possible link error.
54985         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
54986         unregister_shadow_fd. Improve comments.
54987         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
54988         Eric Blake.
54990 2011-05-11  Jim Meyering  <meyering@redhat.com>
54992         maint.mk: improve "can not" detection and generalize rule name
54993         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
54994         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
54995         Use the same technique as in sc_prohibit_doubled_word, so that
54996         we recognize "can not" also when the words are separated by a newline.
54997         Suggested by Eric Blake.
54998         (perl_filename_lineno_text_): Define.  Factored out of...
54999         (prohibit_doubled_word_): ...here.  Use the new definition.
55000         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
55001         (prohibit_undesirable_word_seq_RE_): New overridable variable.
55002         (ignore_undesirable_word_sequence_RE_): New overridable variable.
55004 2011-05-10  Eric Blake  <eblake@redhat.com>
55006         fclose: avoid double close race when possible
55007         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
55008         all but WINDOWS_SOCKETS.
55010 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
55012         openat: correct new comment
55013         * lib/openat-proc.c (openat_proc_name): Correct the comment.
55015 2011-05-10  Jim Meyering  <meyering@redhat.com>
55017         openat: add comments
55018         * lib/openat-proc.c (openat_proc_name): Add comments,
55019         mostly from Eric Blake.
55021 2011-05-09  Eric Blake  <eblake@redhat.com>
55023         openat: reduce syscalls in first probe of /proc
55024         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
55025         be a directory.  Simplify the probe for .. bugs.
55026         * modules/openat (Depends-on): Drop same-inode.
55027         Reported by Bastien ROUCARIES.
55029 2011-05-09  Jim Meyering  <meyering@redhat.com>
55031         maint.mk: change semantics/name of tight_scope variables
55032         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
55033         Rename variables to align with semantics that make them more useful.
55035         maint.mk: tweak new rule's name not to impinge
55036         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
55037         (sc_tight_scope): Use new rule name rather than $@-0.
55039         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
55040         * top/maint.mk (sc_tight_scope): New rule.
55041         (sc_tight_scope-0): New rule, ifdef'd out.
55042         (_gl_TS_dir): Default.
55043         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
55044         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
55046 2011-05-09  Simon Josefsson  <simon@josefsson.org>
55048         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
55049         Haible <bruno@clisp.org>.
55051 2011-05-08  Bruno Haible  <bruno@clisp.org>
55053         Comments.
55054         * m4/isnanf.m4: Add comment.
55055         * m4/isnanl.m4: Likewise.
55057 2011-05-08  Bruno Haible  <bruno@clisp.org>
55059         glob: Remove obsolete macro.
55060         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
55062 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55064         intprops: Sun C 5.11 supports __typeof__
55065         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
55066         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
55067         which is new.
55068         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
55070         intprops: switch to usual gnulib indenting and naming
55071         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
55072         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
55074         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
55076 2011-05-08  Jim Meyering  <meyering@redhat.com>
55078         maint.mk: suppress "Entering/Leaving directory" diag in announcement
55079         * top/maint.mk (release-prep): Use make's --no-print-directory
55080         option when generating the announcement.  This eliminates the
55081         pesky "make[2]: Entering/Leaving directory" diagnostics in the
55082         generated announcement template.
55084 2011-05-08  Bruno Haible  <bruno@clisp.org>
55086         tzset: Fix gettimeofday wrapper on Solaris 2.6.
55087         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
55088         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
55090 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55092         ignore-value, verify: Omit include files from lib_SOURCES.
55093         * modules/ignore-value, modules/verify (Makefile.am):
55094         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
55095         that leads Automake to duplicate use of am__objects_... variables
55096         in Makefile.in.  See
55097         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
55099 2011-05-07  Bruno Haible  <bruno@clisp.org>
55101         fclose: Simplify autoconf macro.
55102         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
55103         defined.
55105 2011-05-07  Bruno Haible  <bruno@clisp.org>
55107         canonicalize-lgpl: Fix autoconf macro ordering bug.
55108         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
55109         gl_STDLIB_H_DEFAULTS.
55111 2011-05-06  Eric Blake  <eblake@redhat.com>
55113         maintainer-makefile: make sc_po_check easier to tune
55114         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
55115         to probe for strings, such as an alternate location for gnulib.
55117         fclose: guarantee behavior on seekable stdin
55118         * modules/fclose (Depends-on): Add fflush.
55119         * doc/posix-functions/fclose.texi (fclose): Document this.
55120         * tests/test-fclose.c (main): Make test for this unconditional.
55122 2011-05-06  Bruno Haible  <bruno@clisp.org>
55124         fflush, fpurge: Relicense under LGPLv2+.
55125         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
55126         * modules/fpurge (License): Likewise.
55127         With permission from Eric Blake and Jim Meyering.
55128         Suggested by Eric Blake.
55130 2011-05-06  Karl Berry  <karl@gnu.org>
55132         * MODULES.html.sh (func_all_modules): remove exit.
55134 2011-05-06  Jim Meyering  <meyering@redhat.com>
55136         maint.mk: use info-gnu@ as the default only for a stable release
55137         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
55138         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
55139         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
55140         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
55142 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55144         assert-h: new module, which supports C1X-style static_assert
55145         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
55146         * lib/verify.h: Revamp so that this can be copied into assert.h,
55147         while retaining the ability to use it standalone as before.
55148         Rename private identifiers so as not to encroach on the
55149         standard C namespace, since this is now used by assert.h.
55150         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
55151         the old verify_true.
55152         (_GL_VERIFY_TRUE): New macro, with much of the contents of
55153         the old verify_true.  Use _GL_VERIFY_TYPE.
55154         (_GL_VERIFY): New macro, with much of the contents of the old verify.
55155         (static_assert): New macro, if _GL_STATIC_ASSERT_H
55156         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
55157         defined when this file is copied into the replacement assert.h.
55158         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
55159         and _Static_assert is not built in.
55160         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
55161         defined, and use the new macros mentioned above.
55162         * doc/posix-headers/assert.texi: Document this.
55164 2011-05-05  Bruno Haible  <bruno@clisp.org>
55166         fclose, fflush: Respect rules for use of AC_LIBOBJ.
55167         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
55168         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
55169         gl_REPLACE_FCLOSE here.
55170         * modules/fflush (Depends-on): Remove fclose.
55171         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
55172         combination with module 'fclose'.
55174 2011-05-05  Bruno Haible  <bruno@clisp.org>
55176         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
55177         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
55178         gl_FUNC_FFLUSH.
55179         (gl_FUNC_FFLUSH): Use it.
55180         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
55181         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
55182         gl_REPLACE_FSEEKO here.
55184 2011-05-05  Bruno Haible  <bruno@clisp.org>
55186         tzset: Relicense under LGPL.
55187         * modules/tzset (License): Change to LGPL.
55188         No agreement needed; it's a no-op.
55190         strtoimax, strtoumax: Relicense under LGPL.
55191         * modules/strtoimax (License): Change to LGPL.
55192         * modules/strtoumax (License): Likewise.
55193         With permission from Jim Meyering, Paul Eggert:
55194         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
55195         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
55197         getgroups: Relicense under LGPL.
55198         * modules/getgroups (License): Change to LGPL.
55199         With permission from Jim Meyering, Paul Eggert, Eric Blake:
55200         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55201         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55202         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55204         nanosleep: Relicense under LGPL.
55205         * modules/nanosleep (License): Change to LGPL.
55206         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
55207         Haible:
55208         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55209         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55210         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55211         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55213         futimens: Relicense under LGPL.
55214         * modules/futimens (License): Change to LGPL.
55215         With permission from Eric Blake:
55216         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55218         fflush: Relicense under LGPL.
55219         * modules/fflush (License): Change to LGPL.
55220         With permission from Eric Blake, Bruno Haible, Jim Meyering:
55221         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55222         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55223         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
55225         tmpfile: Relicense under LGPL.
55226         * modules/tmpfile (License): Change to LGPL.
55227         With permission from Ben Pfaff:
55228         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55230         isfinite: Relicense under LGPL.
55231         * modules/isfinite (License): Change to LGPL.
55232         With permission from Ben Pfaff, Bruno Haible:
55233         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55234         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
55236         acosl..tanl: Relicense under LGPL.
55237         * modules/acosl (License): Change to LGPL.
55238         * modules/asinl (License): Likewise.
55239         * modules/atanl (License): Likewise.
55240         * modules/cosl (License): Likewise.
55241         * modules/expl (License): Likewise.
55242         * modules/logl (License): Likewise.
55243         * modules/sinl (License): Likewise.
55244         * modules/sqrtl (License): Likewise.
55245         * modules/tanl (License): Likewise.
55246         Source code originally from glibc and Paolo Bonzini. Agreements:
55247         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
55248         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
55250 2011-05-05  Bruno Haible  <bruno@clisp.org>
55252         signal: Define sighandler_t.
55253         * lib/signal.in.h (sighandler_t): New type.
55254         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
55255         whether sighandler_t is defined.
55256         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
55257         * modules/signal (Depends-on): Add extensions.
55258         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
55259         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
55260         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
55262 2011-05-05  Eric Blake  <eblake@redhat.com>
55264         maint: remove useless REPLACE_*_H macros
55265         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
55266         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
55267         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
55268         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
55269         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
55270         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
55271         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
55272         * m4/btowc.m4: Update callers.
55273         * m4/dirfd.m4: Likewise.
55274         * m4/duplocale.m4: Likewise.
55275         * m4/fchdir.m4: Likewise.
55276         * m4/fdopendir.m4: Likewise.
55277         * m4/inet_ntop.m4: Likewise.
55278         * m4/inet_pton.m4: Likewise.
55279         * m4/ioctl.m4: Likewise.
55280         * m4/mbrlen.m4: Likewise.
55281         * m4/mbrtowc.m4: Likewise.
55282         * m4/mbsinit.m4: Likewise.
55283         * m4/mbsnrtowcs.m4: Likewise.
55284         * m4/mbsrtowcs.m4: Likewise.
55285         * m4/poll.m4: Likewise.
55286         * m4/setlocale.m4: Likewise.
55287         * m4/wcrtomb.m4: Likewise.
55288         * m4/wcsnrtombs.m4: Likewise.
55289         * m4/wcsrtombs.m4: Likewise.
55290         * m4/wctob.m4: Likewise.
55291         * m4/wcwidth.m4: Likewise.
55292         * modules/posix_spawn: Likewise.
55293         * modules/posix_spawn_file_actions_addclose: Likewise.
55294         * modules/posix_spawn_file_actions_adddup2: Likewise.
55295         * modules/posix_spawn_file_actions_addopen: Likewise.
55296         * modules/posix_spawn_file_actions_destroy: Likewise.
55297         * modules/posix_spawn_file_actions_init: Likewise.
55298         * modules/posix_spawnattr_destroy: Likewise.
55299         * modules/posix_spawnattr_getflags: Likewise.
55300         * modules/posix_spawnattr_getpgroup: Likewise.
55301         * modules/posix_spawnattr_getschedparam: Likewise.
55302         * modules/posix_spawnattr_getschedpolicy: Likewise.
55303         * modules/posix_spawnattr_getsigdefault: Likewise.
55304         * modules/posix_spawnattr_getsigmask: Likewise.
55305         * modules/posix_spawnattr_init: Likewise.
55306         * modules/posix_spawnattr_setflags: Likewise.
55307         * modules/posix_spawnattr_setpgroup: Likewise.
55308         * modules/posix_spawnattr_setschedparam: Likewise.
55309         * modules/posix_spawnattr_setschedpolicy: Likewise.
55310         * modules/posix_spawnattr_setsigdefault: Likewise.
55311         * modules/posix_spawnattr_setsigmask: Likewise.
55312         * modules/posix_spawnp: Likewise.
55314 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
55316         Add option to do-release-commit-and-tag to specify branch.
55317         * build-aux/do-release-commit-and-tag: Add --branch.
55319 2011-05-03  Bruno Haible  <bruno@clisp.org>
55321         Avoid unnecessary compilation units, through conditional dependencies.
55322         * modules/accept (Depends-on): Add conditions to the dependencies.
55323         * modules/acosl (Depends-on): Likewise.
55324         * modules/argz (Depends-on): Likewise.
55325         * modules/asinl (Depends-on): Likewise.
55326         * modules/atanl (Depends-on): Likewise.
55327         * modules/atoll (Depends-on): Likewise.
55328         * modules/bind (Depends-on): Likewise.
55329         * modules/btowc (Depends-on): Likewise.
55330         * modules/canonicalize-lgpl (Depends-on): Likewise.
55331         * modules/ceil (Depends-on): Likewise.
55332         * modules/ceilf (Depends-on): Likewise.
55333         * modules/ceill (Depends-on): Likewise.
55334         * modules/chdir-long (Depends-on): Likewise.
55335         * modules/chown (Depends-on): Likewise.
55336         * modules/close (Depends-on): Likewise.
55337         * modules/connect (Depends-on): Likewise.
55338         * modules/cosl (Depends-on): Likewise.
55339         * modules/dirfd (Depends-on): Likewise.
55340         * modules/dprintf (Depends-on): Likewise.
55341         * modules/dprintf-posix (Depends-on): Likewise.
55342         * modules/error (Depends-on): Likewise.
55343         * modules/euidaccess (Depends-on): Likewise.
55344         * modules/expl (Depends-on): Likewise.
55345         * modules/faccessat (Depends-on): Likewise.
55346         * modules/fchdir (Depends-on): Likewise.
55347         * modules/fclose (Depends-on): Likewise.
55348         * modules/fcntl (Depends-on): Likewise.
55349         * modules/fdopendir (Depends-on): Likewise.
55350         * modules/fflush (Depends-on): Likewise.
55351         * modules/floor (Depends-on): Likewise.
55352         * modules/floorf (Depends-on): Likewise.
55353         * modules/floorl (Depends-on): Likewise.
55354         * modules/fnmatch (Depends-on): Likewise.
55355         * modules/fopen (Depends-on): Likewise.
55356         * modules/fprintf-posix (Depends-on): Likewise.
55357         * modules/frexp (Depends-on): Likewise.
55358         * modules/frexp-nolibm (Depends-on): Likewise.
55359         * modules/frexpl (Depends-on): Likewise.
55360         * modules/frexpl-nolibm (Depends-on): Likewise.
55361         * modules/fseek (Depends-on): Likewise.
55362         * modules/fsusage (Depends-on): Likewise.
55363         * modules/ftell (Depends-on): Likewise.
55364         * modules/ftello (Depends-on): Likewise.
55365         * modules/futimens (Depends-on): Likewise.
55366         * modules/getcwd (Depends-on): Likewise.
55367         * modules/getcwd-lgpl (Depends-on): Likewise.
55368         * modules/getdelim (Depends-on): Likewise.
55369         * modules/getdomainname (Depends-on): Likewise.
55370         * modules/getgroups (Depends-on): Likewise.
55371         * modules/gethostname (Depends-on): Likewise.
55372         * modules/getline (Depends-on): Likewise.
55373         * modules/getlogin_r (Depends-on): Likewise.
55374         * modules/getopt-posix (Depends-on): Likewise.
55375         * modules/getpeername (Depends-on): Likewise.
55376         * modules/getsockname (Depends-on): Likewise.
55377         * modules/getsockopt (Depends-on): Likewise.
55378         * modules/getsubopt (Depends-on): Likewise.
55379         * modules/getusershell (Depends-on): Likewise.
55380         * modules/glob (Depends-on): Likewise.
55381         * modules/grantpt (Depends-on): Likewise.
55382         * modules/iconv_open (Depends-on): Likewise.
55383         * modules/iconv_open-utf (Depends-on): Likewise.
55384         * modules/inet_ntop (Depends-on): Likewise.
55385         * modules/inet_pton (Depends-on): Likewise.
55386         * modules/ioctl (Depends-on): Likewise.
55387         * modules/isapipe (Depends-on): Likewise.
55388         * modules/isfinite (Depends-on): Likewise.
55389         * modules/isinf (Depends-on): Likewise.
55390         * modules/lchown (Depends-on): Likewise.
55391         * modules/ldexpl (Depends-on): Likewise.
55392         * modules/link (Depends-on): Likewise.
55393         * modules/linkat (Depends-on): Likewise.
55394         * modules/listen (Depends-on): Likewise.
55395         * modules/logl (Depends-on): Likewise.
55396         * modules/lstat (Depends-on): Likewise.
55397         * modules/mbrlen (Depends-on): Likewise.
55398         * modules/mbrtowc (Depends-on): Likewise.
55399         * modules/mbsinit (Depends-on): Likewise.
55400         * modules/mbsnrtowcs (Depends-on): Likewise.
55401         * modules/mbsrtowcs (Depends-on): Likewise.
55402         * modules/mbtowc (Depends-on): Likewise.
55403         * modules/memcmp (Depends-on): Likewise.
55404         * modules/mkdir (Depends-on): Likewise.
55405         * modules/mkdtemp (Depends-on): Likewise.
55406         * modules/mkfifo (Depends-on): Likewise.
55407         * modules/mkfifoat (Depends-on): Likewise.
55408         * modules/mknod (Depends-on): Likewise.
55409         * modules/mkostemp (Depends-on): Likewise.
55410         * modules/mkostemps (Depends-on): Likewise.
55411         * modules/mkstemp (Depends-on): Likewise.
55412         * modules/mkstemps (Depends-on): Likewise.
55413         * modules/mktime (Depends-on): Likewise.
55414         * modules/nanosleep (Depends-on): Likewise.
55415         * modules/open (Depends-on): Likewise.
55416         * modules/openat (Depends-on): Likewise.
55417         * modules/perror (Depends-on): Likewise.
55418         * modules/poll (Depends-on): Likewise.
55419         * modules/popen (Depends-on): Likewise.
55420         * modules/posix_spawn (Depends-on): Likewise.
55421         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
55422         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55423         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55424         * modules/posix_spawnp (Depends-on): Likewise.
55425         * modules/pread (Depends-on): Likewise.
55426         * modules/printf-posix (Depends-on): Likewise.
55427         * modules/ptsname (Depends-on): Likewise.
55428         * modules/putenv (Depends-on): Likewise.
55429         * modules/pwrite (Depends-on): Likewise.
55430         * modules/readline (Depends-on): Likewise.
55431         * modules/readlink (Depends-on): Likewise.
55432         * modules/readlinkat (Depends-on): Likewise.
55433         * modules/recv (Depends-on): Likewise.
55434         * modules/recvfrom (Depends-on): Likewise.
55435         * modules/regex (Depends-on): Likewise.
55436         * modules/remove (Depends-on): Likewise.
55437         * modules/rename (Depends-on): Likewise.
55438         * modules/renameat (Depends-on): Likewise.
55439         * modules/rmdir (Depends-on): Likewise.
55440         * modules/round (Depends-on): Likewise.
55441         * modules/roundf (Depends-on): Likewise.
55442         * modules/roundl (Depends-on): Likewise.
55443         * modules/rpmatch (Depends-on): Likewise.
55444         * modules/select (Depends-on): Likewise.
55445         * modules/send (Depends-on): Likewise.
55446         * modules/sendto (Depends-on): Likewise.
55447         * modules/setenv (Depends-on): Likewise.
55448         * modules/setlocale (Depends-on): Likewise.
55449         * modules/setsockopt (Depends-on): Likewise.
55450         * modules/shutdown (Depends-on): Likewise.
55451         * modules/sigaction (Depends-on): Likewise.
55452         * modules/signbit (Depends-on): Likewise.
55453         * modules/sigprocmask (Depends-on): Likewise.
55454         * modules/sinl (Depends-on): Likewise.
55455         * modules/sleep (Depends-on): Likewise.
55456         * modules/snprintf (Depends-on): Likewise.
55457         * modules/snprintf-posix (Depends-on): Likewise.
55458         * modules/socket (Depends-on): Likewise.
55459         * modules/sprintf-posix (Depends-on): Likewise.
55460         * modules/sqrtl (Depends-on): Likewise.
55461         * modules/stat (Depends-on): Likewise.
55462         * modules/strchrnul (Depends-on): Likewise.
55463         * modules/strdup-posix (Depends-on): Likewise.
55464         * modules/strerror (Depends-on): Likewise.
55465         * modules/strerror_r-posix (Depends-on): Likewise.
55466         * modules/strndup (Depends-on): Likewise.
55467         * modules/strnlen (Depends-on): Likewise.
55468         * modules/strptime (Depends-on): Likewise.
55469         * modules/strsep (Depends-on): Likewise.
55470         * modules/strsignal (Depends-on): Likewise.
55471         * modules/strstr-simple (Depends-on): Likewise.
55472         * modules/strtod (Depends-on): Likewise.
55473         * modules/strtoimax (Depends-on): Likewise.
55474         * modules/strtok_r (Depends-on): Likewise.
55475         * modules/strtoumax (Depends-on): Likewise.
55476         * modules/symlink (Depends-on): Likewise.
55477         * modules/symlinkat (Depends-on): Likewise.
55478         * modules/tanl (Depends-on): Likewise.
55479         * modules/tcgetsid (Depends-on): Likewise.
55480         * modules/tmpfile (Depends-on): Likewise.
55481         * modules/trunc (Depends-on): Likewise.
55482         * modules/truncf (Depends-on): Likewise.
55483         * modules/truncl (Depends-on): Likewise.
55484         * modules/uname (Depends-on): Likewise.
55485         * modules/unlink (Depends-on): Likewise.
55486         * modules/unlockpt (Depends-on): Likewise.
55487         * modules/unsetenv (Depends-on): Likewise.
55488         * modules/usleep (Depends-on): Likewise.
55489         * modules/utimensat (Depends-on): Likewise.
55490         * modules/vasprintf (Depends-on): Likewise.
55491         * modules/vdprintf (Depends-on): Likewise.
55492         * modules/vdprintf-posix (Depends-on): Likewise.
55493         * modules/vfprintf-posix (Depends-on): Likewise.
55494         * modules/vprintf-posix (Depends-on): Likewise.
55495         * modules/vsnprintf (Depends-on): Likewise.
55496         * modules/vsnprintf-posix (Depends-on): Likewise.
55497         * modules/vsprintf-posix (Depends-on): Likewise.
55498         * modules/wcrtomb (Depends-on): Likewise.
55499         * modules/wcscasecmp (Depends-on): Likewise.
55500         * modules/wcscspn (Depends-on): Likewise.
55501         * modules/wcsdup (Depends-on): Likewise.
55502         * modules/wcsncasecmp (Depends-on): Likewise.
55503         * modules/wcsnrtombs (Depends-on): Likewise.
55504         * modules/wcspbrk (Depends-on): Likewise.
55505         * modules/wcsrtombs (Depends-on): Likewise.
55506         * modules/wcsspn (Depends-on): Likewise.
55507         * modules/wcsstr (Depends-on): Likewise.
55508         * modules/wcstok (Depends-on): Likewise.
55509         * modules/wcswidth (Depends-on): Likewise.
55510         * modules/wctob (Depends-on): Likewise.
55511         * modules/wctomb (Depends-on): Likewise.
55512         * modules/wctype (Depends-on): Likewise.
55513         * modules/wcwidth (Depends-on): Likewise.
55514         * modules/write (Depends-on): Likewise.
55516 2011-05-03  Bruno Haible  <bruno@clisp.org>
55518         Support for conditional dependencies.
55519         * doc/gnulib.texi (Module description): Document the syntax of
55520         conditional dependencies.
55521         * gnulib-tool: New option --conditional-dependencies.
55522         (func_usage): Document it.
55523         (cond_dependencies): New variable.
55524         (func_get_automake_snippet_conditional,
55525         func_get_automake_snippet_unconditional): New functions, extracted from
55526         func_get_automake_snippet.
55527         (func_get_automake_snippet): Use them.
55528         (sed_first_32_chars): New variable.
55529         (func_module_shellfunc_name): New function.
55530         (func_module_shellvar_name): New function.
55531         (func_module_conditional_name): New function.
55532         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
55533         func_cond_module_condition): New functions.
55534         (func_modules_transitive_closure): Add support for conditional
55535         dependencies.
55536         (func_emit_lib_Makefile_am): For a conditional module, enclose the
55537         conditional automake snippet in an automake conditional.
55538         (func_emit_autoconf_snippets): Emit shell functions that contain the
55539         code for conditional modules.
55540         (func_import, func_create_testdir): Update specification.
55542 2011-05-03  Eric Blake  <eblake@redhat.com>
55544         test-getaddrinfo: report error information
55545         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
55547 2011-05-03  Jim Meyering  <meyering@redhat.com>
55549         bootstrap: avoid build failure when $GZIP is set
55550         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
55551         program name.  If defined at all, it is supposed to list gzip options.
55552         Reported by Alan Curry in http://debbugs.gnu.org/8609
55554 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
55556         readme-release: new module with release instructions
55557         * modules/readme-release: New module.
55558         * top/README-release: New file, from coreutils, grep, diffutils.
55559         * MODULES.html.sh (Support for maintaining and releasing): Add it.
55561 2011-05-02  Eric Blake  <eblake@redhat.com>
55563         fflush: also replace fclose when fixing fflush
55564         * modules/fflush (Depends-on): Add fclose.
55565         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
55566         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
55567         memstreams with no backing fd.
55568         * doc/posix-functions/fclose.texi (fclose): Document the use of
55569         fflush module to fix the bug.
55570         * tests/test-fclose.c (main): Relax test when fclose is used in
55571         isolation.
55573         fclose: add some tests
55574         * modules/fclose-tests: New test module.
55575         * tests/test-fclose.c: New file.
55576         * doc/posix-functions/fclose.texi (fclose): Document the bug.
55578         fclose: reduced dependencies
55579         * modules/fclose (Depends-on): Switch from fflush/fseeko to
55580         simpler lseek.
55581         * lib/fclose.c (rpl_fclose): Likewise.
55582         Reported by Simon Josefsson.
55584         exit: drop remaining clients
55585         * modules/argmatch (Depends-on): Replace exit with stdlib.
55586         * modules/copy-file (Depends-on): Likewise.
55587         * modules/execute (Depends-on): Likewise.
55588         * modules/exitfail (Depends-on): Likewise.
55589         * modules/obstack (Depends-on): Likewise.
55590         * modules/pagealign_alloc (Depends-on): Likewise.
55591         * modules/pipe-filter-gi (Depends-on): Likewise.
55592         * modules/pipe-filter-ii (Depends-on): Likewise.
55593         * modules/savewd (Depends-on): Likewise.
55594         * modules/spawn-pipe (Depends-on): Likewise.
55595         * modules/wait-process (Depends-on): Likewise.
55596         * modules/xsetenv (Depends-on): Likewise.
55597         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
55598         * modules/git-merge-changelog (Depends-on): Likewise.
55599         * modules/long-options (Depends-on): Likewise.
55600         * modules/pt_chown (Depends-on): Likewise.
55601         * modules/sysexits (Depends-on): Likewise.
55603         freading: relax license from LGPLv3+ to LGPLv2+
55604         * modules/freading (License): Relax LGPL version.
55606 2011-05-02  Bruno Haible  <bruno@clisp.org>
55608         fchdir: Remove unused dependencies.
55609         * modules/fchdir (Depends-on): Remove include_next.
55611 2011-05-02  Bruno Haible  <bruno@clisp.org>
55613         gnulib-tool: Refactor.
55614         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
55615         from func_emit_autoconf_snippets.
55616         (func_emit_autoconf_snippets): Use it.
55618 2011-05-02  Simon Josefsson  <simon@josefsson.org>
55620         * NEWS: Document removal of 'exit'.
55621         * modules/exit: Remove file.
55623 2011-05-01  Bruno Haible  <bruno@clisp.org>
55625         Update DEPENDENCIES.
55626         * DEPENDENCIES (gettext): Recommend the newest release.
55627         Reported by Simon Josefsson.
55629 2011-05-01  Bruno Haible  <bruno@clisp.org>
55631         gnulib-tool: Reduce code duplication.
55632         * gnulib-tool (func_emit_autoconf_snippets): New function.
55633         (func_import, func_create_testdir): Use it.
55635 2011-04-30  Eric Blake  <eblake@redhat.com>
55637         fclose: don't fail on non-seekable input stream
55638         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
55639         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
55640         since fflush is allowed to fail in that case.
55642 2011-04-30  Bruno Haible  <bruno@clisp.org>
55644         dup3: cleanup
55645         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
55647 2011-04-30  Bruno Haible  <bruno@clisp.org>
55649         netdb: Make it work in C++ mode.
55650         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
55651         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
55652         module.
55653         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
55654         gl_MODULE_INDICATOR_FOR_TESTS.
55655         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
55656         * modules/netdb-c++-tests: New file.
55657         * tests/test-netdb-c++.cc: New file.
55659 2011-04-30  Bruno Haible  <bruno@clisp.org>
55661         New modules 'vfscanf', 'vscanf'.
55662         * modules/vfscanf: New file.
55663         * modules/vscanf: New file.
55664         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
55665         here.
55666         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
55667         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
55669 2011-04-30  Bruno Haible  <bruno@clisp.org>
55671         passfd: Add comments.
55672         * lib/passfd.c: Add comments about platforms.
55674 2011-04-30  Bruno Haible  <bruno@clisp.org>
55676         sys_uio: Make <sys/uio.h> self-contained.
55677         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
55678         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
55680 2011-04-30  Bruno Haible  <bruno@clisp.org>
55682         sys_socket: Ensure 'struct iovec' definition.
55683         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
55684         <sys/socket.h>.
55685         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
55687 2011-04-30  Bruno Haible  <bruno@clisp.org>
55689         sys_uio: Protect definition of 'struct iovec'.
55690         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
55691         it as a C struct.
55693 2011-04-30  Bruno Haible  <bruno@clisp.org>
55695         manywarnings: fix indentation
55696         * m4/manywarnings.m4: Indent by 2 spaces consistently.
55698 2011-04-30  Pádraig Brady  <P@draigBrady.com>
55700         manywarnings: add -Wno-missing-field-initializers if needed.
55701         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
55702         option if it's needed to allow initialization with { 0, }
55704 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
55706         announce-gen: cosmetic improvement
55707         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
55709 2011-04-29  Jim Meyering  <meyering@redhat.com>
55711         vc-list-files: indent with spaces, not TABs
55712         * build-aux/vc-list-files: Convert leading TABs to spaces,
55713         to match the style of most other files in gnulib.
55715         announce-gen: indent with spaces, not TABs
55716         * build-aux/announce-gen: Convert all TABs to spaces, to match
55717         the style of most other files in gnulib.
55719 2011-04-29  Eric Blake  <eblake@redhat.com>
55721         quotearg: avoid uninitialized variable use
55722         * lib/quotearg.c (quoting_options_from_style): Initialize
55723         remaining fields, and ensure that custom styles are only used via
55724         quoting_options rather than quoting_style.
55726 2011-04-29  Jim Meyering  <meyering@redhat.com>
55728         maint.mk: remove unused VC-tag variable
55729         * top/maint.mk (VC-tag): Remove unused variable.
55731 2011-04-29  Bruno Haible  <bruno@clisp.org>
55733         netdb: fix gai_strerror replacements
55734         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
55735         * modules/netdb: Substitute it.
55737 2011-04-29  Jim Meyering  <meyering@redhat.com>
55739         test-getcwd.c: avoid new set-but-not-used warning
55740         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
55741         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
55742         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
55743         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
55745         test-hash.c: avoid a new shadowing warning
55746         * tests/test-hash.c (main): Don't shadow "dup".
55748 2011-04-28  Eric Blake  <eblake@redhat.com>
55750         getaddrinfo: fix gai_strerror signature
55751         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
55752         and work around mingw with UNICODE defined.
55753         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
55754         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
55755         * modules/netdb (Makefile.am): Substitute it.
55756         * lib/netdb.in.h (gai_strerror): Declare replacement.
55757         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
55758         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
55759         the fix.
55761         getsockopt: avoid compiler warning
55762         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
55763         Reported by Matthias Bolte.
55765         tests: drop unused link dependency
55766         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
55767         * modules/dirent-safer-tests (Makefile.am): Likewise.
55768         * modules/fdopendir-tests (Makefile.am): Likewise.
55769         * modules/mkfifoat-tests (Makefile.am): Likewise.
55770         * modules/openat-safer-tests (Makefile.am): Likewise.
55771         * modules/openat-tests (Makefile.am): Likewise.
55772         * modules/readlinkat-tests (Makefile.am): Likewise.
55773         * modules/symlinkat-tests (Makefile.am): Likewise.
55774         * modules/linkat-tests (Makefile.am): Likewise.
55775         (Depends-on): Switch to filenamecat-lgpl.
55776         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
55777         LIBINTL.
55778         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
55779         * tests/test-linkat.c (main): Don't require xalloc.
55781         hash, mgetgroups: drop xalloc dependency
55782         * lib/hash.c (includes): Adjust includes.
55783         * lib/mgetgroups.c (includes): Likewise.
55784         (xgetgroups): Move...
55785         * lib/xgetgroups.c: ...to new file.
55786         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
55787         * modules/xgetgroups: New file, split from...
55788         * modules/mgetgroups: ...here.
55789         (Depends-on): Add xalloc-oversized.
55790         * modules/hash (Depends-on): Likewise.
55791         * modules/hash-tests (Depends-on): Drop xalloc.
55792         (test_hash_LDADD): Drop unused library.
55793         * tests/test-hash.c (main): Break xalloc dependency.
55794         (includes): Drop unused include.
55796         xalloc-oversized: new module
55797         * modules/xalloc-oversized: New module.
55798         * modules/xalloc (Depends-on): Add it.
55799         * lib/xalloc.h (xalloc_oversized): Move...
55800         * lib/xalloc-oversized.h: ...into new file.
55802         utimecmp: drop dependency on xmalloc
55803         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
55804         due to memory pressure.
55805         * modules/utimecmp (Depends-on): Drop xalloc.
55807 2011-04-27  Eric Blake  <eblake@redhat.com>
55809         getcwd: fix mingw bugs
55810         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
55811         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
55812         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
55814 2011-04-27  Bruno Haible  <bruno@clisp.org>
55816         mkstemps: Ensure declaration on MacOS X 10.5.
55817         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
55818         * doc/glibc-functions/mkstemps.texi: Document header file problem on
55819         MacOS X.
55821 2011-04-27  Bruno Haible  <bruno@clisp.org>
55823         mkstemp: More documentation.
55824         * doc/posix-functions/mkstemp.texi: Document header file problem on
55825         MacOS X.
55827 2011-04-27  Bruno Haible  <bruno@clisp.org>
55829         mkstemp: Tweak configure message when cross-compiling.
55830         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
55831         result as a guess.
55833 2011-04-27  Bruno Haible  <bruno@clisp.org>
55835         clean-temp: Clarify what it does.
55836         * lib/clean-temp.h: Add more comments.
55837         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
55838         module.
55839         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
55840         * doc/glibc-functions/mkstemps.texi: Likewise.
55841         * doc/glibc-functions/mkostemps.texi: Likewise.
55843 2011-04-27  Eric Blake  <eblake@redhat.com>
55845         fchdir: avoid extra chdir and fix test
55846         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
55847         getcwd-lgpl.
55848         * lib/fchdir.c (get_name): Any absolute name will do; it does not
55849         have to be canonical.
55850         (canonicalize_file_name): Drop unused macro.
55851         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
55853         filenamecat-lgpl: fix licence
55854         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
55855         when it was first created.
55857         linkat, renameat: add missing dependency
55858         * modules/linkat (Depends-on): Require getcwd-lgpl.
55859         * modules/renameat (Depends-on): Likewise.
55861         tests: reduce dependencies
55862         * tests/test-linkat.c (main): Use lighter-weight getcwd.
55863         * tests/test-renameat.c (main): Likewise.
55864         * modules/linkat-tests (Depends-on): Relax dependency.
55865         * modules/renameat-tests (Depends-on): Likewise.
55866         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
55867         dependency explicit.
55869         save-cwd: reduce default dependency
55870         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
55871         * lib/save-cwd.c: Update comments.
55872         * NEWS: Document the semantic change.
55874         getcwd: enhance tests
55875         * tests/test-getcwd-lgpl.c: New file, taken from...
55876         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
55877         repeat long path stress tests from m4 probe.
55878         * modules/getcwd-lgpl-tests: New module.
55879         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
55880         * m4/getcwd-abort-bug.m4: Update comment.
55881         * m4/getcwd-path-max.m4: Likewise.
55883         getcwd-lgpl: new module
55884         * modules/getcwd-lgpl: New module.
55885         * lib/getcwd-lgpl.c: New file.
55886         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55887         * MODULES.html.sh (lacking POSIX:2008): Likewise.
55888         * modules/getcwd (configure.ac): Set C witness.
55889         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
55891         getcwd: tweak comments
55892         * m4/getcwd-abort-bug.m4: Fix comments.
55893         * m4/getcwd-path-max.m4: Likewise.
55894         * m4/getcwd.m4: Likewise.
55896 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
55897         and Eric Blake  <eblake@redhat.com>
55899         mkstemp: replace if system version uses wrong permissions
55900         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
55901         read/write mode bits set in file created by mkstemp.
55902         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
55904 2011-04-27  Eric Blake  <eblake@redhat.com>
55906         passfd: avoid compiler warning
55907         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
55908         Reported by Laine Stump.
55910 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
55912         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
55913         required by the NetBSD (and perhaps other 4.4BSD derived) join.
55915 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
55916         and Eric Blake  <eblake@redhat.com>
55918         mkstemp: mention clean-temp module
55919         * lib/mkstemp.c: Add comment.
55920         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
55922 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
55924         inttypes: also provide default values for 32-bit tests
55925         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
55926         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
55928 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
55930         strtoumax: remove dependency on strtoimax
55931         This is like the strtoull change of yesterday.
55932         * modules/strtoumax (Files): Add lib/strtoimax.c.
55933         (Depends-on): Remove strtoimax and add verify.
55935         inttypes-incomplete: new module
55936         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
55937         all but the PRI* and SCN* parts of gl_INTTYPES_H.
55938         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
55939         of gl_INTTYPES_H.
55940         (gl_INTTYPES_H): Rewrite in terms of these new macros.
55941         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
55942         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
55943         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
55944         * modules/strtoumax, modules/xstrtol (Depends-on):
55945         Depend on inttypes-incomplete, not inttypes.
55946         * modules/inttypes-incomplete: New module, containing the contents
55947         of the old modules/inttypes module, except that the Files: section
55948         omits m4/inttypes-pri.m4, and the configure.ac section invokes
55949         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
55950         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
55951         (Depends-on): Depend only on inttypes-incomplete.
55952         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
55954         inttypes: omit now-redundant strtoimax and strtoumax work
55955         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
55956         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
55958         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
55959         This supports apps that need pointers to strtoimax and strtoumax,
55960         and ports to HP-UX 11.00 64.bit, which has macros that expand to
55961         nonexistent functions.  See
55962         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
55963         et seq.
55964         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
55965         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
55966         a macro.
55967         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
55969 2011-04-25  Simon Josefsson  <simon@josefsson.org>
55971         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
55973 2011-04-25  Bruno Haible  <bruno@clisp.org>
55975         strtol, strtoul: Mark modules as obsolete.
55976         * modules/strtol (Status, Notice): New sections.
55977         * modules/strtoul (Status, Notice): New sections.
55979 2011-04-25  Bruno Haible  <bruno@clisp.org>
55981         strtod: Remove check for strtod, unless supporting old platforms.
55982         * modules/strtod-obsolete: New file.
55983         * m4/strtod-obsolete.m4: New file.
55984         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
55985         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
55986         * modules/strtod (Depends-on): Add strtod-obsolete.
55987         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
55989 2011-04-25  Bruno Haible  <bruno@clisp.org>
55991         strcase: Make module obsolete.
55992         * modules/strcase (Status, Notice): New sections.
55994 2011-04-25  Bruno Haible  <bruno@clisp.org>
55996         dup2: Remove check for dup2, unless supporting old obsolete platforms.
55997         * modules/dup2-obsolete: New file.
55998         * m4/dup2-obsolete.m4: New file.
55999         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
56000         gl_FUNC_DUP2_OBSOLETE is not also defined.
56001         * modules/dup2 (Depends-on): Add dup2-obsolete.
56002         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
56004 2011-04-25  Bruno Haible  <bruno@clisp.org>
56006         strnlen: Avoid memchr related link error on old obsolete platforms.
56007         * modules/memchr-obsolete: New file.
56008         * m4/memchr-obsolete.m4: New file.
56009         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
56010         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
56011         * modules/memchr (Depends-on): Add memchr-obsolete.
56012         * modules/strnlen (Depends-on): Likewise.
56013         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
56015 2011-04-25  Jim Meyering  <meyering@redhat.com>
56017         maint.mk: makefile_at_at_check extend and clean up
56018         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
56019         in addition to */Makefile.am.
56020         Exempt legitimate uses of @VAR@ notation, e.g.,
56021         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
56022         Remove obsolete coreutils-specific comment.
56023         Prompted by discussion here:
56024         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
56026 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56028         strtoul: remove dependency on strtol
56029         This is so that 'configure' need not check for strtol merely because
56030         the application needs strtoul.
56031         * modules/strtoul (Files): Add lib/strtol.c.
56032         (Depends-on): Remove strtol.
56034         strtoull: remove dependency on strtoul
56035         This is like the strtoll change.
56036         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
56037         (Depends-on): Remove strtoul.
56039         strtoll: remove dependency on strtol
56040         This is so that 'configure' need not check for strtol merely because
56041         the application needs strtoll.
56042         * modules/strtoll (Files): Add lib/strtol.c.
56043         (Depends-on): Remove strtol.
56045 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56047         inttypes: Move some configure check to module 'imaxdiv'.
56048         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
56049         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
56050         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
56052 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56054         inttypes: Move some configure check to module 'imaxabs'.
56055         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
56056         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
56057         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
56059 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56061         inttypes: Remove configure tests that are not needed since 2009-12-31.
56062         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
56063         gl_cv_header_working_inttypes_h.
56065 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56067         * modules/strnlen (Depends-on): Remove memchr.
56068         The strnlen implementation doesn't need the memchr module's fixes; see
56069         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
56071         strtol: remove dependency on wchar
56072         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
56073         * modules/strtol (Depends-on): Remove wchar.
56075 2011-04-21  Eric Blake  <eblake@redhat.com>
56077         passfd: fix test regression on Linux
56078         * modules/passfd-tests (configure.ac): Correct socketpair check.
56080         passfd: speed up configure and drop unused code
56081         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
56082         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
56083         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
56084         Instead of probing at configure for unix_scm_rights_bsd44_way,
56085         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
56086         check to a struct member probe.
56087         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
56088         (sendfd, recvfd): Update preprocessor checks.
56089         * modules/passfd (Files): Reflect rename, and drop unused file.
56090         (Depends-on): Drop unused dependency.
56092         passfd: allow compilation on mingw
56093         * modules/sys_socket (Depends-on): Add sys_uio.
56094         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
56095         iovec and a minimal struct msghdr.
56096         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
56097         * tests/test-sys_socket.c (main): Enhance test.
56098         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
56099         guaranteed to provide what we need.
56100         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
56101         * modules/passfd-tests (Depends-on): Add sys_wait.
56102         * tests/test-passfd.c (main): Skip test on mingw, for now.
56103         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
56104         partial 'struct msghdr' implementation.
56106         sys_uio: new module
56107         * modules/sys_uio: New module.
56108         * modules/sys_uio-tests: Likewise.
56109         * lib/sys_uio.in.h: New file.
56110         * m4/sys_uio_h.m4: Likewise.
56111         * tests/test-sys_uio.c: Likewise.
56112         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
56113         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
56115 2011-04-20  Jim Meyering  <meyering@redhat.com>
56117         useless-if-before-free: avoid false-positive
56118         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
56119         disjunct so that it too requires a terminating ";".  Without that,
56120         this script would identify as useless one statement from gcc that
56121         was not:
56122           if (aligned_ptr)
56123             free (((void **) aligned_ptr) [-1]);
56125 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
56127         doc: update users.txt.
56128         * users.txt: Add barcode.
56130 2011-04-19  Bruno Haible  <bruno@clisp.org>
56132         ioctl: Remove link dependency on native Windows.
56133         * lib/fd-hook.h: Renamed from lib/close-hook.h.
56134         (gl_close_fn, gl_ioctl_fn): New types.
56135         (struct fd_hook): Renamed from struct close_hook. Change type of
56136         private_close_fn field. Add private_ioctl_fn field.
56137         (close_hook_fn): Add parameter for primary close method.
56138         (execute_close_hooks, execute_all_close_hooks): Likewise.
56139         (ioctl_hook_fn): New type.
56140         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
56141         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56142         argument.
56143         (unregister_fd_hook): Renamed from unregister_close_hook.
56144         * lib/fd-hook.c: Renamed from lib/close-hook.c.
56145         Don't include <unistd.h>.
56146         (close): Remove undef.
56147         (anchor): Update.
56148         (execute_close_hooks): Add argument for primary close method.
56149         (execute_all_close_hooks): Likewise.
56150         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
56151         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56152         argument. Allow each argument to be NULL.
56153         (unregister_fd_hook): Renamed from unregister_close_hook.
56154         * lib/close.c (rpl_close): Pass 'close' function pointer to
56155         execute_all_close_hooks.
56156         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
56157         (primary_ioctl): New function.
56158         (ioctl): Don't call ioctlsocket here. Instead, call
56159         execute_all_ioctl_hooks.
56160         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
56161         close method.
56162         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
56163         (fd_sockets_hook): Renamed from close_sockets_hook.
56164         (gl_sockets_startup, gl_sockets_cleanup): Update.
56165         * modules/fd-hook: Renamed from modules/close-hook. Update.
56166         * modules/close (Depends-on): Add fd-hook, remove close-hook.
56167         * modules/sockets (Depends-on): Likewise.
56168         * modules/ioctl (Depends-on): Add fd-hook.
56169         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
56170         GNULIB_SOCKET.
56172 2011-04-19  Bruno Haible  <bruno@clisp.org>
56174         Move the support of O_NONBLOCK in open() to the 'open' module.
56175         * modules/nonblocking (Depends-on): Remove 'open'.
56176         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
56177         gl_cv_have_open_O_NONBLOCK.
56178         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
56179         O_NONBLOCK support.
56180         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
56182 2011-04-17  Bruno Haible  <bruno@clisp.org>
56184         pipe2: Simplify code.
56185         * lib/pipe2.c (pipe2): Reduce code duplication.
56187 2011-04-17  Bruno Haible  <bruno@clisp.org>
56189         nonblocking: Add comment.
56190         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
56192 2011-04-17  Bruno Haible  <bruno@clisp.org>
56194         nonblocking: Add tests for sockets.
56195         * tests/test-nonblocking-socket.sh: New file.
56196         * tests/test-nonblocking-socket-main.c: New file.
56197         * tests/test-nonblocking-socket-child.c: New file.
56198         * tests/test-nonblocking-socket.h: New file.
56199         * tests/socket-server.h: New file.
56200         * tests/socket-client.h: New file.
56201         * modules/nonblocking-socket-tests: New file.
56202         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
56204 2011-04-17  Bruno Haible  <bruno@clisp.org>
56206         nonblocking: Add tests for pipes.
56207         * tests/test-nonblocking-pipe.sh: New file.
56208         * tests/test-nonblocking-pipe-main.c: New file.
56209         * tests/test-nonblocking-pipe-child.c: New file.
56210         * tests/test-nonblocking-pipe.h: New file.
56211         * tests/test-nonblocking-writer.h: New file.
56212         * tests/test-nonblocking-reader.h: New file.
56213         * tests/test-nonblocking-misc.h: New file.
56214         * modules/nonblocking-pipe-tests: New file.
56215         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
56217 2011-04-16  Bruno Haible  <bruno@clisp.org>
56219         gettext: Clarify the needed programmer actions.
56220         * modules/gettext (Notice): New field.
56221         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56223 2011-04-16  Bruno Haible  <bruno@clisp.org>
56225         strchrnul: Tweak last commit.
56226         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
56227         bug.
56228         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
56229         as in _GL_FUNCDECL_SYS.
56230         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
56231         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
56233 2011-04-15  Eric Blake  <eblake@redhat.com>
56235         strchrnul: work around cygwin bug
56236         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
56237         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
56238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
56239         * modules/string (Makefile.am): Substitute it.
56240         * lib/string.in.h (strchrnul): Use it.
56242 2011-04-15  Bruno Haible  <bruno@clisp.org>
56244         Don't require lib/stdio-write.c when only module 'stdio' is used.
56245         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
56246         invocation.
56247         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
56249 2011-04-14  Bruno Haible  <bruno@clisp.org>
56251         Support non-blocking pipe I/O in read() on native Windows.
56252         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
56253         (read): New declaration.
56254         * lib/read.c: New file.
56255         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
56256         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
56257         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
56258         vscanf): New declarations.
56259         * lib/stdio-read.c: New file.
56260         * m4/read.m4: New file.
56261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
56262         REPLACE_READ.
56263         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
56264         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56265         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
56266         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
56267         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
56268         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56269         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56270         * modules/read: New file.
56271         * modules/nonblocking (Files): Add lib/stdio-read.c.
56272         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
56273         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
56274         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56275         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56276         * modules/pread (Depends-on): Add read.
56277         * modules/safe-read (Depends-on): Likewise.
56278         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
56279         gets, scanf, vfscanf, vscanf): Verify signatures.
56280         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
56281         problem with non-blocking pipes.
56282         * doc/posix-functions/fgetc.texi: Likewise.
56283         * doc/posix-functions/fgets.texi: Likewise.
56284         * doc/posix-functions/fread.texi: Likewise.
56285         * doc/posix-functions/fscanf.texi: Likewise.
56286         * doc/posix-functions/getc.texi: Likewise.
56287         * doc/posix-functions/getchar.texi: Likewise.
56288         * doc/posix-functions/gets.texi: Likewise.
56289         * doc/posix-functions/scanf.texi: Likewise.
56290         * doc/posix-functions/vfscanf.texi: Likewise.
56291         * doc/posix-functions/vscanf.texi: Likewise.
56293 2011-04-14  Bruno Haible  <bruno@clisp.org>
56295         Support non-blocking pipe I/O in write() on native Windows.
56296         * lib/write.c (rpl_write): Split a write request that failed merely
56297         because the byte count was larger than the pipe buffer's size.
56298         * doc/posix-functions/write.texi: Mention the problem with large byte
56299         counts.
56301 2011-04-14  Bruno Haible  <bruno@clisp.org>
56303         wchar: Ensure that wchar_t gets defined on uClibc.
56304         * lib/wchar.in.h: On uClibc, include <stddef.h>.
56305         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
56307 2011-04-13  Bruno Haible  <bruno@clisp.org>
56309         safe-write, full-read: Avoid unnecessary compilation units.
56310         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
56311         (Depends-on): Remove safe-read. Add ssize_t.
56312         * modules/full-read (Files): Add lib/full-write.c.
56313         (Depends-on): Add full-write.
56315 2011-04-13  Bruno Haible  <bruno@clisp.org>
56317         Support non-blocking pipe I/O and SIGPIPE in pwrite().
56318         * modules/pwrite (Depends-on): Add 'write'.
56320 2011-04-13  Bruno Haible  <bruno@clisp.org>
56322         Support non-blocking pipe I/O in write() on native Windows.
56323         * lib/unistd.in.h (write): Enable replacement also if
56324         GNULIB_UNISTD_H_NONBLOCKING is 1.
56325         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
56326         (rpl_write): When failing to write on a non-blocking pipe, change
56327         errno from ENOSPC to EAGAIN.
56328         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
56329         putchar, puts, vfprintf, vprintf): Enable replacement also if
56330         GNULIB_STDIO_H_NONBLOCKING is 1.
56331         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
56332         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
56333         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
56334         CALL_WITH_SIGPIPE_EMULATION.
56335         (CALL_WITH_SIGPIPE_EMULATION): Use them.
56336         * m4/nonblocking.m4: New file.
56337         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
56338         for non-blocking I/O support.
56339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56340         GNULIB_UNISTD_H_NONBLOCKING.
56341         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
56342         required for non-blocking I/O support.
56343         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
56344         * modules/nonblocking (Files): Add m4/nonblocking.m4,
56345         lib/stdio-write.c, m4/asm-underscore.m4.
56346         (Depends-on): Add stdio, unistd.
56347         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
56348         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
56349         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
56350         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
56351         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
56352         problem with non-blocking pipes.
56353         * doc/posix-functions/fputc.texi: Likewise.
56354         * doc/posix-functions/fputs.texi: Likewise.
56355         * doc/posix-functions/fwrite.texi: Likewise.
56356         * doc/posix-functions/printf.texi: Likewise.
56357         * doc/posix-functions/putc.texi: Likewise.
56358         * doc/posix-functions/putchar.texi: Likewise.
56359         * doc/posix-functions/puts.texi: Likewise.
56360         * doc/posix-functions/vfprintf.texi: Likewise.
56361         * doc/posix-functions/vprintf.texi: Likewise.
56362         * doc/posix-functions/write.texi: Likewise.
56364 2011-04-10  Jim Meyering  <meyering@redhat.com>
56366         maint.mk: prohibit doubled words
56367         Detect them also when they're separated by a newline.
56368         There are 3 ways to customize it:
56369           - disable the test on a per file basis, as usual with rules using
56370             $(VC_LIST_EXCEPT)
56371           - replace the default doubled-word-selecting regexp (affects all files)
56372           - ignore a particular file-vs-doubled-word match
56373         I nearly used that last one to ignore the "is is" match in
56374         coreutils' NEWS file, since the text was "ls -is is ..."
56375         To do that, I would have added this line to cfg.mk:
56376           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
56377         but it would have ignored any "is is" match in NEWS.
56378         Low probability, but still...
56379         Instead, I changed the text, slightly:
56380           -  ls -is is now consistent with ls -lis in ignoring values returned
56381           +  "ls -is" is now consistent with ls -lis in ignoring values returned
56382         * top/maint.mk (prohibit_double_word_RE_): Provide default.
56383         (prohibit_doubled_word_): Define.
56384         (sc_prohibit_doubled_word): New rule.
56385         (sc_prohibit_the_the): Remove.  Subsumed by the above.
56387 2011-04-10  Jim Meyering  <meyering@redhat.com>
56389         maint: fix doubled-word typo in comment
56390         * m4/gethostname.m4: s/is is/it is/
56391         * m4/getdomainname.m4: Likewise.
56393 2011-04-10  Jim Meyering  <meyering@redhat.com>
56395         maint: remove doubled word: s/it it/it/
56396         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
56398 2011-04-10  Jim Meyering  <meyering@redhat.com>
56400         maint.mk: remove useless semicolon and backslash
56401         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
56402         semicolon and backslash.
56404 2011-04-10  Bruno Haible  <bruno@clisp.org>
56406         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
56407         * modules/stdint-tests (Depends-on): Add wchar.
56409 2011-04-10  Jim Meyering  <meyering@redhat.com>
56411         maint: remove doubled words in comments, e.g., s/a a/a/
56412         * lib/strptime.c (day_of_the_week): s/the the/the/
56413         * tests/test-chown.h (test_chown): s/a a/a/
56415         test-chown.h: correct a cast
56416         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
56417         when the destination is a stat.st_gid.
56419 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
56421         getaddrinfo: Fix test for sa_len member.
56422         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
56423         include <sys/types.h> before <sys/socket.h>.
56425 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
56427         maint: change "can not" to "cannot"
56428         * doc/posix-functions/iconv.texi (iconv): This one crossed line
56429         boundaries.
56431 2011-04-09  Jim Meyering  <meyering@redhat.com>
56433         maint: change "a a" to "a"
56434         * tests/test-lchown.h (test_lchown): s/a a/a/
56436         maint.mk: prohibit \<the the\>
56437         * top/maint.mk (sc_prohibit_the_the): New rule.
56439         maint: fix "the the" in comment
56440         * lib/count-one-bits.h: s/the the/the/
56442         maint: change "can not" to "cannot"
56443         But do not change the occurrences in maintain.texi or in
56444         build-aux/po/Makefile.in.in, which I presume comes from gettext.
56445         * doc/gnulib-tool.texi: s/can not/cannot/
56446         * doc/posix-functions/accept.texi (accept): Likewise.
56447         * doc/posix-functions/socket.texi (socket): Likewise.
56448         * lib/mbrtowc.c: Likewise.
56450         maint.mk: prohibit use of "can not"
56451         * top/maint.mk (sc_prohibit_can_not): New rule.
56452         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
56454 2011-04-09  Bruno Haible  <bruno@clisp.org>
56456         careadlinkat: Guard against misuse of careadlinkatcwd.
56457         * lib/careadlinkat.c: Include <stdlib.h>.
56458         (careadlinkatcwd): Check that the fd argument is as expected.
56460 2011-04-09  Bruno Haible  <bruno@clisp.org>
56462         careadlinkat: Use common coding style.
56463         * lib/careadlinkat.c: Move gnulib includes after system includes.
56465 2011-04-09  Bruno Haible  <bruno@clisp.org>
56467         careadlinkat: Clarify specification.
56468         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
56469         (careadlinkatcwd): Add comment.
56470         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
56472 2011-04-09  Bruno Haible  <bruno@clisp.org>
56474         areadlinkat: Avoid link error on many platforms.
56475         * modules/areadlinkat (Depends-on): Add areadlink.
56477 2011-04-09  Bruno Haible  <bruno@clisp.org>
56479         allocator, careadlinkat: Fix double-inclusion guard.
56480         * lib/allocator.h: Fix double-inclusion guard.
56481         * lib/careadlinkat.h: Likewise.
56483 2011-04-09  Bruno Haible  <bruno@clisp.org>
56485         relocatable-prog-wrapper: Update after module 'areadlink' changed.
56486         * lib/relocwrapper.c: Update dependencies hierarchy.
56487         * build-aux/install-reloc: Update list of files to be compiled.
56488         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
56489         lib/allocator.[hc].
56491 2011-04-08  Eric Blake  <eblake@redhat.com>
56493         strftime: silence gnulib-tool warning
56494         * modules/strftime-tests (Depends-on): Drop automatic dependency.
56496 2011-04-08  Bruno Haible  <bruno@clisp.org>
56498         verify: Fix syntax error with GCC 4.6 in C++ mode.
56499         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
56500         (HAVE_STATIC_ASSERT): New macro.
56501         (verify_true, verify): Use 'static_assert' if it is supported and
56502         '_Static_assert' is not supported.
56504 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
56506         allocator: New module.
56507         * modules/allocator, lib/allocator.c: New files.
56508         * lib/allocator.h (stdlib_allocator): New decl.
56509         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
56510         Remove.  Do not include <stdlib.h>.
56511         (careadlinkat): Use stdlib_allocator instead of rolling our own.
56512         * modules/careadlinkat (Files): Remove lib/allocator.h.
56513         (Depends-on): Add allocator.
56515         stdlib: let modules use system malloc, realloc
56516         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
56517         if !_GL_USE_STDLIB_ALLOC.
56518         (malloc, realloc): Limit this change to a smaller scope.
56520         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
56521         (malloc, realloc): Don't #undef; no longer needed.
56522         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56523         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56524         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56525         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56526         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56527         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56528         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
56529         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
56531         careadlinkat: rename members to avoid problem
56532         * lib/allocator.h (struct allocator): Rename members from
56533         malloc/realloc to allocate/reallocate, to avoid problems if malloc
56534         and realloc are #define'd.  Reported by Eric Blake in
56535         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
56536         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
56538 2011-04-08  Eric Blake  <eblake@redhat.com>
56540         nonblocking: reduce dependency
56541         * tests/test-nonblocking.c: Only test sockets when in use.
56542         * modules/nonblocking-tests (Depends-on): Drop socket.
56543         (Makefile.am): Link even if sockets are not present.
56544         * modules/pipe2-tests (Makefile.am): Likewise.
56545         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
56547         pipe2: fix O_NONBLOCK support on mingw
56548         * modules/pipe2 (Depends-on): Add nonblocking.
56549         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
56550         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
56551         * tests/test-nonblocking.c (main): Likewise.
56552         * modules/pipe2-tests (Makefile.am): Avoid link failure.
56554         fcntl-h: fix O_ACCMODE on cygwin
56555         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
56556         * lib/fcntl.in.h (O_ACCMODE): Fix it.
56558         pipe-filter: drop O_NONBLOCK workarounds
56559         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
56560         * modules/pipe-filter-ii (Depends-on): Likewise.
56561         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
56563         nonblocking: provide O_NONBLOCK for mingw
56564         * modules/nonblocking (Depends-on): Add open.
56565         (configure.ac): Set new witness macro.
56566         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
56567         * modules/fcntl-h (Makefile.am): Substitute it.
56568         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
56569         nonblocking module is in use.
56570         * lib/nonblocking.c: Adjust portability test.
56571         * lib/open.c (open): Don't let native open see gnulib flag.
56572         * tests/test-fcntl-h.c (main): Enhance test.
56573         * tests/test-open.h (test_open): Likewise.
56574         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
56576         careadlinkat: fix compilation error on mingw
56577         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
56578         within struct allocator.
56580 2011-04-06  Eric Blake  <eblake@redhat.com>
56582         binary-io: relicense under LGPLv2+
56583         * modules/binary-io (License): Relax to LGPLv2+.
56584         Requested for libvirt, and required by pipe2.
56586 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
56588         verify: use _Static_assert if available
56589         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
56590         (verify_true, verify): Use it if available.  This generates better
56591         diagnostics with GCC 4.6.0 and later.
56593 2011-04-05  Bruno Haible  <bruno@clisp.org>
56595         Remove leftover generated .h files after config.status changed.
56597         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
56598         GL_GENERATE_ALLOCA_H.
56599         * modules/alloca-opt (Makefile.am): Remove alloca.h if
56600         GL_GENERATE_ALLOCA_H evaluates to false.
56602         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
56603         GL_GENERATE_ARGZ_H.
56604         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
56605         evaluates to false.
56607         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
56608         GL_GENERATE_BYTESWAP_H.
56609         * modules/byteswap (Makefile.am): Remove byteswap.h if
56610         GL_GENERATE_BYTESWAP_H evaluates to false.
56612         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
56613         GL_GENERATE_ERRNO_H.
56614         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
56615         evaluates to false.
56617         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
56618         GL_GENERATE_FLOAT_H.
56619         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
56620         evaluates to false.
56622         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
56623         GL_GENERATE_FNMATCH_H.
56624         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
56625         GL_GENERATE_FNMATCH_H evaluates to false.
56627         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
56628         GL_GENERATE_GLOB_H.
56629         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
56630         evaluates to false.
56632         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
56633         automake conditional GL_GENERATE_ICONV_H.
56634         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
56635         evaluates to false.
56637         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
56638         GL_GENERATE_NETINET_IN_H.
56639         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
56640         GL_GENERATE_NETINET_IN_H evaluates to false.
56642         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
56643         conditional GL_GENERATE_PTHREAD_H.
56644         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
56645         * modules/pthread (Makefile.am): Remove pthread.h if
56646         GL_GENERATE_PTHREAD_H evaluates to false.
56648         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
56649         GL_GENERATE_SCHED_H.
56650         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
56651         evaluates to false.
56653         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
56654         conditional GL_GENERATE_SELINUX_CONTEXT_H.
56655         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
56656         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
56658         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
56659         GL_GENERATE_STDARG_H.
56660         * modules/stdarg (Makefile.am): Remove stdarg.h if
56661         GL_GENERATE_STDARG_H evaluates to false.
56663         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
56664         GL_GENERATE_STDBOOL_H.
56665         * modules/stdbool (Makefile.am): Remove stdbool.h if
56666         GL_GENERATE_STDBOOL_H evaluates to false.
56668         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
56669         conditional GL_GENERATE_STDDEF_H.
56670         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
56671         * modules/stddef (Makefile.am): Remove stddef.h if
56672         GL_GENERATE_STDDEF_H evaluates to false.
56674         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
56675         GL_GENERATE_STDINT_H.
56676         * modules/stdint (Makefile.am): Remove stdint.h if
56677         GL_GENERATE_STDINT_H evaluates to false.
56679         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
56680         GL_GENERATE_SYSEXITS_H.
56681         * modules/sysexits (Makefile.am): Remove sysexits.h if
56682         GL_GENERATE_SYSEXITS_H evaluates to false.
56684         Reported by Karl Berry and Ralf Wildenhues.
56686 2011-04-05  Bruno Haible  <bruno@clisp.org>
56688         Ensure to rebuild generated .h files when config.status has changed.
56689         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
56690         config.status.
56691         * modules/ctype (Makefile.am): Likewise.
56692         * modules/dirent (Makefile.am): Likewise.
56693         * modules/errno (Makefile.am): Likewise.
56694         * modules/fcntl-h (Makefile.am): Likewise.
56695         * modules/float (Makefile.am): Likewise.
56696         * modules/getopt-posix (Makefile.am): Likewise.
56697         * modules/glob (Makefile.am): Likewise.
56698         * modules/iconv-h (Makefile.am): Likewise.
56699         * modules/inttypes (Makefile.am): Likewise.
56700         * modules/langinfo (Makefile.am): Likewise.
56701         * modules/locale (Makefile.am): Likewise.
56702         * modules/math (Makefile.am): Likewise.
56703         * modules/netdb (Makefile.am): Likewise.
56704         * modules/netinet_in (Makefile.am): Likewise.
56705         * modules/poll-h (Makefile.am): Likewise.
56706         * modules/pthread (Makefile.am): Likewise.
56707         * modules/pty (Makefile.am): Likewise.
56708         * modules/sched (Makefile.am): Likewise.
56709         * modules/search (Makefile.am): Likewise.
56710         * modules/selinux-h (Makefile.am): Likewise.
56711         * modules/signal (Makefile.am): Likewise.
56712         * modules/spawn (Makefile.am): Likewise.
56713         * modules/stdarg (Makefile.am): Likewise.
56714         * modules/stdbool (Makefile.am): Likewise.
56715         * modules/stddef (Makefile.am): Likewise.
56716         * modules/stdint (Makefile.am): Likewise.
56717         * modules/stdio (Makefile.am): Likewise.
56718         * modules/stdlib (Makefile.am): Likewise.
56719         * modules/string (Makefile.am): Likewise.
56720         * modules/strings (Makefile.am): Likewise.
56721         * modules/sys_file (Makefile.am): Likewise.
56722         * modules/sys_ioctl (Makefile.am): Likewise.
56723         * modules/sys_select (Makefile.am): Likewise.
56724         * modules/sys_socket (Makefile.am): Likewise.
56725         * modules/sys_stat (Makefile.am): Likewise.
56726         * modules/sys_time (Makefile.am): Likewise.
56727         * modules/sys_times (Makefile.am): Likewise.
56728         * modules/sys_utsname (Makefile.am): Likewise.
56729         * modules/sys_wait (Makefile.am): Likewise.
56730         * modules/sysexits (Makefile.am): Likewise.
56731         * modules/termios (Makefile.am): Likewise.
56732         * modules/time (Makefile.am): Likewise.
56733         * modules/unistd (Makefile.am): Likewise.
56734         * modules/wchar (Makefile.am): Likewise.
56735         * modules/wctype-h (Makefile.am): Likewise.
56736         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
56738 2011-04-05  Bruno Haible  <bruno@clisp.org>
56740         pipe2: Relicense under LGPLv2+.
56741         * modules/pipe2 (License): Change to LGPLv2+.
56742         Requested by Eric Blake, for libvirt.
56744 2011-04-05  Bruce Korb  <bkorb@gnu.org>
56746         bootstrap: compute gnulib_extra_files after updating build_aux
56747         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
56748         change build_aux or also supply gnulib_extra_files.  Handle correctly.
56750 2011-04-05  Eric Blake  <eblake@redhat.com>
56752         bootstrap: preserve git whitelist item sorting
56753         * build-aux/bootstrap (sort_patterns): New function.
56754         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
56756 2011-04-05  Simon Josefsson  <simon@josefsson.org>
56758         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
56759         sc_space_tab check.
56761 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
56763         areadlink, areadlinkat: rewrite in terms of careadlinkat
56764         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
56765         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
56766         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
56767         (malloc, realloc): Remove #undefs.
56768         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
56769         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
56770         readlink, ssize_t, stdint, unistd.
56771         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
56772         areadlink, stdint.
56774         careadlinkat: new module
56775         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
56776         * modules/careadlinkat: New files, written by me with
56777         a review and feedback from Ben Pfaff in
56778         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
56780 2011-04-01  Bruno Haible  <bruno@clisp.org>
56782         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
56783         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
56784         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
56785         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
56786         Reported by Bruce Korb <bruce.korb@gmail.com>.
56788 2011-04-01  Bruno Haible  <bruno@clisp.org>
56790         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
56791         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
56792         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
56793         * modules/wcpcpy (Depends-on): Add extensions.
56794         * modules/wcpncpy (Depends-on): Likewise.
56795         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
56796         systems.
56797         * doc/posix-functions/wcpncpy.texi: Likewise.
56798         * doc/posix-functions/wcwidth.texi: Likewise.
56800 2011-03-31  Eric Blake  <eblake@redhat.com>
56802         nonblocking: fix mingw test failures
56803         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
56804         non-blocking flag on regular file.
56805         (get_nonblocking_flag): Set errno on invalid fd.
56806         * tests/test-nonblocking.c (main): Avoid test failure on
56807         directories if fchdir is not active.
56808         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
56810 2011-03-31  Bruno Haible  <bruno@clisp.org>
56812         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
56813         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
56814         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
56815         Reported by Simon Josefsson <simon@josefsson.org>.
56817 2011-03-31  Bruno Haible  <bruno@clisp.org>
56818         and Eric Blake  <eblake@redhat.com>
56820         nonblocking: new module
56821         * modules/nonblocking: New module.
56822         * modules/nonblocking-tests: Likewise.
56823         * lib/nonblocking.h: New file.
56824         * lib/nonblocking.c: Likewise.
56825         * tests/test-nonblocking.c: New test.
56826         * lib/ioctl.c (ioctl) [mingw]: Update comment.
56828 2011-03-30  Bruno Haible  <bruno@clisp.org>
56830         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
56831         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
56832         instead of 'printf' format for GCC >= 4.4.
56833         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
56834         (fprintf, printf, vfprintf, vprintf): Declare with
56835         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
56836         the system's vfprintf() function.
56837         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
56839 2011-03-30  Eric Blake  <eblake@redhat.com>
56841         passfd: fix scoping bug
56842         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
56843         before sendmsg/recvmsg.
56845         passfd: standardize coding conventions
56846         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
56847         can be learned at compile time.
56848         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
56849         ifdefs.
56850         (sendfd, recvfd): Follow gnulib code conventions.
56852         passfd: fix incorrect sendmsg arguments
56853         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
56854         incorrect msg_controllen value.
56855         * modules/passfd-tests (Depends-on): Check for alarm.
56856         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
56857         Reported by Bastien ROUCARIES.
56859 2011-03-30  Bruno Haible  <bruno@clisp.org>
56861         c-strcasestr: Relicense under LGPLv2+.
56862         * modules/c-strcasestr (License): Change to LGPLv2+.
56863         Requested by Eric Blake, for libvirt.
56865 2011-03-30  Simon Josefsson  <simon@josefsson.org>
56867         * users.txt: Add libidn2.  Fix libtasn1 link.
56869 2011-03-30  Jim Meyering  <meyering@redhat.com>
56871         tests: readlink* ("",... fails with EINVAL on newer kernels
56872         readlink and readlinkat have typically failed with ENOENT for
56873         the invalid, empty file name,  "".  However, with the advent
56874         of linux-2.6.39, they fail with EINVAL.
56875         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
56876         when operating on the empty file name.
56877         * tests/test-readlink.h (test_readlink): Likewise.
56879 2011-03-29  Bruno Haible  <bruno@clisp.org>
56881         Relicense some modules under LGPLv2+, for libidn2.
56882         * modules/array-mergesort (License): Change to LGPLv2+.
56883         * modules/c-strcaseeq (License): Likewise.
56884         * modules/striconveh (License): Likewise.
56885         * modules/striconveha (License): Likewise.
56886         * modules/uniconv/base (License): Likewise.
56887         * modules/uniconv/u8-conv-from-enc (License): Likewise.
56888         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
56889         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
56890         * modules/unictype/base (License): Likewise.
56891         * modules/unictype/bidiclass-of (License): Likewise.
56892         * modules/unictype/category-M (License): Likewise.
56893         * modules/unictype/category-none (License): Likewise.
56894         * modules/unictype/category-of (License): Likewise.
56895         * modules/unictype/category-test (License): Likewise.
56896         * modules/unictype/category-test-withtable (License): Likewise.
56897         * modules/unictype/combining-class (License): Likewise.
56898         * modules/unictype/joiningtype-of (License): Likewise.
56899         * modules/unictype/scripts (License): Likewise.
56900         * modules/uninorm/base (License): Likewise.
56901         * modules/uninorm/canonical-decomposition (License): Likewise.
56902         * modules/uninorm/composition (License): Likewise.
56903         * modules/uninorm/decompose-internal (License): Likewise.
56904         * modules/uninorm/decomposition-table (License): Likewise.
56905         * modules/uninorm/nfc (License): Likewise.
56906         * modules/uninorm/nfd (License): Likewise.
56907         * modules/uninorm/u32-normalize (License): Likewise.
56908         * modules/unistr/base (License): Likewise.
56909         * modules/unistr/u32-cpy (License): Likewise.
56910         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
56911         * modules/unistr/u32-to-u8 (License): Likewise.
56912         * modules/unistr/u32-uctomb (License): Likewise.
56913         * modules/unistr/u8-check (License): Likewise.
56914         * modules/unistr/u8-mblen (License): Likewise.
56915         * modules/unistr/u8-mbtouc (License): Likewise.
56916         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
56917         * modules/unistr/u8-mbtoucr (License): Likewise.
56918         * modules/unistr/u8-prev (License): Likewise.
56919         * modules/unistr/u8-strlen (License): Likewise.
56920         * modules/unistr/u8-to-u32 (License): Likewise.
56921         * modules/unistr/u8-uctomb (License): Likewise.
56922         * modules/unitypes (License): Likewise.
56923         Requested by Simon Josefsson.
56925 2011-03-29  Simon Josefsson  <simon@josefsson.org>
56927         lib-symbol-visibility: Add a notice.
56928         * modules/lib-symbol-visibility (Notice): New field.
56930 2011-03-29  Bruno Haible  <bruno@clisp.org>
56932         getaddrinfo: Doc fix.
56933         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
56934         section "fixed in Gnulib".
56936 2011-03-28  Simon Josefsson  <simon@josefsson.org>
56938         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
56939         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
56941 2011-03-26  Bruno Haible  <bruno@clisp.org>
56943         unictype/property-byname: Reduce the number of load-time relocations.
56944         * lib/unictype/pr_byname.c: Include <stdlib.h>.
56945         (UC_PROPERTY_INDEX_*): New enumeration values.
56946         (uc_property_byname): Convert an index from the lookup table to an
56947         uc_property_t.
56948         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
56949         values.
56951 2011-03-26  Bruno Haible  <bruno@clisp.org>
56953         unictype/property-byname: Allow omitted word separators and aliases.
56954         * lib/unictype/pr_byname.gperf: Add property names without word
56955         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
56956         for 'space'.
56958 2011-03-26  Bruno Haible  <bruno@clisp.org>
56960         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
56961         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
56962         also hyphens to space.
56963         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
56964         without spaces.
56965         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
56967 2011-03-26  Bruno Haible  <bruno@clisp.org>
56969         unictype/joiningtype-byname: Recognize long names as well.
56970         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
56971         a long name.
56972         * lib/unictype/joiningtype_byname.c: Include <string.h>,
56973         unictype/joiningtype_byname.h.
56974         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
56975         * lib/unictype/joiningtype_byname.gperf: New file.
56976         * modules/unictype/joiningtype-byname (Files): Add
56977         lib/unictype/joiningtype_byname.gperf.
56978         (Depends-on): Add gperf.
56979         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
56980         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
56981         long names.
56983         Tests for module 'unictype/joiningtype-longname'.
56984         * modules/unictype/joiningtype-longname-tests: New file.
56985         * tests/unictype/test-joiningtype_longname.c: New file.
56987         New module 'unictype/joiningtype-longname'.
56988         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
56989         * lib/unictype/joiningtype_longname.c: New file.
56990         * modules/unictype/joiningtype-longname: New file.
56991         * modules/unictype/joiningtype-all (Depends-on): Add
56992         unictype/joiningtype-longname.
56994 2011-03-26  Bruno Haible  <bruno@clisp.org>
56996         unictype/bidiclass-byname: Recognize long names as well.
56997         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
56998         name.
56999         * lib/unictype/bidi_byname.c: Include <string.h>,
57000         unictype/bidi_byname.h.
57001         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
57002         * lib/unictype/bidi_byname.gperf: New file.
57003         * modules/unictype/bidiclass-byname (Files): Add
57004         lib/unictype/bidi_byname.gperf.
57005         (Depends-on): Add gperf.
57006         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
57007         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
57008         long names.
57010         Tests for module 'unictype/bidiclass-longname'.
57011         * modules/unictype/bidiclass-longname-tests: New file.
57012         * tests/unictype/test-bidi_longname.c: New file.
57014         New module 'unictype/bidiclass-longname'.
57015         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
57016         * lib/unictype/bidi_longname.c: New file.
57017         * modules/unictype/bidiclass-longname: New file.
57018         * modules/unictype/bidiclass-all (Depends-on): Add
57019         unictype/bidiclass-longname.
57021 2011-03-26  Bruno Haible  <bruno@clisp.org>
57023         unictype/bidi*: Rename modules.
57024         * modules/unictype/bidiclass-all: Renamed from
57025         modules/unictype/bidicategory-all.
57026         * modules/unictype/bidiclass-name: Renamed from
57027         modules/unictype/bidiclass-name.
57028         (Description): Update.
57029         * modules/unictype/bidiclass-name-tests: Renamed from
57030         modules/unictype/bidicategory-name-tests.
57031         * modules/unictype/bidiclass-byname: Renamed from
57032         modules/unictype/bidicategory-byname.
57033         (Description): Update.
57034         * modules/unictype/bidiclass-byname-tests: Renamed from
57035         modules/unictype/bidicategory-byname-tests.
57036         * modules/unictype/bidiclass-of: Renamed from
57037         modules/unictype/bidicategory-of.
57038         (Description): Update.
57039         * modules/unictype/bidiclass-of-tests: Renamed from
57040         modules/unictype/bidicategory-of-tests.
57041         * modules/unictype/bidiclass-test: Renamed from
57042         modules/unictype/bidicategory-test.
57043         (Description): Update.
57044         * modules/unictype/bidiclass-test-tests: Renamed from
57045         modules/unictype/bidicategory-test-tests.
57046         * modules/unictype/bidicategory-all: New file, a simple redirection.
57047         * modules/unictype/bidicategory-name: Likewise.
57048         * modules/unictype/bidicategory-byname: Likewise.
57049         * modules/unictype/bidicategory-of: Likewise.
57050         * modules/unictype/bidicategory-test: Likewise.
57051         * modules/unictype/property-bidi-* (Dependencies): Update.
57052         * lib/unictype/bidi_*.c: Update comment.
57054 2011-03-26  Bruno Haible  <bruno@clisp.org>
57056         unictype/bidi*: Rename functions, part 2.
57057         * modules/unictype/bidicategory-name (configure.ac): Update required
57058         libunistring version.
57059         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
57061 2011-03-25  Bruno Haible  <bruno@clisp.org>
57063         New module 'unictype/combining-class-all'.
57064         * modules/unictype/combining-class-all: New file.
57066         Tests for module 'unictype/combining-class-byname'.
57067         * modules/unictype/combining-class-byname-tests: New file.
57068         * tests/unictype/test-combiningclass_byname.c: New file.
57070         New module 'unictype/combining-class-byname'.
57071         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
57072         * lib/unictype/combiningclass_byname.c: New file.
57073         * lib/unictype/combiningclass_byname.gperf: New file.
57074         * modules/unictype/combining-class-byname: New file.
57076         Tests for module 'unictype/combining-class-longname'.
57077         * modules/unictype/combining-class-longname-tests: New file.
57078         * tests/unictype/test-combiningclass_longname.c: New file.
57080         New module 'unictype/combining-class-longname'.
57081         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
57082         * lib/unictype/combiningclass_longname.c: New file.
57083         * modules/unictype/combining-class-longname: New file.
57085         Tests for module 'unictype/combining-class-name'.
57086         * modules/unictype/combining-class-name-tests: New file.
57087         * tests/unictype/test-combiningclass_name.c: New file.
57089         New module 'unictype/combining-class-name'.
57090         * lib/unictype.in.h (uc_combining_class_name): New declaration.
57091         * lib/unictype/combiningclass_name.c: New file.
57092         * modules/unictype/combining-class-name: New file.
57094 2011-03-25  Bruno Haible  <bruno@clisp.org>
57096         unictype/combining-class: Rename source files.
57097         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
57098         of unictype/combining.h.
57099         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
57100         Update.
57101         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
57102         * modules/unictype/combining-class (Description): Fix.
57103         (Files, Makefile.am): Update.
57104         * tests/unictype/test-combiningclass.c: Renamed from
57105         tests/unictype/test-combining.c.
57106         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
57108 2011-03-25  Bruno Haible  <bruno@clisp.org>
57110         unictype: Update list of canonical combining classes.
57111         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
57113 2011-03-25  Bruno Haible  <bruno@clisp.org>
57115         unictype/category-byname: Recognize long names as well.
57116         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
57117         a long name.
57118         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
57119         unictype/categ_byname.h.
57120         (UC_CATEGORY_INDEX_*): New enumeration values.
57121         (uc_general_category_byname): Use uc_general_category_lookup and
57122         convert from index to value.
57123         * lib/unictype/categ_byname.gperf: New file.
57124         * modules/unictype/category-byname (Files): Add
57125         lib/unictype/categ_byname.gperf.
57126         (Depends-on): Add gperf.
57127         (Makefile.am): Add rule for generating unictype/categ_byname.h.
57128         * tests/unictype/test-categ_byname.c (main): Test the recognition of
57129         long names.
57131         Tests for module 'unictype/category-longname'.
57132         * modules/unictype/category-longname-tests: New file.
57133         * tests/unictype/test-categ_longname.c: New file.
57135         New module 'unictype/category-longname'.
57136         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
57137         * lib/unictype/categ_longname.c: New file.
57138         * modules/unictype/category-longname: New file.
57139         * modules/unictype/category-all (Depends-on): Add it.
57141 2011-03-25  Bruno Haible  <bruno@clisp.org>
57143         Tests for module 'unictype/category-LC'.
57144         * modules/unictype/category-LC-tests: New file.
57145         * tests/unictype/test-categ_LC.c: New file, automatically generated.
57147         New module 'unictype/category-LC'.
57148         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
57149         (UC_CATEGORY_LC): New declaration.
57150         (UC_CASED_LETTER): New macro.
57151         * lib/gen-uni-tables.c (is_category_LC): New function.
57152         (output_categories): Also handle category LC.
57153         (UC_CATEGORY_MASK_LC): New enumeration value.
57154         (general_category_byname): Also handle category LC.
57155         * lib/unictype/categ_LC.c: New file.
57156         * lib/unictype/categ_LC.h: New file, automatically generated.
57157         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
57158         category LC.
57159         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
57160         * modules/unictype/category-LC: New file.
57161         * modules/unictype/category-byname (Depends-on): Add
57162         unictype/category-LC.
57163         * modules/unictype/category-all (Depends-on): Likewise.
57165 2011-03-25  Eric Blake  <eblake@redhat.com>
57167         xmalloc: revert yesterday's regression
57168         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
57169         realloc's underlying behavior (allowing allocation of zero-size
57170         objects, especially if malloc-gnu is also in use).
57172 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
57174         maint.mk: add missing version to VC-tag
57175         * top/maint.mk: git tag was missing actual tag name; add it.
57177         valgrind: do leak checking, and exit with code 1 on error (not 0)
57178         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
57179         to VALGRIND.
57181 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
57183         posix-modules: say what it does.
57184         * posix-modules: Add a line to the --help output saying what it does.
57186 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
57188         xmalloc: Do not leak if underlying realloc is C99 compatible.
57189         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
57190         This avoids a leak on C99-based systems.  See
57191         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
57193 2011-03-24  Eric Blake  <eblake@redhat.com>
57195         realloc: document portability problem
57196         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
57197         passing 0 size to realloc.
57199 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
57201         doc: update users.txt
57202         * users.txt: Add cvsps, tmpwatch
57204 2011-03-23  Matt Rice  <ratmice@gmail.com>
57206         doc: update users.txt
57207         * users.txt: Add gdb.
57209 2011-03-23  Jim Meyering  <meyering@redhat.com>
57211         doc: update users.txt
57212         Looking through matches up to the following URL (there are still
57213         several more pages), I found several projects that use gnulib:
57214         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
57215         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
57216         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
57218 2011-03-22  Bruno Haible  <bruno@clisp.org>
57220         unictype/bidi*: Rename functions.
57221         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
57222         uc_bidi_class, uc_is_bidi_class): New declarations.
57223         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
57224         uc_bidi_category_byname.
57225         (uc_bidi_category_byname): New function.
57226         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
57227         u_bidi_category_name.
57228         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
57229         (uc_bidi_category_name): New function.
57230         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
57231         uc_bidi_category.
57232         (uc_bidi_category): New function.
57233         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
57234         uc_is_bidi_category. Invoke uc_bidi_class.
57235         (uc_is_bidi_category): New function.
57236         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
57237         instead of uc_bidi_category_byname.
57238         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
57239         instead of uc_bidi_category_name.
57240         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
57241         uc_bidi_category.
57242         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
57243         instead of uc_is_bidi_category.
57245 2011-03-21  Bruno Haible  <bruno@clisp.org>
57247         New module 'unictype/joininggroup-all'.
57248         * modules/unictype/joininggroup-all: New file.
57250         Tests for module 'unictype/joininggroup-of'.
57251         * modules/unictype/joininggroup-of-tests: New file.
57252         * tests/unictype/test-joininggroup_of.c: New file.
57253         * tests/unictype/test-joininggroup_of.h: New file, automatically
57254         generated by gen-uni-tables.
57256         New module 'unictype/joininggroup-of'.
57257         * modules/unictype/joininggroup-of: New file.
57258         * lib/unictype/joininggroup_of.c: New file.
57259         * lib/unictype/joininggroup_of.h: New file, automatically generated by
57260         gen-uni-tables.
57262         Tests for module 'unictype/joininggroup-byname'.
57263         * modules/unictype/joininggroup-byname-tests: New file.
57264         * tests/unictype/test-joininggroup_byname.c: New file.
57266         New module 'unictype/joininggroup-byname'.
57267         * modules/unictype/joininggroup-byname: New file.
57268         * lib/unictype/joininggroup_byname.c: New file.
57269         * lib/unictype/joininggroup_byname.gperf: New file.
57271         Tests for module 'unictype/joininggroup-name'.
57272         * modules/unictype/joininggroup-name-tests: New file.
57273         * tests/unictype/test-joininggroup_name.c: New file.
57275         New module 'unictype/joininggroup-name'.
57276         * modules/unictype/joininggroup-name: New file.
57277         * lib/unictype/joininggroup_name.c: New file.
57278         * lib/unictype/joininggroup_name.h: New file.
57280         New module 'unictype/joiningtype-all'.
57281         * modules/unictype/joiningtype-all: New file.
57283         Tests for module 'unictype/joiningtype-of'.
57284         * modules/unictype/joiningtype-of-tests: New file.
57285         * tests/unictype/test-joiningtype_of.c: New file.
57286         * tests/unictype/test-joiningtype_of.h: New file, automatically
57287         generated by gen-uni-tables.
57289         New module 'unictype/joiningtype-of'.
57290         * modules/unictype/joiningtype-of: New file.
57291         * lib/unictype/joiningtype_of.c: New file.
57292         * lib/unictype/joiningtype_of.h: New file, automatically generated by
57293         gen-uni-tables.
57295         Tests for module 'unictype/joiningtype-byname'.
57296         * modules/unictype/joiningtype-byname-tests: New file.
57297         * tests/unictype/test-joiningtype_byname.c: New file.
57299         New module 'unictype/joiningtype-byname'.
57300         * modules/unictype/joiningtype-byname: New file.
57301         * lib/unictype/joiningtype_byname.c: New file.
57303         Tests for module 'unictype/joiningtype-name'.
57304         * modules/unictype/joiningtype-name-tests: New file.
57305         * tests/unictype/test-joiningtype_name.c: New file.
57307         New module 'unictype/joiningtype-name'.
57308         * modules/unictype/joiningtype-name: New file.
57309         * lib/unictype/joiningtype_name.c: New file.
57311         unictype: Add support for Arabic shaping properties.
57312         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
57313         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
57314         declarations.
57315         (UC_JOINING_GROUP_*): New enumeration values.
57316         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
57317         declarations.
57318         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
57319         (unicode_joining_type): New variable.
57320         (UC_JOINING_GROUP_*): New enumeration values.
57321         (unicode_joining_group): New variable.
57322         (fill_arabicshaping, joining_type_as_c_identifier,
57323         output_joining_type_test, output_joining_type,
57324         joining_group_as_c_identifier, output_joining_group_test,
57325         output_joining_group): New functions.
57326         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
57327         fill_arabicshaping and output_joining_type_test, output_joining_type,
57328         output_joining_group_test, output_joining_group.
57329         Reported by Simon Josefsson.
57331 2011-03-21  Jim Meyering  <meyering@redhat.com>
57333         strftime: fix a bug in yesterday's change
57334         * lib/strftime.c (add): Accommodate width's initial value of -1.
57335         Otherwise, nstrftime would copy uninitialized data into
57336         the result buffer.
57338 2011-03-21  Jim Meyering  <meyering@redhat.com>
57340         tests: add strftime-tests module
57341         * tests/test-strftime.c: New file.
57342         * modules/strftime-tests: New module.
57344 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57346         strftime: don't assume a byte count fits in 'int'
57347         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
57348         found this problem by static analysis, using gcc -Wstrict-overflow
57349         (GCC 4.5.2, x86-64).  This reported an optimization that depended
57350         on an integer overflow having undefined behavior, but it turns out
57351         that the argument is a size, which might not fit in 'int' anyway,
57353 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57355         stdio: don't require ignore_value around fwrite
57357         This patch works around libc bug 11959
57358         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
57359         Without this patch, applications must often write
57360         ignore_value (fwrite (...)) even though the ignore_value is
57361         not helpful here.  It's common to write many objects, using
57362         fwrite/printf/etc., and then use ferror to detect output error.
57364         I considered making this patch optional, but decided against it,
57365         because libc is obviously being inconsistent here: there is no
57366         reason libc should insist that user code must inspect fwrite
57367         return's value without also insisting that it inspect printf's,
57368         putchar's, etc.  If user code wants to have a strict style where
57369         all these functions' values are checked (so that ferror need not
57370         be checked), we could add support for that style in a new gnulib
57371         module, but in the meantime it's better to be consistent and to
57372         support common usage.
57374         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
57375         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
57376         that we are compiling in checking mode, and if not C++, and
57377         if not already wrapping fwrite for some other reason.
57378         (fwrite): #define to rpl_fwrite if the latter is defined.
57380 2011-03-20  Bruno Haible  <bruno@clisp.org>
57382         verror: Fix compilation error introduced on 2011-02-13.
57383         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
57384         instead of __attribute__.
57385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57387 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57388             Bruno Haible  <bruno@clisp.org>
57390         socklen: do not depend on sys_socket
57391         While trying to modify Emacs to use gnulib's socklen module,
57392         I discovered a circular dependency: socklen depends on sys_socket
57393         and vice versa.  Emacs can use socklen, but it does not need
57394         sys_socket because it has its own substitute for sys/socket.h.
57395         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
57396         gl_TYPE_SOCKLEN_T.
57397         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
57398         gl_PREREQ_SYS_H_SOCKET.
57399         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
57400         gl_PREREQ_SYS_H_SOCKET.
57401         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
57402         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
57403         * modules/socklen (Depends-on): Do not depend on sys_socket.
57404         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
57406 2011-03-20  Jim Meyering  <meyering@redhat.com>
57408         maint.mk: sort file names *after* new transformation
57409         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
57410         prefix would have led to an unwarranted failure in GNU parted.
57411         Sort after that transformation.
57413 2011-03-19  Jim Meyering  <meyering@redhat.com>
57415         maint.mk: fix po-file syntax-check rule
57416         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
57417         Patch by Bruno Haible.
57419 2011-03-19  Bruno Haible  <bruno@clisp.org>
57421         socklen: Update comment.
57422         * m4/socklen.m4: Update comment about platforms.
57424 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57425             Bruno Haible  <bruno@clisp.org>
57427         inet_ntop, inet_pton: Simplify.
57428         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
57429         documented to provide socklen_t and we already depend on sys_socket.
57430         * modules/inet_pton (Depends-on): Likewise.
57431         * lib/arpa_inet.in.h: Adjust comment.
57433 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57434             Bruno Haible  <bruno@clisp.org>
57436         netdb: Simplify.
57437         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
57438         documented to provide socklen_t and we already depend on sys_socket.
57439         * lib/netdb.in.h: Adjust comment.
57441 2011-03-19  Bruno Haible  <bruno@clisp.org>
57443         sys_socket, netdb: Document problem with socklen_t.
57444         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
57445         platforms.
57446         * doc/posix-headers/netdb.texi: Likewise.
57448 2011-03-18  Eric Blake  <eblake@redhat.com>
57450         maint.mk: let po check work in VPATH build
57451         * top/maint.mk (po_file): Allow cfg.mk override.
57452         (sc_po_check): Allow VPATH use.
57453         Reported by Jiri Denemark.
57455 2011-03-16  Jim Meyering  <meyering@redhat.com>
57457         maint.mk: allow fine-grained syntax-check exclusion via Make variables
57458         Before, you would have had to create one .x-sc_ file per rule in order
57459         to exempt offending files.  Now, you may instead use a Make variable --
57460         usually defined in cfg.mk -- whose name identifies the affected rule.
57461         * top/maint.mk (_sc_excl): Define.
57462         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
57463         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
57465 2011-03-13  Bruno Haible  <bruno@clisp.org>
57467         ignore-value tests: Avoid warnings.
57468         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
57469         empty for gcc < 3.4.
57471 2011-03-13  Bruno Haible  <bruno@clisp.org>
57473         passfd: Fix link error on Solaris.
57474         * modules/passfd (Description): Correct.
57475         (Depends-on): Add socketlib.
57476         (Link): New section.
57477         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
57479 2011-03-13  Bruno Haible  <bruno@clisp.org>
57481         passfd: Fix link error on AIX 5.2.
57482         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
57484 2011-03-13  Bruno Haible  <bruno@clisp.org>
57486         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
57487         * lib/sys_socket.in.h: Include <stddef.h>.
57488         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
57489         CMSG_FIRSTHDR. Remove unused variable.
57491 2011-03-13  Bruno Haible  <bruno@clisp.org>
57493         passfd: Fix compilation error on OpenBSD.
57494         * lib/passfd.c: Include <sys/uio.h>.
57496 2011-03-13  Bruno Haible  <bruno@clisp.org>
57498         passfd test: Fix warnings.
57499         * tests/test-passfd.c: Include <sys/wait.h>.
57500         (main): Fix typo.
57502 2011-03-13  Bruno Haible  <bruno@clisp.org>
57504         passfd module, part 4, tweaks.
57505         * tests/test-passfd.c: Reorder includes.
57506         (main): Fix perror and printf calls.
57508 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57510         passfd module, part 4.
57511         * modules/passfd-tests: New file.
57512         * tests/test-passfd.c: New file.
57514 2011-03-13  Jim Meyering  <meyering@redhat.com>
57516         Makefile: rely on GNU make; derive syntax-check rule names
57517         Rather than requiring that each sc_ rule be listed as a dependent
57518         of "check", use features of GNU make to derive the list.
57519         * Makefile (syntax-check-rules): Define.
57520         (check): Depend on the new variable, not the hard-coded list.
57522 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
57523             Bruno Haible  <bruno@clisp.org>
57525         passfd module, part 3.
57526         * lib/passfd.h (recvfd): Add a flags argument.
57527         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
57528         (recvfd): Add a flags argument.
57529         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
57530         exists.
57531         * modules/passfd (Depends-on): Add cloexec.
57532         Suggested by Eric Blake.
57534 2011-03-13  Bruno Haible  <bruno@clisp.org>
57536         passfd module, part 2, tweaks.
57537         * modules/passfd (Files): Reorder.
57538         (Depends-on): Remove errno.
57539         (Include): Remove <sys/socket.h>, <sys/un.h>.
57540         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
57541         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
57542         specification header. Include <sys/socket.h> always. Don't include
57543         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
57544         (sendfd): Clarify that it sets errno when it fails.
57545         (recvfd): Fix specification.
57547 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57549         passfd module, part 2.
57550         * modules/passfd: New file.
57551         * lib/passfd.h: New file.
57552         * lib/passfd.c: New file.
57554 2011-03-12  Bruno Haible  <bruno@clisp.org>
57556         wcswidth, mbswidth: Avoid integer overflow.
57557         * lib/wcswidth.c: Include <limits.h>.
57558         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
57559         * lib/mbswidth.c: Include <limits.h>.
57560         (mbsnwidth): Avoid 'int' overflow.
57561         Reported by Jim Meyering.
57563 2011-03-12  Bruno Haible  <bruno@clisp.org>
57565         futimens, utimensat: Avoid endless recursion on Solaris 10.
57566         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
57567         Solaris.
57568         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
57569         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
57571 2011-03-11  Jim Meyering  <meyering@redhat.com>
57573         maint.mk: relax a regexp to accommodate other formatting styles
57574         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
57575         between "ngettext" and the following "(".
57577 2011-03-11  Pádraig Brady  <P@draigBrady.com>
57579         maint.mk: suppress a false positive warning
57580         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
57581         diagnostics are marked with ngettext.
57583 2011-03-10  Eric Blake  <eblake@redhat.com>
57585         wchar: add explicit dependencies, for Tru64
57586         * modules/mbmemcasecoll (Depends-on): Add wchar.
57587         * modules/mbtowc (Depends-on): Likewise.
57588         * modules/vasnprintf (Depends-on): Likewise.
57589         * modules/unistdio/u-printf-args (Depends-on): Likewise.
57590         * modules/wctomb (Depends-on): Likewise.
57591         Reported by Peter O'Gorman.
57593 2011-03-08  Bruno Haible  <bruno@clisp.org>
57595         passfd module, part 1, tweaks.
57596         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
57597         Improve indentation. Improve AC_MSG_CHECKING messages.
57598         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
57599         gl_SOCKET_FAMILIES.
57601 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
57603         passfd module, part 1.
57604         * m4/afunix.m4: New file.
57605         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
57606         sockets.
57608 2011-03-08  Bruno Haible  <bruno@clisp.org>
57610         regex-quote: New API.
57611         * lib/regex-quote.h: Include <stdbool.h>.
57612         (struct regex_quote_spec): New type.
57613         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
57614         New declarations.
57615         (regex_quote_length, regex_quote_copy, regex_quote): Take a
57616         'const struct regex_quote_spec *' argument.
57617         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
57618         (pcre_special): New constant.
57619         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
57620         New functions.
57621         (regex_quote_length, regex_quote_copy, regex_quote): Take a
57622         'const struct regex_quote_spec *' argument.
57623         * modules/regex-quote (Depends-on): Add stdbool.
57624         * tests/test-regex-quote.c (check): Update for new API. Add test for
57625         anchored results.
57626         * NEWS: Mention the API change.
57627         Reported by Reuben Thomas and Eric Blake.
57629 2011-03-06  Bruno Haible  <bruno@clisp.org>
57631         regex-quote: Fix creation of POSIX extended regular expressions.
57632         * lib/regex-quote.c (ere_special): Add grouping and alternation
57633         operators.
57635 2011-03-05  Bruno Haible  <bruno@clisp.org>
57637         doc: Improve doc regarding autopoint vs. gnulib.
57638         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
57639         disable autopoint while running autoreconf.
57640         Suggested by Ralf Wildenhues.
57642 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57644         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
57645         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
57647 2011-03-03  Bruce Korb  <bkorb@gnu.org>
57649         parse-duration: remove xalloc.h dependency
57650         * lib/parse-duration.c (parse_period): handle NULL return from
57651         strdup instead of calling xstrdup().
57652         * modules/parse-duration: remove "xalloc" dependency
57654 2011-03-03  Matthew Booth  <mbooth@redhat.com>
57656         bootstrap: honor m4_base when running aclocal
57657         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
57659 2011-03-02  Jim Meyering  <meyering@redhat.com>
57661         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
57662         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
57663         on request from Matt Booth.
57665 2011-03-01  Eric Blake  <eblake@redhat.com>
57667         test-link: work on Hurd
57668         * tests/test-link.h (test_link): Hurd rejects linking directories
57669         with EISDIR instead of the POSIX-mandated EPERM.
57671 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
57673         stdio: simplify by moving files to printf-posix, sigpipe
57674         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
57675         since this symbol is needed only if printf is replaced.
57676         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
57677         Require gl_ASM_SYMBOL_PREFIX.
57678         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
57679         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
57680         (Depends-on): Add 'raise'.
57681         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
57682         * modules/stdio (Files): Remove lib/stdio-write.c,
57683         m4/asm-underscore.m4.
57684         (Depends-on): Remove 'raise'.
57686         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
57687         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
57688         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
57689         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
57691 2011-02-28  Bruno Haible  <bruno@clisp.org>
57693         localcharset: Assume ANSI C behaviour of free().
57694         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
57695         calling free().
57696         Suggested by Simon Josefsson <simon@josefsson.org>.
57698 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
57699             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
57700             Bruno Haible  <bruno@clisp.org>  (tiny change)
57702         On Cygwin, use /proc file system instead of win32 API.
57703         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
57704         Win32 file names.
57705         (DllMain): Simplify by removing Cygwin specific code.
57706         (find_shared_library_fullname): Use Linux specific implementation also
57707         for Cygwin.
57708         (get_shared_library_fullname): Update accordingly.
57709         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
57710         Win32 file names.
57711         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
57712         Cygwin specific code.
57714 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
57715             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
57717         Fix OpenMP flag detection for various Fortran compilers.
57718         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
57719         OpenMP-conditional compilation construct, to force compile
57720         failure with missing OpenMP flag.
57721         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
57723 2011-02-25  Eric Blake  <eblake@redhat.com>
57725         strstr: expand test coverage
57726         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
57727         compilation.
57728         * tests/test-memmem.c (main): Duplicate tests.
57729         * tests/test-strcasestr.c (main): Likewise.
57730         * tests/test-c-strcasestr.c (main): Likewise.
57732 2011-02-25  Jim Meyering  <meyering@redhat.com>
57734         maint.mk: detect missing-NL-at-EOF, too
57735         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
57736         it also detects when a file lacks a newline at EOF.
57737         (require_exactly_one_NL_at_EOF_): Renamed from
57738         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
57739         since people may well have .x-sc_... file names tied to the
57740         existing name.  Suggested by Eric Blake.
57742 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57744         dirname: move m4/dos.m4 functionality into lib/dosname.h
57746         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
57747         extracts symbols from it, puts them into config.h; but it's much
57748         easier to use the symbols directly.  filename.h already does this,
57749         but it disagrees with dos.m4 in some respects.  This patch
57750         introduces a different include file dosname.h that packages up
57751         dos.m4, and then later we can work on merging filename.h and
57752         dosname.h.  Applications that need only the easy-to-configure
57753         symbols should consider including dosname.h rather than dirname.h.
57754         * NEWS: Mention incompatible changes.
57755         * m4/dos.m4: Remove.
57756         * lib/dosname.h, modules/dosname: New files.
57757         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
57758         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
57759         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
57760         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
57761         Include dosname.h, not dirname.h.
57762         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
57763         Include dosname.h, for definitions of symbols like ISSLASH
57764         that used to be in config.h.
57765         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
57766         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
57767         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57768         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
57769         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
57770         * modules/rmdir (Files): Likewise.
57771         * modules/stat (Files): Likewise.
57772         * modules/unlink (Files): Likewise.
57773         * modules/dirname-lgpl (Depends-on): Add dosname.
57774         * modules/lstat (Depends-on): Likewise.
57775         * modules/openat (Depends-on): Likewise.
57776         * modules/rmdir (Depends-on): Likewise.
57777         * modules/savewd (Depends-on): Likewise.
57778         * modules/stat (Depends-on): Likewise.
57779         * modules/unlink (Depends-on): Likewise.
57780         * modules/openat (Depends-on): Remove dirname-lgpl.
57781         * modules/savewd (Depends-on): Likewise.
57782         * tests/test-dirname.c: Do not use removed symbols like
57783         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
57784         the remaining symbols, e.g., ISSLASH ('\\').
57786 2011-02-25  Eric Blake  <eblake@redhat.com>
57788         strstr: revert patches that introduced bug and pessimization
57789         * lib/str-two-way.h: Add another reference.
57790         (two_way_short_needle, two_way_long_needle): Revert changes from
57791         2011-02-24; they pessimize search speed.
57792         (critical_factorization): Partially revert changes from
57793         2010-06-22; they violate the requirement that the left half of the
57794         needle be smaller than the period of the needle.
57796 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57798         filenamecat: remove unnecessary dependency on dirname-lgpl
57799         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
57800         is no direct dependency, just an indirect one via filenamecat-lgpl.
57802         remove: remove unnecessary use of m4/dos.m4
57803         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
57804         * modules/remove (FILES): Remove m4/dos.m4.
57806         * lib/openat-proc.c: Don't include dirname.h; not needed.
57808         backupfile: remove unnecessary use of m4/dos.m4
57809         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
57810         of its symbols are used by the backupfile code.  backupfile.c does
57811         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
57812         for the rare case of programs that want all their backup file
57813         names to live within 8+3 limits, and dos.m4 doesn't address that.
57814         * modules/backupfile (Files): Remove m4/dos.m4.
57816 2011-02-24  Jim Meyering  <meyering@redhat.com>
57818         strstr: fix a bug whereby strstr would mistakenly return NULL
57819         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
57820         in period calculation.
57821         (two_way_long_needle): Likewise.
57822         The original problem was reported by Mike Stump in
57823         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
57824         Ralf Wildenhues provided the short needle and haystack.
57825         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
57826         Add a more involved test to trigger the bug in two_way_long_needle.
57828 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
57830         gnulib-tool: remove use of bold display in help screen
57831         * gnulib-tool (func_usage): Do not use bold display anymore in the
57832         help screen.  That was just meant to be a temporary emphasis for a
57833         backward-incompatible change.
57835 2011-02-23  Bruno Haible  <bruno@clisp.org>
57837         Fix misindentation of preprocessor directives.
57838         * lib/argp-namefrob.h: Reindent preprocessor directives.
57839         * lib/getopt_int.h (struct _getopt_data): Likewise.
57840         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
57841         * lib/vasnprintf.c (decode_long_double): Likewise.
57842         * tests/test-argmatch.c: Insert blank lines, for clarity.
57843         * tests/test-exclude.c: Likewise.
57845 2011-02-22  Bruno Haible  <bruno@clisp.org>
57847         ioctl: Fix for MacOS X in 64-bit mode.
57848         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
57849         value.
57850         Suggested by Eric Blake.
57851         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
57853 2011-02-22  Jim Meyering  <meyering@redhat.com>
57855         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
57856         * Makefile (sc_cpp_indent_check): Don't limit the check to files
57857         in lib/.
57859 2011-02-22  Eric Blake  <eblake@redhat.com>
57861         maint: avoid any CDPATH issue
57862         * Makefile (sc_cpp_indent_check): Anchor cd argument.
57864         maint: adjust cpp indentation for my modules, as well
57865         * Makefile (sc_cpp_indent_check): Add my name.
57866         * lib/fbufmode.c: Filter through cppi.
57867         * lib/fpurge.c: Likewise.
57868         * lib/freadable.c: Likewise.
57869         * lib/freading.c: Likewise.
57870         * lib/fwritable.c: Likewise.
57871         * lib/fwriting.c: Likewise.
57872         * lib/sigaction.c: Likewise.
57874 2011-02-22  Jim Meyering  <meyering@redhat.com>
57876         maint: adjust cpp indentation to reflect nesting depth
57877         I.e., in a block of code that begins with an unnested "#if",
57878         put one space between the "#" in column 1 and following token.
57879         For example,
57880         -#include <sys/vfs.h>
57881         +# include <sys/vfs.h>
57882         Do this only in .c files that are part of a module I maintain.
57883         * lib/linkat.c: Filter through cppi.
57884         * lib/nanosleep.c: Likewise.
57885         * lib/openat.c: Likewise.
57886         * lib/openat-die.c: Likewise.
57887         * lib/dup3.c: Likewise.
57888         * lib/fchownat.c: Likewise.
57889         * lib/flock.c: Likewise.
57890         * lib/fsync.c: Likewise.
57891         * lib/fts.c: Likewise.
57892         * lib/getpass.c: Likewise.
57893         * lib/gettimeofday.c: Likewise.
57894         * lib/userspec.c: Likewise.
57895         * Makefile (sc_cpp_indent_check): New rule, to check this.
57897 2011-02-22  Bruno Haible  <bruno@clisp.org>
57899         New module 'wctomb'.
57900         * lib/stdlib.in.h (wctomb): New declaration.
57901         * lib/wctomb.c: New file.
57902         * lib/wctomb-impl.h: New file.
57903         * m4/wctomb.m4: New file.
57904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
57905         REPLACE_WCTOMB.
57906         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
57907         REPLACE_WCTOMB.
57908         * modules/wctomb: New file.
57909         * tests/test-stdlib-c++.cc: Test signature of wctomb.
57910         * doc/posix-functions/wctomb.texi: Mention the new module.
57911         * modules/wctob (Depends-on): Add wctomb.
57913 2011-02-22  Bruno Haible  <bruno@clisp.org>
57915         New module 'mbtowc'.
57916         * lib/stdlib.in.h (mbtowc): New declaration.
57917         * lib/mbtowc.c: New file.
57918         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
57919         * m4/mbtowc.m4: New file.
57920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
57921         REPLACE_MBTOWC.
57922         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
57923         REPLACE_MBTOWC.
57924         * modules/mbtowc: New file.
57925         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
57926         * doc/posix-functions/mbtowc.texi: Mention the new module.
57927         * modules/btowc (Depends-on): Add mbtowc.
57929 2011-02-22  Bruno Haible  <bruno@clisp.org>
57931         wcrtomb: Add more tests for native Windows platforms.
57932         * tests/test-wcrtomb-w32-1.sh: New file.
57933         * tests/test-wcrtomb-w32-2.sh: New file.
57934         * tests/test-wcrtomb-w32-3.sh: New file.
57935         * tests/test-wcrtomb-w32-4.sh: New file.
57936         * tests/test-wcrtomb-w32-5.sh: New file.
57937         * tests/test-wcrtomb-w32.c: New file.
57938         * modules/wcrtomb-tests (Files): Add them.
57939         (Makefile.am): Arrange to run these tests.
57940         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
57941         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
57943 2011-02-20  Bruno Haible  <bruno@clisp.org>
57945         wcrtomb: Enhance test.
57946         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
57948 2011-02-20  Bruno Haible  <bruno@clisp.org>
57950         mbrtowc: Tiny optimization.
57951         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
57953 2011-02-20  Jim Meyering  <meyering@redhat.com>
57955         test-exclude.c: remove unmatched #endif
57956         * tests/test-exclude.c: Remove stray #endif, left over from
57957         the change of a week ago.
57959 2011-02-19  Jim Meyering  <meyering@redhat.com>
57961         git-version-gen: skip "-dirty" check when appropriate
57962         * build-aux/git-version-gen: Don't run any git commands when the
57963         version string comes from .tarball-version.  Prior to this, we
57964         would run git update-index --refresh even from a just-unpacked
57965         tarball directory, and that could affect a .git/ directory in a
57966         parent of the build directory.  Reported by Mike Frysinger.
57968 2011-02-19  Bruno Haible  <bruno@clisp.org>
57970         unictype/property-byname: Reduce the size of the 'data' segment.
57971         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
57973 2011-02-19  Bruno Haible  <bruno@clisp.org>
57975         unictype/scripts: Reduce the size of the 'data' segment.
57976         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
57977         '%pic'.
57978         * lib/unictype/scripts_byname.gperf: Regenerated.
57980 2011-02-19  Bruno Haible  <bruno@clisp.org>
57982         stdint: Update documentation.
57983         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
57985 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
57987         stdint: omit redundant check for wchar.h
57988         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
57989         always tests whether wchar.h exists, so remove the now-redundant test.
57991 2011-02-18  Bruno Haible  <bruno@clisp.org>
57993         stdint: Cut dependency to module 'wchar'.
57994         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
57995         include the necessary prerequisites.
57996         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
57997         * modules/stdint (Depends-on): Remove wchar.
57998         (Makefile.am): Substitute HAVE_WCHAR_H.
57999         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
58001 2011-02-18  Eric Blake  <eblake@redhat.com>
58003         longlong: skip, rather than fail, on cross-compilation
58004         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
58005         when cross-compiling; regression from 2011-02-16.
58007 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58009         * NEWS: Mention 2011-02-08 change to stdlib.
58011 2011-02-17  Bruno Haible  <bruno@clisp.org>
58013         getloadavg: Add comments about platforms.
58014         * m4/getloadavg.m4: Add comment.
58015         * lib/getloadavg.c: Likewise.
58017 2011-02-17  Bruno Haible  <bruno@clisp.org>
58019         getloadavg: Fix link error on Solaris 2.6.
58020         * modules/getloadavg (Link): New section.
58021         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
58022         linking test-getloadavg.
58023         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
58024         getloadavg.
58026 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58028         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
58029         It was 'int', but this doesn't match the IRIX 6.5 manual.
58030         Suggested by Bruno Haible in
58031         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
58033 2011-02-17  Bruno Haible  <bruno@clisp.org>
58035         havelib: Fix comments.
58036         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
58037         change.
58039 2011-02-17  Bruno Haible  <bruno@clisp.org>
58041         havelib: Update config.rpath.
58042         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
58044 2011-02-17  Bruno Haible  <bruno@clisp.org>
58046         getloadavg test: Add some plausibility checks.
58047         * tests/test-getloadavg.c (check_avg): Print a warning when the value
58048         is improbable.
58050 2011-02-16  Eric Blake  <eblake@redhat.com>
58052         maintainer-makefile: make syntax-check a no-op from tarballs
58053         * top/maint.mk (no-vc-detected): New rule.
58054         (local-checks-available): Use it to avoid hanging if someone tries
58055         'make syntax-check' from a tarball.  Also append to any non-syntax
58056         checks already defined in cfg.mk.
58058 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
58060         longlong: tune, particularly for common case of c99
58062         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
58063         or running anything if c99, or if unsigned long long int does not
58064         work.  In either case, we know the answer without further tests.
58065         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
58066         it at most once, and use its results for both long long int and
58067         unsigned long long int.  This is more likely to be efficient in
58068         the common case where the program wants to check for both long
58069         long int and unsigned long long int.
58070         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
58071         since the answer is already known.
58073 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
58075         getloadavg: set errno
58076         * lib/getloadavg.c: Set errno when returning -1.  If no other
58077         error number looks appropriate, set it to ENOSYS if the getloadavg
58078         looks like it can't possibly ever work, ENOTSUP otherwise.
58079         Suggested by Bruno Haible in
58080         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
58082         getloadavg: trim unused parts and speed up 'configure'
58083         * NEWS: Document this.
58084         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
58085         always compiled if getloadavg is absent.
58086         Move test code to ...
58087         * tests/test-getloadavg.c: New file, containing previous
58088         contents of test from lib/getloadavg.c.  It also contains
58089         suggestions by Bruno Haible in
58090         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
58091         * modules/getloadavg-tests: New file.
58092         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
58093         Do tests in the same order as they're needed for getloadavg.c.
58094         Omit setgid-related tests that generate symbols KMEM_GROUP,
58095         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
58096         Do only the tests that are needed to see whether the system has
58097         getloadavg, moving the other tests into ...
58098         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
58099         NLIST_NAME_UNION; nobody should be using it.  Do not define
58100         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
58101         relevant, as the user of this module shouldn't care how getloadavg
58102         is implemented.
58104         getloadavg: omit unused var
58105         * lib/getloadavg.c (getloadavg): Omit unused local variable.
58107 2011-02-15  Jim Meyering  <meyering@redhat.com>
58109         doc: update users.txt
58110         * users.txt: Update iwhd's URL.
58112 2011-02-13  Bruno Haible  <bruno@clisp.org>
58114         Consistent macro naming for macros that use GCC __attribute__.
58115         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
58116         _ATTRIBUTE_NONNULL_.
58117         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
58118         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
58119         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
58120         ATTRIBUTE_DEPRECATED.
58121         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
58122         ATTRIBUTE_NORETURN.
58123         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58124         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58125         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58126         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58127         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
58128         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
58129         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
58130         ATTRIBUTE_SENTINEL.
58131         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
58132         ATTRIBUTE_RETURN_CHECK.
58133         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
58134         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
58135         ATTRIBUTE_NORETURN.
58136         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
58137         Reported by Paul Eggert.
58139 2011-02-13  Bruno Haible  <bruno@clisp.org>
58141         Don't interfere with a program's definition of __attribute__.
58142         * lib/argp.h (__attribute__): Remove definition.
58143         (_GL_ATTRIBUTE_FORMAT): New macro.
58144         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
58145         * lib/argp-fmtstream.h (__attribute__): Remove definition.
58146         (_GL_ATTRIBUTE_FORMAT): New macro.
58147         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
58148         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
58149         GCC 3 or newer.
58150         * lib/error.h (__attribute__): Remove definition.
58151         (_GL_ATTRIBUTE_FORMAT): New macro.
58152         (error, error_at_line): Use it.
58153         * lib/hash.h (__attribute__): Remove definition.
58154         (ATTRIBUTE_WUR): Update definition. Define always.
58155         * lib/openat.h (__attribute__): Remove definition.
58156         (ATTRIBUTE_NORETURN): Update definition. Define always.
58157         * lib/sigpipe-die.h (__attribute__): Remove definition.
58158         (ATTRIBUTE_NORETURN): Update definition. Define always.
58159         * lib/vasnprintf.h (__attribute__): Remove definition.
58160         (_GL_ATTRIBUTE_FORMAT): New macro.
58161         (asnprintf, vasnprintf): Use it.
58162         * lib/xalloc.h (__attribute__): Remove definition.
58163         (ATTRIBUTE_NORETURN): Update definition. Define always.
58164         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
58165         * lib/xmemdup0.h (__attribute__): Remove definition.
58166         (ATTRIBUTE_NORETURN): Update definition. Define always.
58167         * lib/xprintf.h (__attribute__): Remove definition.
58168         (_GL_ATTRIBUTE_FORMAT): New macro.
58169         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
58170         * lib/xstrtol.h (__attribute__): Remove definition.
58171         (ATTRIBUTE_NORETURN): Update definition. Define always.
58172         * lib/xvasprintf.h (__attribute__): Remove definition.
58173         (_GL_ATTRIBUTE_FORMAT): New macro.
58174         (xasprintf, xvasprintf): Use it.
58175         * tests/test-argmatch.c (__attribute__): Remove definition.
58176         (ATTRIBUTE_NORETURN): Update definition. Define always.
58177         * tests/test-exclude.c (__attribute__): Remove definition.
58178         (ATTRIBUTE_NORETURN): Update definition. Define always.
58179         Reported by Paul Eggert.
58181 2011-02-13  Bruno Haible  <bruno@clisp.org>
58183         mbrtowc: Add more tests for native Windows platforms.
58184         * tests/test-mbrtowc-w32-1.sh: New file.
58185         * tests/test-mbrtowc-w32-2.sh: New file.
58186         * tests/test-mbrtowc-w32-3.sh: New file.
58187         * tests/test-mbrtowc-w32-4.sh: New file.
58188         * tests/test-mbrtowc-w32-5.sh: New file.
58189         * tests/test-mbrtowc-w32.c: New file.
58190         * modules/mbrtowc-tests (Files): Add them.
58191         (Makefile.am): Arrange to run these tests.
58192         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
58193         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
58195 2011-02-13  Bruno Haible  <bruno@clisp.org>
58197         mbrtowc: Work around native Windows bug.
58198         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
58199         guess when no suitable locale for testing was found.
58200         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
58202 2011-02-13  Bruno Haible  <bruno@clisp.org>
58204         mbsinit: Work around mingw bug.
58205         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
58206         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
58207         Windows.
58208         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
58210 2011-02-13  Bruno Haible  <bruno@clisp.org>
58212         mbsinit: Don't crash for a NULL argument.
58213         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
58214         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
58216 2011-02-13  Bruno Haible  <bruno@clisp.org>
58218         Don't interfere with a program's definition of __attribute__.
58219         * lib/stdio.in.h (__attribute__): Remove definition.
58220         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
58221         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
58222         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
58223         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
58224         * lib/string.in.h (__attribute__): Remove definition.
58225         Reported by Paul Eggert.
58227 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58229         stdlib: don't get in the way of non-GCC __attribute__
58230         See thread starting at
58231         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
58232         Revert previous stdlib change, installing the following instead:
58233         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
58234         to get in the way of a non-GCC compiler that supports __attribute__.
58235         (_GL_ATTRIBUTE_RETURN): New macro.
58236         (_Exit): Use it instead of __attribute__.
58238 2011-02-12  Bruno Haible  <bruno@clisp.org>
58240         quotearg test: Avoid test failure on mingw.
58241         * tests/test-quotearg.sh: Convert the locale identifier from native
58242         Windows syntax to Unix syntax.
58244 2011-02-12  Bruno Haible  <bruno@clisp.org>
58246         setlocale: Prefer gnulib's override over libintl's override.
58247         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
58248         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
58249         GNULIB_defined_setlocale is set.
58251 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58253         stdlib: support non-GCC __attribute__
58255         Fix a serious and tricky problem encountered when attempting to
58256         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
58257         5.5, but it crashed due to memory corruption on Solaris 10 with
58258         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
58259         bits that are otherwise zero.  This tagging is optional inside
58260         Emacs but is preferred and is used when __attribute__ ((__aligned
58261         (8))) works, as it does with both recent-enough GCC and with Sun C
58262         5.11.  However, Sun C 5.11 is not GCC and does not #define
58263         __GNUC__ and __GNUC_MINOR__.
58265         When I added the getloadavg module to Emacs, it brought in
58266         stdlib.in.h, which contained this fragment:
58268            #ifndef __attribute__
58269            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
58270            #  define __attribute__(Spec)   /* empty */
58271            # endif
58272            #endif
58274         When files that include <stdlib.h> were compiled with Sun C 5.11,
58275         the above code disabled __attribute__ ((__aligned (8))), which
58276         caused variables to not be properly aligned, which eventually led
58277         to the pointer corruption mentioned above.  (This was a bit hard
58278         to diagnose, unfortunately.)
58280         Several "#define __attribute__(X) /* empty */" code snippets need
58281         to be eradicated from Gnulib to work with non-GCC compilers that
58282         support __attribute__.  The Autoconf way to do this is to test for
58283         each kind of attribute that we want support for, and selectively
58284         enable that in source code.
58286         Fix this problem just for stdlib.h, by adding a test for the
58287         __noreturn__ attribute, and change stdlib.in.h to use that test
58288         when needed.  This technique can be easily generalized to the
58289         other *.in.h files and attributes, and a similar technique can be
58290         used for *.h and *.c files.  This patch is enough to solve the
58291         problem for Emacs + getloadavg, and I thought I'd publish it for
58292         feedback before undertaking further, similar fixes in other
58293         modules.
58295         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
58296         because it's not needed for stdlib.h.  It merely substitutes the
58297         value directly into stdlib.h.  We may well need to #define it, or
58298         similar symbols, for other modules, but it's nice to also have an
58299         option to not #define it for applications like Emacs that do not
58300         need it.
58302         * lib/stdlib.in.h (__attribute__): Do not #define.
58303         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
58304         be defined only if the _Exit module is also used.
58305         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
58306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
58307         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
58308         platforms.
58309         * modules/_Exit (Files): Add m4/attribute.m4.
58310         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
58311         * m4/attribute.m4: New file.
58313 2011-02-12  Bruno Haible  <bruno@clisp.org>
58315         wcsrtombs: Work around bug on native Windows.
58316         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
58317         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
58318         instead of len.
58319         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
58321 2011-02-12  Bruno Haible  <bruno@clisp.org>
58323         mbsrtowcs: Work around bug on native Windows.
58324         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
58325         against mingw bug.
58326         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
58328 2011-02-12  Bruno Haible  <bruno@clisp.org>
58330         Avoid setlocale bugs in tests.
58331         * modules/btowc (Dependencies): Add setlocale.
58332         * modules/c-strcase (Dependencies): Likewise.
58333         * modules/mbmemcasecmp (Dependencies): Likewise.
58334         * modules/mbmemcasecoll (Dependencies): Likewise.
58335         * modules/mbrtowc (Dependencies): Likewise.
58336         * modules/mbscasecmp (Dependencies): Likewise.
58337         * modules/mbscasestr (Dependencies): Likewise.
58338         * modules/mbschr (Dependencies): Likewise.
58339         * modules/mbscspn (Dependencies): Likewise.
58340         * modules/mbsinit (Dependencies): Likewise.
58341         * modules/mbsncasecmp (Dependencies): Likewise.
58342         * modules/mbsnrtowcs (Dependencies): Likewise.
58343         * modules/mbspbrk (Dependencies): Likewise.
58344         * modules/mbspcasecmp (Dependencies): Likewise.
58345         * modules/mbsrchr (Dependencies): Likewise.
58346         * modules/mbsrtowcs (Dependencies): Likewise.
58347         * modules/mbsspn (Dependencies): Likewise.
58348         * modules/mbsstr (Dependencies): Likewise.
58349         * modules/nl_langinfo (Dependencies): Likewise.
58350         * modules/quotearg (Dependencies): Likewise.
58351         * modules/unicase/locale-language (Dependencies): Likewise.
58352         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
58353         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
58354         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
58355         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
58356         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
58357         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
58358         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
58359         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
58360         * modules/vasnprintf-posix (Dependencies): Likewise.
58361         * modules/wcrtomb (Dependencies): Likewise.
58362         * modules/wcsnrtombs (Dependencies): Likewise.
58363         * modules/wcsrtombs (Dependencies): Likewise.
58365 2011-02-12  Bruno Haible  <bruno@clisp.org>
58367         setlocale: Workaround native Windows bug.
58368         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
58369         succeeds but sets LC_CTYPE to "C", report a failure.
58370         * tests/test-setlocale2.sh: New file.
58371         * tests/test-setlocale2.c: New file.
58372         * modules/setlocale-tests (Files): Add the new files.
58373         (Makefile.am): Enable test-setlocale2.sh test.
58374         * doc/posix-functions/setlocale.texi: Mention workaround.
58376 2011-02-11  Bruno Haible  <bruno@clisp.org>
58378         Tests for module 'setlocale'.
58379         * modules/setlocale-tests: New file.
58380         * tests/test-setlocale1.sh: New file.
58381         * tests/test-setlocale1.c: New file.
58383         New module 'setlocale'.
58384         * lib/locale.in.h (setlocale): New declaration.
58385         * lib/setlocale.c: New file, based on
58386         gettext/gettext-runtime/intl/setlocale.c.
58387         * m4/setlocale.m4: New file.
58388         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
58389         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
58390         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
58391         REPLACE_SETLOCALE.
58392         * modules/setlocale: New file.
58393         * tests/test-locale-c++.cc: Test the declaration of setlocale.
58394         * doc/posix-functions/setlocale.texi: Mention the new module.
58396 2011-02-11  Bruno Haible  <bruno@clisp.org>
58398         Prepare for locale dependent tests on mingw.
58399         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
58400         because it has the wrong locale encoding.
58401         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
58402         French_France.1252 instead of "fr".
58403         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
58404         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
58405         because it has the wrong locale encoding.
58406         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
58407         native Windows, try Turkish_Turkey.65001.
58408         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
58409         Chinese_China.54936.
58411         Prepare for locale dependent tests on mingw.
58412         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
58413         differently.
58414         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
58415         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
58416         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58417         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58419 2011-02-11  Eric Blake  <eblake@redhat.com>
58421         strptime: avoid compiler warnings
58422         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
58423         compiler warnings about dead code.
58424         Reported by Daniel P. Berrange.
58426 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
58428         doc: update users.txt
58429         * users.txt: Add rcs.
58431 2011-02-10  John W. Eaton  <jwe@gnu.org>
58433         doc: update users.txt
58434         * users.txt: Add octave.
58436 2011-02-10  Jim Meyering  <meyering@redhat.com>
58438         doc: update users.txt
58439         * users.txt: Add iwhd.
58441 2011-02-09  Bruno Haible  <bruno@clisp.org>
58443         gnulib-tool: Make copyright notice adjustment more robust.
58444         * gnulib-tool (func_import): In sed_transform_main_lib_file,
58445         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
58446         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
58447         License".
58448         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
58450 2011-02-06  Bruno Haible  <bruno@clisp.org>
58452         New module 'towctrans'.
58453         * modules/towctrans: New file.
58454         * lib/wctype.in.h (towctrans): New declaration.
58455         * lib/towctrans.c: New file.
58456         * lib/towctrans-impl.h: New file.
58457         * m4/towctrans.m4: New file.
58458         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
58459         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
58460         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
58461         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
58462         * doc/posix-functions/towctrans.texi: Mention the new module.
58464 2011-02-06  Bruno Haible  <bruno@clisp.org>
58466         New module 'wctrans'.
58467         * modules/wctrans: New file.
58468         * lib/wctype.in.h (wctrans): New declaration.
58469         * lib/wctrans.c: New file.
58470         * lib/wctrans-impl.h: New file.
58471         * m4/wctrans.m4: New file.
58472         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
58473         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
58474         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
58475         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
58476         * doc/posix-functions/wctrans.texi: Mention the new module.
58478 2011-02-06  Bruno Haible  <bruno@clisp.org>
58480         New module 'iswctype'.
58481         * modules/iswctype: New file.
58482         * lib/wctype.in.h (iswctype): New declaration.
58483         * lib/iswctype.c: New file.
58484         * lib/iswctype-impl.h: New file.
58485         * m4/iswctype.m4: New file.
58486         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
58487         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
58488         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
58489         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
58490         * doc/posix-functions/iswctype.texi: Mention the new module and the
58491         HP-UX 11.00 problem.
58493 2011-02-06  Bruno Haible  <bruno@clisp.org>
58495         New module 'wctype'.
58496         * modules/wctype: Change to represent the wctype() substitute.
58497         * lib/wctype.in.h (wctype): New declaration.
58498         * lib/wctype.c: New file.
58499         * lib/wctype-impl.h: New file.
58500         * m4/wctype.m4: New file.
58501         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
58502         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
58503         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
58504         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
58505         * doc/posix-functions/wctype.texi: Mention the new module and the
58506         HP-UX 11.00 problem.
58508 2011-02-06  Bruno Haible  <bruno@clisp.org>
58510         wctype-h: Ensure wctype_t and wctrans_t are defined.
58511         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
58512         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58513         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
58514         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
58515         HAVE_WCTRANS_T.
58516         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
58518 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
58520         flock: fix license typo
58522         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
58523         omitted.
58525 2011-02-08  Bruno Haible  <bruno@clisp.org>
58527         Split large sed scripts, for HP-UX sed.
58528         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
58529         to avoid HP-UX limit of 99 commands, in the near future.
58530         * modules/stdlib (Makefile.am): Likewise.
58531         * modules/unistd (Makefile.am): Likewise.
58532         * modules/wchar (Makefile.am): Likewise.
58533         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58534         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
58535         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
58537 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
58538             Bruno Haible  <bruno@clisp.org>
58540         stdlib: improve random_r modularization
58541         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
58542         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
58543         you also need the random_r module to get this material right.
58544         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
58545         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
58546         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
58548 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
58550         stdlib: don't depend on stdint
58551         * lib/stdlib.in.h: Don't include <stdint.h> merely because
58552         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
58553         be independent of whether stdint.h is needed.
58554         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
58555         here, instead of ...
58556         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
58557         struct random_data should be using the random_r module, not just
58558         the stdlib module (which wouldn't make sense: what package needs
58559         just struct random_data without also needing random_r?).
58560         * modules/stdlib (Depends-on): Remove stdint.
58562         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
58563         See the thread rooted at
58564         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
58565         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
58566         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
58567         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
58568         __VMS)); previously it was always included (via fcntl--.h).
58569         (getloadavg): Do not use c_strtod.  Instead, approximate it by
58570         hand; this is good enough for load averages.  Also, do not use
58571         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
58572         flags directly if available and don't bother otherwise.  (Packages
58573         that need the extra reliability should use the modules that define
58574         these flags on older platforms that lack them.)
58575         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
58576         fcntl-safer.
58578 2011-02-08  Jim Meyering  <meyering@redhat.com>
58580         di-set.h, ino-map.h: add multiple-inclusion guard
58581         Technically, the guard is required only for ino-map.h, due to its
58582         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
58583         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
58584         * lib/ino-map.h: Likewise.
58586 2011-02-06  Bruno Haible  <bruno@clisp.org>
58588         iswblank: Ensure declaration on glibc systems.
58589         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
58590         * modules/iswblank (Dependencies): Add 'extensions'.
58591         * doc/posix-functions/iswblank.texi: Document the glibc problem.
58593 2011-02-06  Bruno Haible  <bruno@clisp.org>
58595         New module 'iswblank'.
58596         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
58597         * modules/iswblank: New file.
58598         * modules/wctype-h (Files): Remove lib/iswblank.c.
58599         (Makefile.am): Substitute GNULIB_ISWBLANK.
58600         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
58601         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
58602         (gl_WCTYPE_H_DEFAULTS): New macro.
58603         (gl_WCTYPE_H): Require it. Remove iswblank related code.
58604         * modules/iswblank-tests: New file.
58605         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
58606         * tests/test-wctype-h.c (main): Remove iswblank tests.
58607         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
58608         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
58609         of 'wctype-h'.
58610         * NEWS: Mention the change.
58611         * modules/mbchar (Depends-on): Add iswblank.
58613 2011-02-08  Bruno Haible  <bruno@clisp.org>
58615         di-set tests: Refactor.
58616         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
58617         unnecessary includes.
58618         (ASSERT): Remove macro.
58619         (main): Make C90 compliant by avoiding variable declaration after
58620         statement.
58621         * modules/di-set-tests (Files): Add tests/macros.h.
58623 2011-02-08  Bruno Haible  <bruno@clisp.org>
58625         ino-map tests: Refactor.
58626         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
58627         unnecessary includes.
58628         (ASSERT): Remove macro.
58629         (main): Make C90 compliant by avoiding variable declaration after
58630         statement.
58631         * modules/ino-map-tests (Files): Add tests/macros.h.
58633 2011-02-08  Jim Meyering  <meyering@redhat.com>
58635         di-set: add "const" to a cast
58636         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
58637         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
58639 2011-02-06  Bruno Haible  <bruno@clisp.org>
58641         Rename module 'wctype' to 'wctype-h'.
58642         * modules/wctype-h: Renamed from modules/wctype.
58643         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
58644         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
58645         (Files, Depends-on, Makefile.am): Update.
58646         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
58647         (Files, Makefile.am): Update.
58648         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
58649         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
58650         * doc/posix-headers/wctype.texi: Update.
58651         * doc/posix-functions/iswalnum.texi: Update.
58652         * doc/posix-functions/iswalpha.texi: Update.
58653         * doc/posix-functions/iswblank.texi: Update.
58654         * doc/posix-functions/iswcntrl.texi: Update.
58655         * doc/posix-functions/iswdigit.texi: Update.
58656         * doc/posix-functions/iswgraph.texi: Update.
58657         * doc/posix-functions/iswlower.texi: Update.
58658         * doc/posix-functions/iswprint.texi: Update.
58659         * doc/posix-functions/iswpunct.texi: Update.
58660         * doc/posix-functions/iswspace.texi: Update.
58661         * doc/posix-functions/iswupper.texi: Update.
58662         * doc/posix-functions/iswxdigit.texi: Update.
58663         * doc/posix-functions/towlower.texi: Update.
58664         * doc/posix-functions/towupper.texi: Update.
58665         * NEWS: Mention the change.
58666         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
58667         * modules/mbchar (Dependencies): Likewise.
58668         * modules/mbswidth (Dependencies): Likewise.
58669         * modules/quotearg (Dependencies): Likewise.
58670         * modules/regex (Dependencies): Likewise.
58671         * modules/wcscasecmp (Dependencies): Likewise.
58672         * modules/wcsncasecmp (Dependencies): Likewise.
58673         * modules/wcwidth (Dependencies): Likewise.
58675 2011-02-06  Bruno Haible  <bruno@clisp.org>
58677         New module 'wcswidth'.
58678         * modules/wcswidth: New file.
58679         * lib/wchar.in.h (wcswidth): New declaration.
58680         * lib/wcswidth.c: New file.
58681         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
58682         * m4/wcswidth.m4: New file.
58683         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
58684         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
58685         REPLACE_WCSWIDTH.
58686         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
58687         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
58688         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
58689         * doc/posix-functions/wcswidth.texi: Mention the new module.
58691 2011-02-06  Bruno Haible  <bruno@clisp.org>
58693         New module 'wcstok'.
58694         * modules/wcstok: New file.
58695         * lib/wchar.in.h (wcstok): New declaration.
58696         * lib/wcstok.c: New file.
58697         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
58698         * m4/wcstok.m4: New file.
58699         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
58700         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
58701         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
58702         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
58703         * doc/posix-functions/wcstok.texi: Mention the new module.
58705 2011-02-06  Bruno Haible  <bruno@clisp.org>
58707         New module 'wcsstr'.
58708         * modules/wcsstr: New file.
58709         * lib/wchar.in.h (wcsstr): New declaration.
58710         * lib/wcsstr.c: New file.
58711         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
58712         * m4/wcsstr.m4: New file.
58713         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
58714         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
58715         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
58716         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
58717         * doc/posix-functions/wcsstr.texi: Mention the new module.
58719 2011-02-06  Bruno Haible  <bruno@clisp.org>
58721         New module 'wcspbrk'.
58722         * modules/wcspbrk: New file.
58723         * lib/wchar.in.h (wcspbrk): New declaration.
58724         * lib/wcspbrk.c: New file.
58725         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
58726         * m4/wcspbrk.m4: New file.
58727         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
58728         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
58729         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
58730         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
58731         * doc/posix-functions/wcspbrk.texi: Mention the new module.
58733 2011-02-06  Bruno Haible  <bruno@clisp.org>
58735         New module 'wcsspn'.
58736         * modules/wcsspn: New file.
58737         * lib/wchar.in.h (wcsspn): New declaration.
58738         * lib/wcsspn.c: New file.
58739         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
58740         * m4/wcsspn.m4: New file.
58741         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
58742         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
58743         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
58744         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
58745         * doc/posix-functions/wcsspn.texi: Mention the new module.
58747 2011-02-06  Bruno Haible  <bruno@clisp.org>
58749         New module 'wcscspn'.
58750         * modules/wcscspn: New file.
58751         * lib/wchar.in.h (wcscspn): New declaration.
58752         * lib/wcscspn.c: New file.
58753         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
58754         * m4/wcscspn.m4: New file.
58755         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
58756         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
58757         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
58758         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
58759         * doc/posix-functions/wcscspn.texi: Mention the new module.
58761 2011-02-06  Bruno Haible  <bruno@clisp.org>
58763         New module 'wcsrchr'.
58764         * modules/wcsrchr: New file.
58765         * lib/wchar.in.h (wcsrchr): New declaration.
58766         * lib/wcsrchr.c: New file.
58767         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
58768         * m4/wcsrchr.m4: New file.
58769         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
58770         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
58771         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
58772         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
58773         * doc/posix-functions/wcsrchr.texi: Mention the new module.
58775 2011-02-06  Bruno Haible  <bruno@clisp.org>
58777         New module 'wcschr'.
58778         * modules/wcschr: New file.
58779         * lib/wchar.in.h (wcschr): New declaration.
58780         * lib/wcschr.c: New file.
58781         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
58782         * m4/wcschr.m4: New file.
58783         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
58784         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
58785         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
58786         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
58787         * doc/posix-functions/wcschr.texi: Mention the new module.
58789 2011-02-06  Bruno Haible  <bruno@clisp.org>
58791         New module 'wcsdup'.
58792         * modules/wcsdup: New file.
58793         * lib/wchar.in.h (wcsdup): New declaration.
58794         * lib/wcsdup.c: New file.
58795         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
58796         * m4/wcsdup.m4: New file.
58797         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
58798         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
58799         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
58800         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
58801         * doc/posix-functions/wcsdup.texi: Mention the new module.
58803 2011-02-06  Bruno Haible  <bruno@clisp.org>
58805         New module 'wcsxfrm'.
58806         * modules/wcsxfrm: New file.
58807         * lib/wchar.in.h (wcsxfrm): New declaration.
58808         * lib/wcsxfrm.c: New file.
58809         * lib/wcsxfrm-impl.h: New file.
58810         * m4/wcsxfrm.m4: New file.
58811         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
58812         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
58813         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
58814         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
58815         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
58817 2011-02-06  Bruno Haible  <bruno@clisp.org>
58819         New module 'wcscoll'.
58820         * modules/wcscoll: New file.
58821         * lib/wchar.in.h (wcscoll): New declaration.
58822         * lib/wcscoll.c: New file.
58823         * lib/wcscoll-impl.h: New file.
58824         * m4/wcscoll.m4: New file.
58825         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
58826         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
58827         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
58828         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
58829         * doc/posix-functions/wcscoll.texi: Mention the new module.
58831 2011-02-06  Bruno Haible  <bruno@clisp.org>
58833         New module 'wcsncasecmp'.
58834         * modules/wcsncasecmp: New file.
58835         * lib/wchar.in.h (wcsncasecmp): New declaration.
58836         * lib/wcsncasecmp.c: New file.
58837         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
58838         * m4/wcsncasecmp.m4: New file.
58839         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
58840         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
58841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
58842         HAVE_WCSNCASECMP.
58843         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
58844         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
58846 2011-02-06  Bruno Haible  <bruno@clisp.org>
58848         New module 'wcscasecmp'.
58849         * modules/wcscasecmp: New file.
58850         * lib/wchar.in.h (wcscasecmp): New declaration.
58851         * lib/wcscasecmp.c: New file.
58852         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
58853         * m4/wcscasecmp.m4: New file.
58854         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
58855         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
58856         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
58857         HAVE_WCSCASECMP.
58858         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
58859         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
58861 2011-02-05  Bruno Haible  <bruno@clisp.org>
58863         New module 'wcsncmp'.
58864         * modules/wcsncmp: New file.
58865         * lib/wchar.in.h (wcsncmp): New declaration.
58866         * lib/wcsncmp.c: New file.
58867         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
58868         * m4/wcsncmp.m4: New file.
58869         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
58870         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
58871         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
58872         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
58873         * doc/posix-functions/wcsncmp.texi: Mention the new module.
58875 2011-02-05  Bruno Haible  <bruno@clisp.org>
58877         New module 'wcscmp'.
58878         * modules/wcscmp: New file.
58879         * lib/wchar.in.h (wcscmp): New declaration.
58880         * lib/wcscmp.c: New file.
58881         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
58882         * m4/wcscmp.m4: New file.
58883         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
58884         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
58885         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
58886         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
58887         * doc/posix-functions/wcscmp.texi: Mention the new module.
58889 2011-02-05  Bruno Haible  <bruno@clisp.org>
58891         New module 'wcsncat'.
58892         * modules/wcsncat: New file.
58893         * lib/wchar.in.h (wcsncat): New declaration.
58894         * lib/wcsncat.c: New file.
58895         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
58896         * m4/wcsncat.m4: New file.
58897         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
58898         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
58899         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
58900         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
58901         * doc/posix-functions/wcsncat.texi: Mention the new module.
58903 2011-02-05  Bruno Haible  <bruno@clisp.org>
58905         New module 'wcscat'.
58906         * modules/wcscat: New file.
58907         * lib/wchar.in.h (wcscat): New declaration.
58908         * lib/wcscat.c: New file.
58909         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
58910         * m4/wcscat.m4: New file.
58911         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
58912         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
58913         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
58914         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
58915         * doc/posix-functions/wcscat.texi: Mention the new module.
58917 2011-02-05  Bruno Haible  <bruno@clisp.org>
58919         New module 'wcpncpy'.
58920         * modules/wcpncpy: New file.
58921         * lib/wchar.in.h (wcpncpy): New declaration.
58922         * lib/wcpncpy.c: New file.
58923         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
58924         * m4/wcpncpy.m4: New file.
58925         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
58926         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
58927         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
58928         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
58929         * doc/posix-functions/wcpncpy.texi: Mention the new module.
58931 2011-02-05  Bruno Haible  <bruno@clisp.org>
58933         New module 'wcsncpy'.
58934         * modules/wcsncpy: New file.
58935         * lib/wchar.in.h (wcsncpy): New declaration.
58936         * lib/wcsncpy.c: New file.
58937         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
58938         * m4/wcsncpy.m4: New file.
58939         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
58940         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
58941         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
58942         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
58943         * doc/posix-functions/wcsncpy.texi: Mention the new module.
58945 2011-02-05  Bruno Haible  <bruno@clisp.org>
58947         New module 'wcpcpy'.
58948         * modules/wcpcpy: New file.
58949         * lib/wchar.in.h (wcpcpy): New declaration.
58950         * lib/wcpcpy.c: New file.
58951         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
58952         * m4/wcpcpy.m4: New file.
58953         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
58954         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
58955         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
58956         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
58957         * doc/posix-functions/wcpcpy.texi: Mention the new module.
58959 2011-02-05  Bruno Haible  <bruno@clisp.org>
58961         New module 'wcscpy'.
58962         * modules/wcscpy: New file.
58963         * lib/wchar.in.h (wcscpy): New declaration.
58964         * lib/wcscpy.c: New file.
58965         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
58966         * m4/wcscpy.m4: New file.
58967         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
58968         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
58969         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
58970         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
58971         * doc/posix-functions/wcscpy.texi: Mention the new module.
58973 2011-02-05  Bruno Haible  <bruno@clisp.org>
58975         New module 'wcsnlen'.
58976         * modules/wcsnlen: New file.
58977         * lib/wchar.in.h (wcsnlen): New declaration.
58978         * lib/wcsnlen.c: New file.
58979         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
58980         * m4/wcsnlen.m4: New file.
58981         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
58982         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
58983         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
58984         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
58985         * doc/posix-functions/wcsnlen.texi: Mention the new module.
58987 2011-02-05  Bruno Haible  <bruno@clisp.org>
58989         New module 'wcslen'.
58990         * modules/wcslen: New file.
58991         * lib/wchar.in.h (wcslen): New declaration.
58992         * lib/wcslen.c: New file.
58993         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
58994         * m4/wcslen.m4: New file.
58995         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
58996         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
58997         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
58998         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
58999         * doc/posix-functions/wcslen.texi: Mention the new module.
59001 2011-02-05  Bruno Haible  <bruno@clisp.org>
59003         New module 'wmemset'.
59004         * modules/wmemset: New file.
59005         * lib/wchar.in.h (wmemset): New declaration.
59006         * lib/wmemset.c: New file.
59007         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
59008         * m4/wmemset.m4: New file.
59009         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
59010         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
59011         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
59012         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
59013         * doc/posix-functions/wmemset.texi: Mention the new module.
59015 2011-02-05  Bruno Haible  <bruno@clisp.org>
59017         New module 'wmemmove'.
59018         * modules/wmemmove: New file.
59019         * lib/wchar.in.h (wmemmove): New declaration.
59020         * lib/wmemmove.c: New file.
59021         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
59022         * m4/wmemmove.m4: New file.
59023         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
59024         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
59025         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
59026         HAVE_WMEMMOVE.
59027         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
59028         * doc/posix-functions/wmemmove.texi: Mention the new module.
59030 2011-02-05  Bruno Haible  <bruno@clisp.org>
59032         New module 'wmemcpy'.
59033         * modules/wmemcpy: New file.
59034         * lib/wchar.in.h (wmemcpy): New declaration.
59035         * lib/wmemcpy.c: New file.
59036         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
59037         * m4/wmemcpy.m4: New file.
59038         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
59039         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
59040         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
59041         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
59042         * doc/posix-functions/wmemcpy.texi: Mention the new module.
59044 2011-02-05  Bruno Haible  <bruno@clisp.org>
59046         New module 'wmemcmp'.
59047         * modules/wmemcmp: New file.
59048         * lib/wchar.in.h (wmemcmp): New declaration.
59049         * lib/wmemcmp.c: New file.
59050         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
59051         * m4/wmemcmp.m4: New file.
59052         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
59053         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
59054         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
59055         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
59056         * doc/posix-functions/wmemcmp.texi: Mention the new module.
59058 2011-02-07  Jim Meyering  <meyering@redhat.com>
59060         di-set, ino-map: new modules, from coreutils
59061         * lib/di-set.c: New file.
59062         * lib/di-set.h: Likewise.
59063         * lib/ino-map.c: Likewise.
59064         * lib/ino-map.h: Likewise.
59065         * modules/di-set: Likewise.
59066         * modules/di-set-tests: Likewise.
59067         * modules/ino-map: Likewise.
59068         * modules/ino-map-tests: Likewise.
59069         * tests/test-di-set.c: Likewise.
59070         * tests/test-ino-map.c: Likewise.
59072 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
59074         getloadavg: merge minor changes from Emacs
59076         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
59077         (getloadavg): Use memset, not bzero.
59079         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
59080         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
59081         clash (bug#86).
59083 2010-11-14  Bruno Haible  <bruno@clisp.org>
59085         Allow multiple gnulib generated replacements to coexist.
59086         * lib/getopt.in.h (struct option): Avoid identical redefinition.
59087         * lib/inttypes.in.h (imaxdiv_t): Likewise.
59088         * lib/langinfo.in.h (nl_item): Likewise.
59089         * lib/math.in.h (_NaN, NAN): Likewise.
59090         * lib/netdb.in.h (struct addrinfo): Likewise.
59091         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
59092         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
59093         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
59094         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
59095         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
59096         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
59097         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
59098         pthread_mutexattr_init, pthread_mutexattr_settype,
59099         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
59100         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
59101         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
59102         pthread_spin_trylock, pthread_spin_unlock): Likewise.
59103         * lib/sched.in.h (struct sched_param): Likewise.
59104         * lib/se-selinux.in.h (security_class_t, security_context_t,
59105         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
59106         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
59107         lsetfilecon, fsetfilecon, security_check_context,
59108         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
59109         Likewise.
59110         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
59111         Likewise.
59112         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
59113         _gl_function_taking_int_returning_void_t, union sigval,
59114         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
59115         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
59116         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
59117         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
59118         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
59119         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
59120         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
59121         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
59122         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
59123         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
59124         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
59125         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
59126         socklen_t, rpl_fd_isset): Likewise.
59127         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
59128         * lib/sys_time.in.h (struct timeval): Likewise.
59129         * lib/sys_times.in.h (struct tms): Likewise.
59130         * lib/sys_utsname.in.h (struct utsname):
59131         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
59132         * lib/unistd.in.h (getpagesize): Likewise.
59133         * lib/wchar.in.h (mbstate_t): Likewise.
59134         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59135         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
59136         towlower, towupper): Likewise.
59137         Reported by Sam Steingold <sds@gnu.org>.
59139 2011-02-05  Eric Blake  <eblake@redhat.com>
59141         unsetenv: work around Haiku issues
59142         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
59143         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
59145 2010-12-30  Bruce Korb  <bkorb@gnu.org>
59147         libposix: avoid calling error() within libposix
59148         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
59149         is defined.
59151 2011-02-05  Eric Blake  <eblake@redhat.com>
59153         strerror_r-posix: port to cygwin
59154         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
59155         implementation.
59156         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
59157         * tests/test-strerror_r.c (main): Fix test.
59158         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
59159         issue.
59161 2011-02-05  Bruno Haible  <bruno@clisp.org>
59163         New module 'wmemchr'.
59164         * modules/wmemchr: New file.
59165         * lib/wchar.in.h (wmemchr): New declaration.
59166         * lib/wmemchr.c: New file.
59167         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
59168         * m4/wmemchr.m4: New file.
59169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
59170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
59171         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
59172         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
59173         * doc/posix-functions/wmemchr.texi: Mention the new module.
59175 2011-02-04  Eric Blake  <eblake@redhat.com>
59177         fdopendir: detect FreeBSD bug
59178         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
59179         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
59181 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59183         stdbool: do not define HAVE_STDBOOL_H
59184         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
59185         AC_HEADER_STDBOOL.  All uses changed.  Do not define
59186         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
59187         imported from the latest Autoconf git.  It was motivated by Emacs,
59188         which uses gnulib but does not need HAVE_STDBOOL_H.
59190 2011-02-04  Bruno Haible  <bruno@clisp.org>
59192         wcsnrtombs: Prepare for new module wwcsnrtombs.
59193         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
59194         * lib/wcsnrtombs.c: Include it.
59195         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
59197         wcsrtombs: Prepare for new module wwcsrtombs.
59198         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
59199         * lib/wcsrtombs.c: Include it.
59200         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
59202         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
59203         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
59204         * lib/mbsnrtowcs.c: Include it.
59205         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
59207         mbsrtowcs: Prepare for new module mbsrtowwcs.
59208         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
59209         * lib/mbsrtowcs.c: Include it.
59210         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
59212 2011-02-04  Bruno Haible  <bruno@clisp.org>
59214         vasnprintf: Reduce use of malloc for small format strings.
59215         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
59216         (arguments): Add room for the first 7 arguments.
59217         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
59218         (char_directives, u8_directives, u16_directives, u32_directives): Add
59219         room for the first 7 directives.
59220         * lib/printf-parse.c: Include <string.h>.
59221         (PRINTF_PARSE): Change memory handling code so that it uses the first
59222         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
59223         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
59224         Reported by Pádraig Brady <P@draigbrady.com>.
59226 2011-01-31  Eric Blake  <eblake@redhat.com>
59228         dup2: work around Haiku bug
59229         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
59230         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
59231         * doc/posix-functions/dup2.texi (dup2): Document the bug.
59232         * tests/test-dup2.c (main): Enhance test.
59234 2011-01-31  Simon Josefsson  <simon@josefsson.org>
59236         doc: off_t is not available in eglibc 2.11.2 stdio.h.
59237         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
59238         declared by eglibc 2.11.2.
59239         * lib/stdio.in.h: Likewise.
59241 2011-01-31  Eric Blake  <eblake@redhat.com>
59243         ignore-value: add missing test dependency
59244         * tests/test-ignore-value.c: Revert previous change; stdio.h
59245         provides off_t.
59246         * modules/ignore-value-tests (Depends-on): Add missing dependency.
59248 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
59250         mktime: clarify long_int width checking
59251         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
59252         the top level, to make it clearer that the assumption about
59253         long_int width is being checked.  See
59254         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
59256 2011-01-30  Simon Josefsson  <simon@josefsson.org>
59258         ignore-value: Fix self-test.
59259         * tests/test-ignore-value.c: Include sys/types.h for off_t.
59261 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59263         TYPE_MAXIMUM: avoid theoretically undefined behavior
59264         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
59265         negative number, which the C Standard says has undefined behavior.
59266         In practice this is not a problem, but might as well do it by the book.
59267         Reported by Rich Felker and Eric Blake; see
59268         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
59269         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
59270         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59271         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59272         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
59273         * m4/stdint.m4 (gl_STDINT_H): Likewise.
59274         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
59276         mktime: #undef mktime before #defining it
59277         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
59279         mktime: systematically normalize tm_isdst comparisons
59280         * lib/mktime.c (isdst_differ): New function.
59281         (__mktime_internal): Use it systematically for all isdst comparisons.
59282         This completes the fix for libc BZ #6723, and removes the need for
59283         normalizing tm_isdst.  See
59284         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
59285         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
59287         mktime: fix some integer overflow issues and sidestep the rest
59289         This was prompted by a bug report by Benjamin Lindner for MinGW
59290         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
59291         His bug is due to signed integer overflow (0 - INT_MIN), and I
59292         I scanned through mktime.c looking for other integer overflow
59293         problems, fixing all the bugs I found.
59295         Although the C Standard says the resulting code is still not safe
59296         in the presence of integer overflow, in practice it should be good
59297         enough for all real-world two's-complement implementations, except
59298         for debugging environments that deliberately trap on integer
59299         overflow (e.g., gcc -ftrapv).
59301         * lib/mktime.c (WRAPV): New macro.
59302         (SHR): Also check that long_int and time_t shift right in the
59303         usual way, before using the fast-but-unportable method.
59304         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
59305         used.  The code already assumed two's complement, so there's
59306         no need to test for alternatives.  All uses removed.
59307         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
59308         the C standard.  Problem reported by Rich Felker in
59309         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
59310         (twos_complement_arithmetic): Also check long_int and time_t.
59311         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
59312         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
59313         (__mktime_internal): Avoid integer overflow with unary subtraction
59314         in two instances where -1 - X is an adequate replacement for -X,
59315         since the calculations are approximate.
59317 2011-01-29  Eric Blake  <eblake@redhat.com>
59319         mktime: avoid infinite loop
59320         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
59321         type; behavior is still undefined but portable to all known targets.
59322         Reported by Rich Felker.
59324 2011-01-29  Simon Josefsson  <simon@josefsson.org>
59326         rename, unlink, same-inode: Relicense.
59327         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
59328         * modules/unlink (License): Likewise.
59329         * modules/same-inode (License): Likewise.
59331 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59333         mktime: avoid problems on NetBSD 5 / i386
59334         * lib/mktime.c (long_int): New type.  This works around a problem
59335         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
59336         but time_t is 64 bits, and where I expect the existing code is
59337         wrong in some cases.
59338         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
59339         (ydhms_diff): Bring back the compile-time check for wide-enough
59340         year and yday.
59342         mktime: fix misspelling in comment
59343         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
59344         This merges all recent glibc changes of importance.
59346 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59348         move-if-change: cope with concurrent mv of identical file.
59349         * build-aux/move-if-change (CMPPROG): Accept environment
59350         variable as an override for `cmp'.
59351         (usage): Document CMPPROG.
59352         Adjust comparison to drop stdout.  Cope with failure of mv if
59353         the target file exists and is identical to the source, for
59354         parallel builds.
59355         Report from H.J. Lu against binutils in PR binutils/12283.
59357 2011-01-28  Bruce Korb  <bkorb@gnu.org>
59359         * users.txt: Mention sharutils.
59361 2011-01-28  Simon Josefsson  <simon@josefsson.org>
59363         * users.txt: Mention OATH Toolkit.
59365 2011-01-27  Bruno Haible  <bruno@clisp.org>
59367         Prepare for supporting FreeBSD 10.
59368         * build-aux/config.libpath: Remove handling of freebsd1*.
59370 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
59372         Prepare for supporting FreeBSD 10.
59373         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
59374         match FreeBSD 10.0.
59376 2011-01-27  Bruno Haible  <bruno@clisp.org>
59378         vma-iter, get-rusage-as: Add OpenBSD support.
59379         * modules/vma-iter (configure.ac): Test for mquery.
59380         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
59381         * lib/vma-iter.c: Include <sys/mman.h>.
59382         (vma_iterate): Add an implementation based on mquery().
59383         * lib/resource-ext.h (get_rusage_as): Update comments.
59384         * lib/get-rusage-as.c: Likewise.
59385         * lib/get-rusage-data.c: Likewise.
59387 2011-01-26  Karl Berry  <karl@gnu.org>
59389         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
59390         variables to make it easier to override the makeinfo program used.
59392 2011-01-26  Eric Blake  <eblake@redhat.com>
59394         fcntl: work around Haiku F_DUPFD bugs
59395         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
59396         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
59397         cloexec bit on duplication.
59398         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
59400 2011-01-26  Bruno Haible  <bruno@clisp.org>
59402         Enable memory leak tests on AIX.
59403         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
59404         * tests/test-fprintf-posix3.c (main): Likewise.
59406 2011-01-26  Bruno Haible  <bruno@clisp.org>
59408         Tests for module 'get-rusage-data'.
59409         * modules/get-rusage-data-tests: New file.
59410         * tests/test-get-rusage-data.c: New file.
59412         New module 'get-rusage-data'.
59413         * lib/resource-ext.h (get_rusage_data): New declaration.
59414         * lib/get-rusage-data.c: New file.
59415         * modules/get-rusage-data: New file.
59417 2011-01-25  Bruno Haible  <bruno@clisp.org>
59419         get-rusage-as: Allow for easier testing.
59420         * lib/resource-ext.h (get_rusage_as): Add comment.
59421         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
59422         (main): New function for interactive testing.
59424 2011-01-25  Bruno Haible  <bruno@clisp.org>
59426         vma-iter: Treat Haiku like BeOS.
59427         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
59428         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
59430 2011-01-25  Eric Blake  <eblake@redhat.com>
59432         c-stack: fix regression on cygwin when libsigsegv is present
59433         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
59435 2011-01-24  Bruno Haible  <bruno@clisp.org>
59437         vma-iter: Avoid empty intervals.
59438         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
59439         on an empty interval.
59441 2011-01-24  Jim Meyering  <meyering@redhat.com>
59443         u64: remove unnecessary #include
59444         * lib/u64.h: Don't include <stddef.h>.  It was not used.
59446 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59448         Allow the user to avoid the HAVE_RAW_DECL_* macros.
59449         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
59451 2011-01-23  Bruno Haible  <bruno@clisp.org>
59453         New module 'vma-iter'.
59454         * lib/vma-iter.h: New file.
59455         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
59456         * modules/vma-iter: New file.
59457         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
59458         for get_rusage_as_via_iterator.
59459         (vma_iterate_callback): New function.
59460         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
59461         * modules/get-rusage-as (Depends-on): Add vma-iter.
59463 2011-01-23  Bruno Haible  <bruno@clisp.org>
59465         uninorm: Tweak includes.
59466         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
59467         Reported by Jim Meyering.
59469 2011-01-23  Bruno Haible  <bruno@clisp.org>
59471         get-rusage-as: Improve on NetBSD.
59472         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
59473         /proc, like on FreeBSD.
59475 2011-01-23  Jim Meyering  <meyering@redhat.com>
59477         xreadlink.h: remove unnecessary #include
59478         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
59480         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
59481         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
59483 2011-01-23  Bruno Haible  <bruno@clisp.org>
59485         get-rusage-as: Fix bug.
59486         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
59487         original limit when aborting the first loop.
59489 2011-01-23  Bruno Haible  <bruno@clisp.org>
59491         wctype: Ensure valid C syntax.
59492         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
59493         unconditionally, instead of gl_NEXT_HEADERS conditionally.
59495 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59497         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
59498         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
59499         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
59500         as they are needed only for configure's test case.
59501         This removes two unnecessary symbols from config.h.
59503         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
59504         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
59505         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
59506         AC_CHECK_HEADERS_ONCE on a header that we also invoke
59507         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
59508         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
59509         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
59510         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
59511         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
59512         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
59513         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
59514         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59515         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
59516         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
59517         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
59518         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
59519         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
59520         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
59522 2011-01-21  Eric Blake  <eblake@redhat.com>
59524         maintainer-makefile: work with older git for submodule check
59525         * top/maint.mk (public-submodule-commit): Rewrite to avoid
59526         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
59527         Reported by Matthias Bolte.
59529         bootstrap: minor portability fixes
59530         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
59531         (usage): Omit leading capital and trailing . on help phrases, per
59532         GNU Coding Standards.
59533         (check_versions, top level): Prefix messages with script name.
59535 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
59537         bootstrap: support --no-git option
59538         * build-aux/bootstrap: Add --no-git option, to be used when
59539         --gnulib-srcdir points to the exact desired checkout.
59541 2011-01-21  Eric Blake  <eblake@redhat.com>
59543         strerror_r-posix: work with glibc 2.13
59544         * lib/strerror_r.c (strerror_r): Fix return type.
59546 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59547             Bruno Haible  <bruno@clisp.org>
59549         uN_strstr: New unit tests.
59550         * modules/unistr/u8-strstr-tests: New file.
59551         * modules/unistr/u16-strstr-tests: New file.
59552         * modules/unistr/u32-strstr-tests: New file.
59553         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
59554         * tests/unistr/test-u8-strstr.c: New file.
59555         * tests/unistr/test-u16-strstr.c: New file.
59556         * tests/unistr/test-u32-strstr.c: New file.
59558 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59559             Bruno Haible  <bruno@clisp.org>
59561         Make uN_strstr functions O(n) worst-case.
59562         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
59563         16-bit and 32-bit unit cases, use the unibyte algorithm from
59564         lib/mbsstr.c.
59565         * lib/unistr/u8-strstr.c: Include <string.h>.
59566         (UNIT_IS_UINT8_T): New macro.
59567         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
59568         (U_STRLEN, U_STRNLEN): New macros.
59569         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
59570         (U_STRLEN, U_STRNLEN): New macros.
59571         * modules/unistr/u8-strstr (Depends-on): Add strstr.
59572         (configure.ac): Update required libunistring version.
59573         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
59574         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
59575         malloca.
59576         (configure.ac): Update required libunistring version.
59577         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
59578         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
59579         malloca.
59580         (configure.ac): Update required libunistring version.
59582 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59583             Bruno Haible  <bruno@clisp.org>
59585         Prepare for faster uN_strstr functions.
59586         * lib/str-kmp.h: Support definable UNITs.
59587         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
59588         needle_len argument.
59589         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
59590         * lib/mbscasestr.c (mbscasestr): Likewise.
59592 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59594         malloca-tests: make faster by unsetting MALLOC_PERTURB_
59595         * tests/test-malloca.c (main): Unset the environment variable
59596         to greatly speed up the test.
59597         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
59598         * modules/malloca-tests: Depend on unsetenv.
59600 2011-01-21  Pádraig Brady  <P@draigBrady.com>
59602         ignore-value: remove stdint dependency
59603         * lib/ignore-value.h: Remove <stdint.h>
59604         * modules/ignore-value: Remove stdint dependency.
59606 2011-01-21  Jim Meyering  <meyering@redhat.com>
59608         maint.mk: adjust variable name to be consistent with other gl_ vars
59609         * top/maint.mk (gl_public_submodule_commit): Rename the variable
59610         to be lower case.
59612 2011-01-20  Jim Meyering  <meyering@redhat.com>
59614         maint.mk: make "check" depend on public-submodule-commit by default
59615         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
59617 2011-01-20  Bruno Haible  <bruno@clisp.org>
59619         mbfile, mbiter: Complete change from 2008-12-21.
59620         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
59621         * m4/mbiter.m4 (gl_MBITER): Likewise.
59623 2011-01-20  Jim Meyering  <meyering@redhat.com>
59625         init.sh: insert space between each function name and "()"
59626         * tests/init.sh: Make it a little easier to see that a function's
59627         name is "warn_", and not "warn" when looking at the first part of
59628         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
59630 2011-01-20  Jim Meyering  <meyering@redhat.com>
59632         mountlist: clean up code formatting
59633         * lib/mountlist.c (read_file_system_list): Split a long line,
59634         correct bracing style, use NULL in place of "(struct statfs *)0",
59635         don't parenthesize return value, add spaces around "=" and after
59636         ";-in-for-stmt".
59638 2011-01-14  Markus Duft  <mduft@gentoo.org>
59640         mountlist: add support for Interix
59641         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
59642         Apply statvfs to all entries of /dev/fs.
59643         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
59644         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
59646 2011-01-20  Jim Meyering  <meyering@redhat.com>
59648         maint.mk: improve the public-submodule-commit rule
59649         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
59650         to suppress printing of its commands... unless V=1.
59651         Add git submodule's --quiet option to suppress printing of e.g.,
59652         "Entering gnulib" output.
59653         "cd" into $(srcdir) before running git submodule.
59655 2011-01-20  Bruno Haible  <bruno@clisp.org>
59657         include_next: Fix bug introduced on 2011-01-18.
59658         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
59659         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
59660         ac_cv_header_... variable if the second argument is not 'check'.
59661         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
59662         gl_NEXT_HEADERS_INTERNAL.
59664 2011-01-20  Bruno Haible  <bruno@clisp.org>
59666         Allow the user to avoid the GNULIB_TEST_* macros.
59667         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
59668         Suggested by Paul Eggert.
59670 2011-01-14  Jim Meyering  <meyering@redhat.com>
59672         bootstrap: avoid failure when there is no .gitmodules file
59673         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
59674         has been assigned to, even when its value is the empty string.
59675         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
59676         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
59677         Reported by John W. Eaton <jwe@gnu.org>.
59679 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59681         assume <ctype.h>, ..., <time.h> exist
59682         For years gnulib has been assuming the existence of the headers
59683         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
59684         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
59685         them, since they don't appear to be needed.
59686         * README (Portability guidelines): Document this.
59687         * lib/flock.c: Assume <fcntl.h> exists.
59688         * lib/regex_internal.h: Assume <locale.h> exists.
59689         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
59690         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
59691         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
59692         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
59693         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
59694         * m4/regex.m4 (gl_REGEX): Likewise.
59695         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
59696         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
59697         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
59698         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
59699         * tests/test-argp.c: Likewise.
59700         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
59702         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
59703         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
59704         AA_APPLE_UNIVERSAL_BUILD.  See
59705         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
59706         * NEWS: Document this.
59708 2011-01-19  Eric Blake  <eblake@redhat.com>
59710         c-stack: assume stack overflow if SA_SIGINFO unsupported
59711         * lib/c-stack.c (SIGACTION_WORKS): Rename...
59712         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
59713         sigaction will work.
59714         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
59715         behavior match Linux.
59716         * tests/test-c-stack.c (main): Prefer NULL for pointers.
59718         stdbool-tests: accommodate Haiku
59719         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
59721         binary-io: fix O_TEXT on Haiku
59722         * modules/binary-io (Depends-on): Add fcntl-h.
59723         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
59724         than blindly undefining O_TEXT.
59725         Reported by Scott McCreary.
59727 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59729         include_next: do not check for standard headers like stddef.h
59731         I found this problem when modifying Emacs to use gnulib.
59732         I noticed that it added HAVE_STDDEF_H to config.h, even though
59733         gnulib always assumes <stddef.h> exists as per README and this
59734         symbol is unnecessary.
59735         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
59736         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
59737         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
59738         faster for headers like stddef.h that are known to exist.
59739         (gl_CHECK_NEXT_HEADERS): Use it.
59740         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
59741         rather than gl_CHECK_NEXT_HEADERS.
59742         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
59743         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
59745 2011-01-18  Eric Blake  <eblake@redhat.com>
59747         ansi-c++-opt: skip C++ dependency style if C++ is unused
59748         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
59749         tests when we know C++ compilation is not desired.
59750         Reported by Scott McCreary.
59752 2011-01-18  Bruno Haible  <bruno@clisp.org>
59754         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
59755         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
59756         (main): Perform test also when getrlimit and setrlimit don't exist or
59757         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
59758         limiting the address space size using setrlimit, compare the address
59759         space size before and after the test.
59760         * tests/test-dprintf-posix2.c: Likewise.
59761         * tests/test-fprintf-posix3.sh: Update skip messages.
59762         * tests/test-dprintf-posix2.sh: Likewise.
59763         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
59764         * modules/dprintf-posix-tests (Depends-on): Likewise.
59765         Reported by Bruce Korb <bkorb@gnu.org> and
59766         Gary V. Vaughan <gary@gnu.org>.
59768 2011-01-18  Bruno Haible  <bruno@clisp.org>
59770         get-rusage-as: Improvement for Cygwin.
59771         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
59772         areas that are merely reserved.
59774 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59776         strftime: remove dependencies on multibyte modules
59778         strftime depended on mbrlen, mbsinit, and wchar, but these modules
59779         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
59780         only if __osf__ is defined, and I suspect OSF doesn't need these
59781         other modules.  If my guess is wrong, we'll need to come up with a
59782         variant of strftime that doesn't need the multibyte modules.
59784         I discovered this problem when attempting modify Emacs to use the
59785         strftime module.  With the previous gnulib, this caused Emacs to
59786         need 31 new files, ranging from lib/config.charset to
59787         m4/wint_t.m4.  This was overkill and I expect would be offputting
59788         to the Emacs maintainers.  After this change, only 6 new files are
59789         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
59790         stdbool.m4, and tm_gmtoff.m4.
59792         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
59793         Suggested by Bruno Haible in
59794         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
59795         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
59796         and do not check for wchar.h.
59797         * modules/strftime (Files): Remove m4/mbstate_t.m4.
59798         (Depends-on): Remove mbrlen, mbsinit, wchar.
59800 2011-01-18  Bruno Haible  <bruno@clisp.org>
59802         Tests for module 'get-rusage-as'.
59803         * modules/get-rusage-as-tests: New file.
59804         * tests/test-get-rusage-as.c: New file.
59806         New module 'get-rusage-as'.
59807         * modules/get-rusage-as: New file.
59808         * lib/resource-ext.h: New file.
59809         * lib/get-rusage-as.c: New file.
59811 2011-01-17  Eric Blake  <eblake@redhat.com>
59813         sigaction: relax license from LGPLv3+ to LGPLv2+
59814         * modules/sigaction (License): Relax to LGPLv2+.
59816 2011-01-14  Bruno Haible  <bruno@clisp.org>
59818         filemode: Make function declarations usable in C++ mode.
59819         * lib/filemode.h: Enclose function declarations in extern "C" block.
59820         Reported by John W. Eaton <jwe@gnu.org>.
59822 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
59824         save-cwd: no longer include "xgetcwd.h"
59825         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
59826         This avoids a compilation failure in projects that use save-cwd
59827         without also using the xgetcwd module.
59829 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
59831         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
59832         This is so that a program like Emacs, which needs only dtoastr,
59833         does not have to bother with distributing and compiling ftoastr
59834         and ldtoastr.
59835         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
59836         * modules/dtoastr, modules/ldtoastr: New files.
59837         * modules/ftoastr: Now works just for 'float'.
59838         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
59839         (Makefile.am): Remove ftoastr.h (not needed and no effect),
59840         dtoastr.c, ldtoastr.c.
59842 2011-01-11  Jim Meyering  <meyering@redhat.com>
59844         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
59845         There is no need to work around the lack of the fchdir function,
59846         since gnulib can now provide a replacement when required.
59847         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
59848         * modules/save-cwd (Depends-on): Add fchdir.
59850 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
59852         openat, save-cwd: avoid xmalloc
59854         This removes a direct (but undocumented) dependency of openat on
59855         xalloc, along with an indirect dependency via save-cwd.  It also
59856         removes a dependency of save-cwd on xgetcwd, and thereby
59857         indirectly on xalloc.  This change causes the openat substitute
59858         to fall back on save_cwd when memory is tight, and for save_cwd to
59859         fail instead of dying when memory is tight, but that's good enough.
59860         Problem and initial idea for fix reported by Bastien Roucaries in
59861         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
59863         * lib/openat-proc.c: Include stdlib.h (for malloc), not
59864         xalloc.h (for xmalloc).
59865         (openat_proc_name): Use malloc, not xmalloc.
59866         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
59867         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
59869         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
59870         This avoids heap allocation for file names whose lengths are in
59871         the range 512..1023, with the upper bound increasing to at most
59872         4031 depending on the platform's PATH_MAX.  (We do not want
59873         pathmax.h here as it might supply a non-constant PATH_MAX.)
59874         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
59875         Perhaps they should be moved to malloca.h?
59876         (OPENAT_BUFFER_SIZE): Use them.
59878 2011-01-10  Bruno Haible  <bruno@clisp.org>
59880         doc: Update users.txt.
59881         * users.txt: Add recutils.
59883 2011-01-09  Karl Berry  <karl@gnu.org>
59885         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
59887         * doc/configmake.texi: New file.
59888         * doc/gnulib.texi: Include it.
59889         * modules/configmake: Move documentation from here.
59891 2011-01-09  Bruno Haible  <bruno@clisp.org>
59893         Update to Unicode 6.0.0.
59894         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
59895         (get_lbp): Update for Unicode 6.0.0.
59896         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
59897         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
59898         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
59899         U+11001, U+11038..U+11046. Remove U+06DE.
59900         (uc_width): Fix bounds of planes.
59901         * tests/uniwidth/test-uc_width2.sh: Same updates as in
59902         lib/uniwidth/width.c.
59903         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
59904         trailing whitespace removed.
59905         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
59906         without comments, but with the original copyright notice.
59907         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
59908         * lib/unicase/ignorable.h: Likewise.
59909         * lib/unicase/tocasefold.h: Likewise.
59910         * lib/unicase/tolower.h: Likewise.
59911         * lib/unicase/totitle.h: Likewise.
59912         * lib/unicase/toupper.h: Likewise.
59913         * lib/unictype/bidi_of.h: Likewise.
59914         * lib/unictype/blocks.h: Likewise.
59915         * lib/unictype/categ_C.h: Likewise.
59916         * lib/unictype/categ_Cn.h: Likewise.
59917         * lib/unictype/categ_L.h: Likewise.
59918         * lib/unictype/categ_Ll.h: Likewise.
59919         * lib/unictype/categ_Lm.h: Likewise.
59920         * lib/unictype/categ_Lo.h: Likewise.
59921         * lib/unictype/categ_Lu.h: Likewise.
59922         * lib/unictype/categ_M.h: Likewise.
59923         * lib/unictype/categ_Mc.h: Likewise.
59924         * lib/unictype/categ_Me.h: Likewise.
59925         * lib/unictype/categ_Mn.h: Likewise.
59926         * lib/unictype/categ_N.h: Likewise.
59927         * lib/unictype/categ_Nd.h: Likewise.
59928         * lib/unictype/categ_No.h: Likewise.
59929         * lib/unictype/categ_P.h: Likewise.
59930         * lib/unictype/categ_Po.h: Likewise.
59931         * lib/unictype/categ_S.h: Likewise.
59932         * lib/unictype/categ_Sc.h: Likewise.
59933         * lib/unictype/categ_Sk.h: Likewise.
59934         * lib/unictype/categ_Sm.h: Likewise.
59935         * lib/unictype/categ_So.h: Likewise.
59936         * lib/unictype/categ_of.h: Likewise.
59937         * lib/unictype/combining.h: Likewise.
59938         * lib/unictype/ctype_alnum.h: Likewise.
59939         * lib/unictype/ctype_alpha.h: Likewise.
59940         * lib/unictype/ctype_graph.h: Likewise.
59941         * lib/unictype/ctype_lower.h: Likewise.
59942         * lib/unictype/ctype_print.h: Likewise.
59943         * lib/unictype/ctype_punct.h: Likewise.
59944         * lib/unictype/ctype_upper.h: Likewise.
59945         * lib/unictype/decdigit.h: Likewise.
59946         * lib/unictype/digit.h: Likewise.
59947         * lib/unictype/numeric.h: Likewise.
59948         * lib/unictype/pr_alphabetic.h: Likewise.
59949         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59950         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59951         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59952         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59953         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59954         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59955         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59956         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59957         * lib/unictype/pr_case_ignorable.h: Likewise.
59958         * lib/unictype/pr_cased.h: Likewise.
59959         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
59960         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
59961         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
59962         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
59963         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
59964         * lib/unictype/pr_combining.h: Likewise.
59965         * lib/unictype/pr_composite.h: Likewise.
59966         * lib/unictype/pr_currency_symbol.h: Likewise.
59967         * lib/unictype/pr_decimal_digit.h: Likewise.
59968         * lib/unictype/pr_deprecated.h: Likewise.
59969         * lib/unictype/pr_format_control.h: Likewise.
59970         * lib/unictype/pr_grapheme_base.h: Likewise.
59971         * lib/unictype/pr_grapheme_extend.h: Likewise.
59972         * lib/unictype/pr_grapheme_link.h: Likewise.
59973         * lib/unictype/pr_id_continue.h: Likewise.
59974         * lib/unictype/pr_id_start.h: Likewise.
59975         * lib/unictype/pr_ideographic.h: Likewise.
59976         * lib/unictype/pr_lowercase.h: Likewise.
59977         * lib/unictype/pr_math.h: Likewise.
59978         * lib/unictype/pr_numeric.h: Likewise.
59979         * lib/unictype/pr_other_alphabetic.h: Likewise.
59980         * lib/unictype/pr_other_id_continue.h: Likewise.
59981         * lib/unictype/pr_other_math.h: Likewise.
59982         * lib/unictype/pr_punctuation.h: Likewise.
59983         * lib/unictype/pr_sentence_terminal.h: Likewise.
59984         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59985         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59986         * lib/unictype/pr_unified_ideograph.h: Likewise.
59987         * lib/unictype/pr_uppercase.h: Likewise.
59988         * lib/unictype/pr_xid_continue.h: Likewise.
59989         * lib/unictype/pr_xid_start.h: Likewise.
59990         * lib/unictype/scripts.h: Likewise.
59991         * lib/unictype/scripts_byname.gperf: Likewise.
59992         * lib/unictype/sy_java_ident.h: Likewise.
59993         * lib/unigbrk/gbrkprop.h: Likewise.
59994         * lib/unilbrk/lbrkprop1.h: Likewise.
59995         * lib/unilbrk/lbrkprop2.h: Likewise.
59996         * lib/uninorm/decomposition-table2.h: Likewise.
59997         * lib/uniwbrk/wbrkprop.h: Likewise.
59998         * tests/unicase/test-cased.c: Likewise.
59999         * tests/unicase/test-ignorable.c: Likewise.
60000         * tests/unicase/test-uc_tolower.c: Likewise.
60001         * tests/unicase/test-uc_totitle.c: Likewise.
60002         * tests/unicase/test-uc_toupper.c: Likewise.
60003         * tests/unictype/test-categ_C.c: Likewise.
60004         * tests/unictype/test-categ_Cn.c: Likewise.
60005         * tests/unictype/test-categ_L.c: Likewise.
60006         * tests/unictype/test-categ_Ll.c: Likewise.
60007         * tests/unictype/test-categ_Lm.c: Likewise.
60008         * tests/unictype/test-categ_Lo.c: Likewise.
60009         * tests/unictype/test-categ_Lu.c: Likewise.
60010         * tests/unictype/test-categ_M.c: Likewise.
60011         * tests/unictype/test-categ_Mc.c: Likewise.
60012         * tests/unictype/test-categ_Me.c: Likewise.
60013         * tests/unictype/test-categ_Mn.c: Likewise.
60014         * tests/unictype/test-categ_N.c: Likewise.
60015         * tests/unictype/test-categ_Nd.c: Likewise.
60016         * tests/unictype/test-categ_No.c: Likewise.
60017         * tests/unictype/test-categ_P.c: Likewise.
60018         * tests/unictype/test-categ_Po.c: Likewise.
60019         * tests/unictype/test-categ_S.c: Likewise.
60020         * tests/unictype/test-categ_Sc.c: Likewise.
60021         * tests/unictype/test-categ_Sk.c: Likewise.
60022         * tests/unictype/test-categ_Sm.c: Likewise.
60023         * tests/unictype/test-categ_So.c: Likewise.
60024         * tests/unictype/test-ctype_alnum.c: Likewise.
60025         * tests/unictype/test-ctype_alpha.c: Likewise.
60026         * tests/unictype/test-ctype_graph.c: Likewise.
60027         * tests/unictype/test-ctype_lower.c: Likewise.
60028         * tests/unictype/test-ctype_print.c: Likewise.
60029         * tests/unictype/test-ctype_punct.c: Likewise.
60030         * tests/unictype/test-ctype_upper.c: Likewise.
60031         * tests/unictype/test-decdigit.h: Likewise.
60032         * tests/unictype/test-digit.h: Likewise.
60033         * tests/unictype/test-numeric.h: Likewise.
60034         * tests/unictype/test-pr_alphabetic.c: Likewise.
60035         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60036         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60037         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60038         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60039         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60040         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60041         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60042         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60043         * tests/unictype/test-pr_case_ignorable.c: Likewise.
60044         * tests/unictype/test-pr_cased.c: Likewise.
60045         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
60046         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
60047         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
60048         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
60049         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
60050         * tests/unictype/test-pr_combining.c: Likewise.
60051         * tests/unictype/test-pr_composite.c: Likewise.
60052         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60053         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60054         * tests/unictype/test-pr_deprecated.c: Likewise.
60055         * tests/unictype/test-pr_format_control.c: Likewise.
60056         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60057         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60058         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60059         * tests/unictype/test-pr_id_continue.c: Likewise.
60060         * tests/unictype/test-pr_id_start.c: Likewise.
60061         * tests/unictype/test-pr_ideographic.c: Likewise.
60062         * tests/unictype/test-pr_lowercase.c: Likewise.
60063         * tests/unictype/test-pr_math.c: Likewise.
60064         * tests/unictype/test-pr_numeric.c: Likewise.
60065         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60066         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60067         * tests/unictype/test-pr_other_math.c: Likewise.
60068         * tests/unictype/test-pr_punctuation.c: Likewise.
60069         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60070         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60071         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60072         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60073         * tests/unictype/test-pr_uppercase.c: Likewise.
60074         * tests/unictype/test-pr_xid_continue.c: Likewise.
60075         * tests/unictype/test-pr_xid_start.c: Likewise.
60076         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60077         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60078         changes.
60079         * lib/unictype/categ_Cc.h: Likewise.
60080         * lib/unictype/categ_Cf.h: Likewise.
60081         * lib/unictype/categ_Co.h: Likewise.
60082         * lib/unictype/categ_Cs.h: Likewise.
60083         * lib/unictype/categ_Lt.h: Likewise.
60084         * lib/unictype/categ_Nl.h: Likewise.
60085         * lib/unictype/categ_Pc.h: Likewise.
60086         * lib/unictype/categ_Pd.h: Likewise.
60087         * lib/unictype/categ_Pe.h: Likewise.
60088         * lib/unictype/categ_Pf.h: Likewise.
60089         * lib/unictype/categ_Pi.h: Likewise.
60090         * lib/unictype/categ_Ps.h: Likewise.
60091         * lib/unictype/categ_Z.h: Likewise.
60092         * lib/unictype/categ_Zl.h: Likewise.
60093         * lib/unictype/categ_Zp.h: Likewise.
60094         * lib/unictype/categ_Zs.h: Likewise.
60095         * lib/unictype/ctype_blank.h: Likewise.
60096         * lib/unictype/ctype_cntrl.h: Likewise.
60097         * lib/unictype/ctype_digit.h: Likewise.
60098         * lib/unictype/ctype_space.h: Likewise.
60099         * lib/unictype/ctype_xdigit.h: Likewise.
60100         * lib/unictype/mirror.h: Likewise.
60101         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60102         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60103         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60104         * lib/unictype/pr_bidi_control.h: Likewise.
60105         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60106         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60107         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60108         * lib/unictype/pr_bidi_pdf.h: Likewise.
60109         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60110         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60111         * lib/unictype/pr_dash.h: Likewise.
60112         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60113         * lib/unictype/pr_diacritic.h: Likewise.
60114         * lib/unictype/pr_extender.h: Likewise.
60115         * lib/unictype/pr_hex_digit.h: Likewise.
60116         * lib/unictype/pr_hyphen.h: Likewise.
60117         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60118         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60119         * lib/unictype/pr_ignorable_control.h: Likewise.
60120         * lib/unictype/pr_iso_control.h: Likewise.
60121         * lib/unictype/pr_join_control.h: Likewise.
60122         * lib/unictype/pr_left_of_pair.h: Likewise.
60123         * lib/unictype/pr_line_separator.h: Likewise.
60124         * lib/unictype/pr_logical_order_exception.h: Likewise.
60125         * lib/unictype/pr_non_break.h: Likewise.
60126         * lib/unictype/pr_not_a_character.h: Likewise.
60127         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60128         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60129         * lib/unictype/pr_other_id_start.h: Likewise.
60130         * lib/unictype/pr_other_lowercase.h: Likewise.
60131         * lib/unictype/pr_other_uppercase.h: Likewise.
60132         * lib/unictype/pr_paired_punctuation.h: Likewise.
60133         * lib/unictype/pr_paragraph_separator.h: Likewise.
60134         * lib/unictype/pr_pattern_syntax.h: Likewise.
60135         * lib/unictype/pr_pattern_white_space.h: Likewise.
60136         * lib/unictype/pr_private_use.h: Likewise.
60137         * lib/unictype/pr_quotation_mark.h: Likewise.
60138         * lib/unictype/pr_radical.h: Likewise.
60139         * lib/unictype/pr_soft_dotted.h: Likewise.
60140         * lib/unictype/pr_space.h: Likewise.
60141         * lib/unictype/pr_titlecase.h: Likewise.
60142         * lib/unictype/pr_variation_selector.h: Likewise.
60143         * lib/unictype/pr_white_space.h: Likewise.
60144         * lib/unictype/pr_zero_width.h: Likewise.
60145         * lib/unictype/sy_c_ident.h: Likewise.
60146         * lib/unictype/sy_c_whitespace.h: Likewise.
60147         * lib/unictype/sy_java_whitespace.h: Likewise.
60148         * lib/uninorm/composition-table.gperf: Likewise.
60149         * lib/uninorm/decomposition-table1.h: Likewise.
60150         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
60151         LB8.
60152         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60153         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60154         * modules/unictype/*: Bump version number of expected libunistring
60155         version.
60157 2011-01-09  Bruno Haible  <bruno@clisp.org>
60159         Update to Unicode 5.2.0.
60160         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
60161         trailing whitespace removed.
60163 2011-01-09  Bruno Haible  <bruno@clisp.org>
60165         New Unicode character properties, from Unicode 5.2.0.
60166         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
60167         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
60168         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
60169         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
60170         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
60171         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
60172         uc_is_property_cased, uc_is_property_case_ignorable,
60173         uc_is_property_changes_when_lowercased,
60174         uc_is_property_changes_when_uppercased,
60175         uc_is_property_changes_when_titlecased,
60176         uc_is_property_changes_when_casefolded,
60177         uc_is_property_changes_when_casemapped): New declarations.
60178         * lib/unictype/pr_byname.gperf: Add the new properties.
60179         * modules/unictype/property-byname (Depends-on): Depend on the new
60180         properties modules.
60181         * modules/unictype/property-all (Depends-on): Likewise.
60182         * MODULES.html.sh (Unicode string functions): Add
60183         unictype/property-case-ignorable, unictype/property-cased,
60184         unictype/property-changes-when-casefolded,
60185         unictype/property-changes-when-casemapped,
60186         unictype/property-changes-when-lowercased,
60187         unictype/property-changes-when-titlecased,
60188         unictype/property-changes-when-uppercased.
60190         New module 'unictype/property-changes-when-casemapped'.
60191         * modules/unictype/property-changes-when-casemapped: New file.
60192         * lib/unictype/pr_changes_when_casemapped.c: New file.
60193         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
60194         generated by gen-uni-tables.
60195         * modules/unictype/property-changes-when-casemapped-tests: New file.
60196         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
60197         automatically generated by gen-uni-tables.
60199         New module 'unictype/property-changes-when-casefolded'.
60200         * modules/unictype/property-changes-when-casefolded: New file.
60201         * lib/unictype/pr_changes_when_casefolded.c: New file.
60202         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
60203         generated by gen-uni-tables.
60204         * modules/unictype/property-changes-when-casefolded-tests: New file.
60205         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
60206         automatically generated by gen-uni-tables.
60208         New module 'unictype/property-changes-when-titlecased'.
60209         * modules/unictype/property-changes-when-titlecased: New file.
60210         * lib/unictype/pr_changes_when_titlecased.c: New file.
60211         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
60212         generated by gen-uni-tables.
60213         * modules/unictype/property-changes-when-titlecased-tests: New file.
60214         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
60215         automatically generated by gen-uni-tables.
60217         New module 'unictype/property-changes-when-uppercased'.
60218         * modules/unictype/property-changes-when-uppercased: New file.
60219         * lib/unictype/pr_changes_when_uppercased.c: New file.
60220         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
60221         generated by gen-uni-tables.
60222         * modules/unictype/property-changes-when-uppercased-tests: New file.
60223         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
60224         automatically generated by gen-uni-tables.
60226         New module 'unictype/property-changes-when-lowercased'.
60227         * modules/unictype/property-changes-when-lowercased: New file.
60228         * lib/unictype/pr_changes_when_lowercased.c: New file.
60229         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
60230         generated by gen-uni-tables.
60231         * modules/unictype/property-changes-when-lowercased-tests: New file.
60232         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
60233         automatically generated by gen-uni-tables.
60235         New module 'unictype/property-case-ignorable'.
60236         * modules/unictype/property-case-ignorable: New file.
60237         * lib/unictype/pr_case_ignorable.c: New file.
60238         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
60239         by gen-uni-tables.
60240         * modules/unictype/property-case-ignorable-tests: New file.
60241         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
60242         generated by gen-uni-tables.
60244         New module 'unictype/property-cased'.
60245         * modules/unictype/property-cased: New file.
60246         * lib/unictype/pr_cased.c: New file.
60247         * lib/unictype/pr_cased.h: New file, automatically generated by
60248         gen-uni-tables.
60249         * modules/unictype/property-cased-tests: New file.
60250         * tests/unictype/test-pr_cased.c: New file, automatically generated by
60251         gen-uni-tables.
60253 2011-01-09  Bruno Haible  <bruno@clisp.org>
60255         Update to Unicode 5.2.0.
60256         * lib/gen-uni-tables.c (output_predicate, output_category,
60257         output_combclass, output_bidi_category, output_decimal_digit_test,
60258         output_decimal_digit, output_digit_test, output_digit,
60259         output_numeric_test, output_numeric, output_mirror, output_scripts,
60260         output_scripts_byname, output_blocks, output_ident_category): Fix
60261         comment header.
60262         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
60263         get_wbp.
60264         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
60265         items.
60266         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
60267         Changes_When_Lowercased, Changes_When_Uppercased,
60268         Changes_When_Titlecased, Changes_When_Casefolded,
60269         Changes_When_Casemapped.
60270         (is_property_alphabetic, is_property_default_ignorable_code_point):
60271         Update for Unicode 5.2.0.
60272         (is_property_cased, is_property_case_ignorable,
60273         is_property_changes_when_lowercased,
60274         is_property_changes_when_uppercased,
60275         is_property_changes_when_titlecased,
60276         is_property_changes_when_casefolded,
60277         is_property_changes_when_casemapped): New functions.
60278         (output_properties): Output also the properties cased, case_ignorable,
60279         changes_when_lowercased, changes_when_uppercased,
60280         changes_when_titlecased, changes_when_casefolded,
60281         changes_when_casemapped.
60282         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
60283         Unicode TR#11 revision 17 -> 19.
60284         (LBP_CP): New enumeration value.
60285         (LBP_*): Adjust values accordingly.
60286         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60287         TR#14 revision 22 -> 24.
60288         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
60289         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
60290         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60291         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
60292         is_WBP_MIDLETTER.
60293         (output_composition_tables): Allow for 24 bits instead of 16 bits in
60294         the code1 and code2 of each composition rule.
60295         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
60296         * lib/unicase/ignorable.h: Likewise.
60297         * lib/unicase/tocasefold.h: Likewise.
60298         * lib/unicase/tolower.h: Likewise.
60299         * lib/unicase/totitle.h: Likewise.
60300         * lib/unicase/toupper.h: Likewise.
60301         * lib/unictype/bidi_of.h: Likewise.
60302         * lib/unictype/blocks.h: Likewise.
60303         * lib/unictype/categ_C.h: Likewise.
60304         * lib/unictype/categ_Cf.h: Likewise.
60305         * lib/unictype/categ_Cn.h: Likewise.
60306         * lib/unictype/categ_L.h: Likewise.
60307         * lib/unictype/categ_Ll.h: Likewise.
60308         * lib/unictype/categ_Lm.h: Likewise.
60309         * lib/unictype/categ_Lo.h: Likewise.
60310         * lib/unictype/categ_Lu.h: Likewise.
60311         * lib/unictype/categ_M.h: Likewise.
60312         * lib/unictype/categ_Mc.h: Likewise.
60313         * lib/unictype/categ_Mn.h: Likewise.
60314         * lib/unictype/categ_N.h: Likewise.
60315         * lib/unictype/categ_Nd.h: Likewise.
60316         * lib/unictype/categ_Nl.h: Likewise.
60317         * lib/unictype/categ_No.h: Likewise.
60318         * lib/unictype/categ_P.h: Likewise.
60319         * lib/unictype/categ_Pd.h: Likewise.
60320         * lib/unictype/categ_Po.h: Likewise.
60321         * lib/unictype/categ_S.h: Likewise.
60322         * lib/unictype/categ_Sc.h: Likewise.
60323         * lib/unictype/categ_So.h: Likewise.
60324         * lib/unictype/categ_of.h: Likewise.
60325         * lib/unictype/combining.h: Likewise.
60326         * lib/unictype/ctype_alnum.h: Likewise.
60327         * lib/unictype/ctype_alpha.h: Likewise.
60328         * lib/unictype/ctype_graph.h: Likewise.
60329         * lib/unictype/ctype_lower.h: Likewise.
60330         * lib/unictype/ctype_print.h: Likewise.
60331         * lib/unictype/ctype_punct.h: Likewise.
60332         * lib/unictype/ctype_upper.h: Likewise.
60333         * lib/unictype/decdigit.h: Likewise.
60334         * lib/unictype/digit.h: Likewise.
60335         * lib/unictype/numeric.h: Likewise.
60336         * lib/unictype/pr_alphabetic.h: Likewise.
60337         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60338         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60339         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60340         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60341         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60342         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60343         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60344         * lib/unictype/pr_combining.h: Likewise.
60345         * lib/unictype/pr_composite.h: Likewise.
60346         * lib/unictype/pr_currency_symbol.h: Likewise.
60347         * lib/unictype/pr_dash.h: Likewise.
60348         * lib/unictype/pr_decimal_digit.h: Likewise.
60349         * lib/unictype/pr_deprecated.h: Likewise.
60350         * lib/unictype/pr_diacritic.h: Likewise.
60351         * lib/unictype/pr_extender.h: Likewise.
60352         * lib/unictype/pr_grapheme_base.h: Likewise.
60353         * lib/unictype/pr_grapheme_extend.h: Likewise.
60354         * lib/unictype/pr_grapheme_link.h: Likewise.
60355         * lib/unictype/pr_id_continue.h: Likewise.
60356         * lib/unictype/pr_id_start.h: Likewise.
60357         * lib/unictype/pr_ideographic.h: Likewise.
60358         * lib/unictype/pr_ignorable_control.h: Likewise.
60359         * lib/unictype/pr_logical_order_exception.h: Likewise.
60360         * lib/unictype/pr_lowercase.h: Likewise.
60361         * lib/unictype/pr_numeric.h: Likewise.
60362         * lib/unictype/pr_other_alphabetic.h: Likewise.
60363         * lib/unictype/pr_punctuation.h: Likewise.
60364         * lib/unictype/pr_sentence_terminal.h: Likewise.
60365         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60366         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60367         * lib/unictype/pr_unified_ideograph.h: Likewise.
60368         * lib/unictype/pr_uppercase.h: Likewise.
60369         * lib/unictype/pr_xid_continue.h: Likewise.
60370         * lib/unictype/pr_xid_start.h: Likewise.
60371         * lib/unictype/pr_zero_width.h: Likewise.
60372         * lib/unictype/scripts.h: Likewise.
60373         * lib/unictype/scripts_byname.gperf: Likewise.
60374         * lib/unictype/sy_java_ident.h: Likewise.
60375         * lib/unigbrk/gbrkprop.h: Likewise.
60376         * lib/unilbrk/lbrkprop1.h: Likewise.
60377         * lib/unilbrk/lbrkprop2.h: Likewise.
60378         * lib/unilbrk/lbrktables.h: Likewise.
60379         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
60380         LBP_CP. Implement rule LB30.
60381         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
60382         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
60383         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
60384         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
60385         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
60386         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
60387         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
60388         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
60389         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
60390         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
60391         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
60392         bits instead of 16 bits in the code1 and code2 of each composition
60393         rule.
60394         (uc_composition): Update for Unicode 5.2.0.
60395         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
60396         * lib/uninorm/decomposition-table2.h: Likewise.
60397         * lib/uniwbrk/wbrkprop.h: Likewise.
60398         * tests/unicase/test-cased.c: Likewise.
60399         * tests/unicase/test-ignorable.c: Likewise.
60400         * tests/unicase/test-uc_tolower.c: Likewise.
60401         * tests/unicase/test-uc_totitle.c: Likewise.
60402         * tests/unicase/test-uc_toupper.c: Likewise.
60403         * tests/unictype/test-categ_C.c: Likewise.
60404         * tests/unictype/test-categ_Cf.c: Likewise.
60405         * tests/unictype/test-categ_Cn.c: Likewise.
60406         * tests/unictype/test-categ_L.c: Likewise.
60407         * tests/unictype/test-categ_Ll.c: Likewise.
60408         * tests/unictype/test-categ_Lm.c: Likewise.
60409         * tests/unictype/test-categ_Lo.c: Likewise.
60410         * tests/unictype/test-categ_Lu.c: Likewise.
60411         * tests/unictype/test-categ_M.c: Likewise.
60412         * tests/unictype/test-categ_Mc.c: Likewise.
60413         * tests/unictype/test-categ_Mn.c: Likewise.
60414         * tests/unictype/test-categ_N.c: Likewise.
60415         * tests/unictype/test-categ_Nd.c: Likewise.
60416         * tests/unictype/test-categ_Nl.c: Likewise.
60417         * tests/unictype/test-categ_No.c: Likewise.
60418         * tests/unictype/test-categ_P.c: Likewise.
60419         * tests/unictype/test-categ_Pd.c: Likewise.
60420         * tests/unictype/test-categ_Po.c: Likewise.
60421         * tests/unictype/test-categ_S.c: Likewise.
60422         * tests/unictype/test-categ_Sc.c: Likewise.
60423         * tests/unictype/test-categ_So.c: Likewise.
60424         * tests/unictype/test-ctype_alnum.c: Likewise.
60425         * tests/unictype/test-ctype_alpha.c: Likewise.
60426         * tests/unictype/test-ctype_graph.c: Likewise.
60427         * tests/unictype/test-ctype_lower.c: Likewise.
60428         * tests/unictype/test-ctype_print.c: Likewise.
60429         * tests/unictype/test-ctype_punct.c: Likewise.
60430         * tests/unictype/test-ctype_upper.c: Likewise.
60431         * tests/unictype/test-decdigit.h: Likewise.
60432         * tests/unictype/test-digit.h: Likewise.
60433         * tests/unictype/test-numeric.h: Likewise.
60434         * tests/unictype/test-pr_alphabetic.c: Likewise.
60435         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60436         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60437         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60438         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60439         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60440         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60441         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60442         * tests/unictype/test-pr_combining.c: Likewise.
60443         * tests/unictype/test-pr_composite.c: Likewise.
60444         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60445         * tests/unictype/test-pr_dash.c: Likewise.
60446         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60447         * tests/unictype/test-pr_deprecated.c: Likewise.
60448         * tests/unictype/test-pr_diacritic.c: Likewise.
60449         * tests/unictype/test-pr_extender.c: Likewise.
60450         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60451         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60452         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60453         * tests/unictype/test-pr_id_continue.c: Likewise.
60454         * tests/unictype/test-pr_id_start.c: Likewise.
60455         * tests/unictype/test-pr_ideographic.c: Likewise.
60456         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60457         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60458         * tests/unictype/test-pr_lowercase.c: Likewise.
60459         * tests/unictype/test-pr_numeric.c: Likewise.
60460         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60461         * tests/unictype/test-pr_punctuation.c: Likewise.
60462         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60463         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60464         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60465         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60466         * tests/unictype/test-pr_uppercase.c: Likewise.
60467         * tests/unictype/test-pr_xid_continue.c: Likewise.
60468         * tests/unictype/test-pr_xid_start.c: Likewise.
60469         * tests/unictype/test-pr_zero_width.c: Likewise.
60470         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60471         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
60472         changed behaviour: line breaking is now disallowed between a letter
60473         or '=' and '('.
60474         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60475         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60476         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60477         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
60478         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60479         lib/uniwidth/width.c.
60480         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
60481         without comments, but with the original copyright notice.
60482         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60483         changes.
60484         * lib/unictype/categ_Cc.h: Likewise.
60485         * lib/unictype/categ_Co.h: Likewise.
60486         * lib/unictype/categ_Cs.h: Likewise.
60487         * lib/unictype/categ_Lt.h: Likewise.
60488         * lib/unictype/categ_Me.h: Likewise.
60489         * lib/unictype/categ_Pc.h: Likewise.
60490         * lib/unictype/categ_Pe.h: Likewise.
60491         * lib/unictype/categ_Pf.h: Likewise.
60492         * lib/unictype/categ_Pi.h: Likewise.
60493         * lib/unictype/categ_Ps.h: Likewise.
60494         * lib/unictype/categ_Sk.h: Likewise.
60495         * lib/unictype/categ_Sm.h: Likewise.
60496         * lib/unictype/categ_Z.h: Likewise.
60497         * lib/unictype/categ_Zl.h: Likewise.
60498         * lib/unictype/categ_Zp.h: Likewise.
60499         * lib/unictype/categ_Zs.h: Likewise.
60500         * lib/unictype/ctype_blank.h: Likewise.
60501         * lib/unictype/ctype_cntrl.h: Likewise.
60502         * lib/unictype/ctype_digit.h: Likewise.
60503         * lib/unictype/ctype_space.h: Likewise.
60504         * lib/unictype/ctype_xdigit.h: Likewise.
60505         * lib/unictype/mirror.h: Likewise.
60506         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60507         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60508         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60509         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60510         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60511         * lib/unictype/pr_bidi_control.h: Likewise.
60512         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60513         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60514         * lib/unictype/pr_bidi_pdf.h: Likewise.
60515         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60516         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60517         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60518         * lib/unictype/pr_format_control.h: Likewise.
60519         * lib/unictype/pr_hex_digit.h: Likewise.
60520         * lib/unictype/pr_hyphen.h: Likewise.
60521         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60522         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60523         * lib/unictype/pr_iso_control.h: Likewise.
60524         * lib/unictype/pr_join_control.h: Likewise.
60525         * lib/unictype/pr_left_of_pair.h: Likewise.
60526         * lib/unictype/pr_line_separator.h: Likewise.
60527         * lib/unictype/pr_math.h: Likewise.
60528         * lib/unictype/pr_non_break.h: Likewise.
60529         * lib/unictype/pr_not_a_character.h: Likewise.
60530         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60531         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60532         * lib/unictype/pr_other_id_continue.h: Likewise.
60533         * lib/unictype/pr_other_id_start.h: Likewise.
60534         * lib/unictype/pr_other_lowercase.h: Likewise.
60535         * lib/unictype/pr_other_math.h: Likewise.
60536         * lib/unictype/pr_other_uppercase.h: Likewise.
60537         * lib/unictype/pr_paired_punctuation.h: Likewise.
60538         * lib/unictype/pr_paragraph_separator.h: Likewise.
60539         * lib/unictype/pr_pattern_syntax.h: Likewise.
60540         * lib/unictype/pr_pattern_white_space.h: Likewise.
60541         * lib/unictype/pr_private_use.h: Likewise.
60542         * lib/unictype/pr_quotation_mark.h: Likewise.
60543         * lib/unictype/pr_radical.h: Likewise.
60544         * lib/unictype/pr_soft_dotted.h: Likewise.
60545         * lib/unictype/pr_space.h: Likewise.
60546         * lib/unictype/pr_titlecase.h: Likewise.
60547         * lib/unictype/pr_variation_selector.h: Likewise.
60548         * lib/unictype/pr_white_space.h: Likewise.
60549         * lib/unictype/sy_c_ident.h: Likewise.
60550         * lib/unictype/sy_c_whitespace.h: Likewise.
60551         * lib/unictype/sy_java_whitespace.h: Likewise.
60552         * modules/uni*/*: Bump version number of expected libunistring version.
60553         Reported by Simon Josefsson.
60555 2011-01-09  Karl Heuer  <kwzh@gnu.org>
60557         useless-if-before-free: fix typo in --help and make the internal,
60558         automatic version date update process work once again.
60559         --help output contained a NUL character instead of the
60560         backslash-zero that was intended.  Also, the "must lie within
60561         the first 8 lines" line is on line 9, and hence not getting
60562         automatically updated.
60563         * build-aux/useless-if-before-free: Fix the former by adding a
60564         backslash, and the latter by condensing the three lines of what-it-does
60565         to a single line, leaving one line of slack for the future.
60567 2011-01-09  Bruno Haible  <bruno@clisp.org>
60569         uniwidth/width: Fix width of U+1D173..U+1D17A.
60570         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
60571         symbolic_width, output_width_property_test): New functions.
60572         (main): Invoke output_nonspacing_property, output_width_property_test.
60573         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
60574         U+1D173..U+1D17A.
60575         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
60576         1.
60577         * modules/uniwidth/*: Bump version number of expected libunistring
60578         version.
60579         * modules/unilbrk/*: Likewise.
60581 2011-01-08  Bruno Haible  <bruno@clisp.org>
60583         uninorm tests: Preserve copyright of Unicode data file.
60584         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
60585         Mention modifications.
60587 2011-01-08  Bruno Haible  <bruno@clisp.org>
60589         gen-uni-tables: Prepare for Unicode 5.2.0.
60590         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
60591         (debug_output_lbp, output_lbp): Update.
60593 2011-01-08  Bruno Haible  <bruno@clisp.org>
60595         unilbrk: Clarify gen-uni-tables.c code.
60596         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
60597         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
60598         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
60600 2011-01-07  Bruno Haible  <bruno@clisp.org>
60602         strtod: Restore errno when successfully parsing Infinity or NaN.
60603         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
60604         restore the original errno.
60606 2011-01-07  Bruno Haible  <bruno@clisp.org>
60608         remove test: Avoid failure on HP-UX 11.
60609         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
60611 2011-01-07  Bruno Haible  <bruno@clisp.org>
60613         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
60614         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
60615         error code.
60617 2011-01-07  Pádraig Brady  <P@draigBrady.com>
60619         ignore-value: fixup comments, and add Eric Blake
60620         as an author since he rewrote the macros.
60621         * lib/ignore-value.h (ignore_value):  State that
60622         we now support aggregates.  Also specify exactly
60623         when the GCC warn_unused_result feature was added.
60625 2011-01-06  Eric Blake  <eblake@redhat.com>
60627         ignore-value: support aggregate types
60628         * lib/ignore-value.h (ignore_value): Provide separate gcc
60629         definition.
60630         * modules/ignore-value-tests: New test module.
60631         * tests/test-ignore-value.c: New test.
60633         maint.mk: improve sc_prohibit_strcmp regex
60634         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
60635         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
60636         definition of STRNEQ.
60638         signal: work around Haiku issue with SIGBUS
60639         * lib/siglist.h: Add comment.
60640         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
60641         strsignal's favoring of SIGSEGV.
60642         * tests/test-signal.c (main): Avoid test failure.
60643         * doc/posix-headers/signal.texi (signal.h): Document the issue.
60644         Reported by Scott McCreary.
60646         maint.mk: add pre-release check to ensure submodule commits are public
60647         * top/maint.mk (public-submodule-commit): New rule.
60648         (submodule-checks): New variable.
60649         (alpha beta stable): Depend on the variable.
60651 2011-01-05  Pádraig Brady  <P@draigBrady.com>
60652         and Jim Meyering  <meyering@redhat.com>
60654         ignore-value: make ignore_value more generic; deprecate ignore_ptr
60655         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
60656         (ATTRIBUTE_DEPRECATED): Define.
60657         (_ignore_case): New function.
60658         (ignore_value): New macro, to replace the old function.
60659         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
60660         * modules/ignore-value (Depends-on): Add stdint.
60662 2011-01-04  Eric Blake  <eblake@redhat.com>
60664         doc: regenerate INSTALL
60665         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
60666         @firstparagraphindent support, now that autoconf dropped it.
60667         (INSTALL_PRELUDE): Reinstate old macro.
60668         * doc/install.texi: Resync from autoconf.
60669         * doc/INSTALL: Reflect recent autoconf update.
60670         * doc/INSTALL.ISO: Likewise.
60671         * doc/INSTALL.UTF-8: Likewise.
60672         Reported by Karl Berry.
60674 2011-01-04  Bruce Korb  <address@hidden>
60676         git-version-gen: avoid a sub-shell
60677         * build-aux/git-version-gen: Redirect stderr in `...` via
60678         "exec 2>...", rather than via an added sub-shell.
60680 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
60682         git-version-gen: use (...) rather than sh -c '...'
60683         * build-aux/git-version-gen: Rather than hard-coding a shell's name
60684         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
60686 2011-01-03  Jim Meyering  <meyering@redhat.com>
60688         git-version-gen: convert leading TABs to spaces
60689         * build-aux/git-version-gen: Expand leading TABs.
60691         git-version-gen: handle failed "git rev-list"
60692         * build-aux/git-version-gen: Rather than leaking a "fatal" error
60693         from git and proceeding as if it had succeeded but printed no SHA1
60694         checksums, suppress the diagnostic and handle the failure.
60695         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
60697         git-version-gen: include command name in one more diagnostic
60698         * build-aux/git-version-gen: When the required .tarball-version file
60699         was missing or unreadable, you might see the diagnostic from "cat",
60700         but no trace of the name of the invoking script.  Now, you still see
60701         the diagnostic from cat, but also get one from "git-version-gen: ".
60702         Inspired by a patch from Bruce Korb.
60704         update-copyright: adjust test to match changed code
60705         * tests/test-update-copyright.sh: Change test's expected output
60706         to match new actual output.
60708 2011-01-02  Bruno Haible  <bruno@clisp.org>
60710         getlogin_r: Avoid test failure on HP-UX 11.
60711         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
60712         ERANGE when the second argument is zero.
60713         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
60714         portability problem.
60716 2011-01-02  Bruce Korb  <bkorb@gnu.org>
60718         * build-aux/update-copyright: doc Simon's changes
60720 2011-01-02  Simon Josefsson  <simon@josefsson.org>
60722         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
60723         environment variable.
60725 2011-01-02  Bruno Haible  <bruno@clisp.org>
60727         unigbrk: Avoid gcc warnings.
60728         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
60729         unused variable.
60730         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
60731         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
60732         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
60733         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
60734         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
60735         Change type of first argument to 'const char *'.
60736         (main): Remove unused variable.
60737         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
60738         type of first argument to 'const char *'.
60739         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
60740         Likewise.
60741         (main): Change type of variable 's'.
60742         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
60743         to 'int'.
60745 2011-01-02  Bruno Haible  <bruno@clisp.org>
60747         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
60748         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
60749         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
60750         bug.
60751         * lib/pwrite.c: Undo 2010-12-31 patch.
60752         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
60754 2011-01-02  Bruno Haible  <bruno@clisp.org>
60756         pread: Fix test whether it works.
60757         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
60759 2011-01-02  Bruno Haible  <bruno@clisp.org>
60761         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
60762         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
60763         ends in "6". Don't require a specific month name. Try also the locale
60764         names found on HP-UX 11 and Solaris 7.
60766 2011-01-02  Bruno Haible  <bruno@clisp.org>
60768         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
60769         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
60770         C linkage.
60771         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
60773 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60775         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
60776         for consistency, since the "cluster" term is not used elsewhere.
60777         * lib/unigbrk.in.h: Update name.
60778         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
60779         * lib/unigbrk/u16-grapheme-next.c: Update name.
60780         * lib/unigbrk/u16-grapheme-prev.c: Update name.
60781         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
60782         * lib/unigbrk/u32-grapheme-next.c: Update name.
60783         * lib/unigbrk/u32-grapheme-prev.c: Update name.
60784         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
60785         * lib/unigbrk/u8-grapheme-next.c: Update name.
60786         * lib/unigbrk/u8-grapheme-prev.c: Update name.
60787         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
60788         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
60789         Suggested by Bruno Haible.
60791 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60793         Remove module 'u8-grapheme-len' as too redundant with
60794         'u8-grapheme-next'.
60795         * modules/unigbrk/u8-grapheme-len: Delete file.
60796         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
60797         * lib/unigbrk.in.h: Remove prototype for deleted function.
60798         * lib/unigbrk/u8-grapheme-len.c: Delete file.
60799         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
60801         Remove module 'u16-grapheme-len' as too redundant with
60802         'u16-grapheme-next'.
60803         * modules/unigbrk/u16-grapheme-len: Delete file.
60804         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
60805         * lib/unigbrk.in.h: Remove prototype for deleted function.
60806         * lib/unigbrk/u16-grapheme-len.c: Delete file.
60807         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
60809         Remove module 'u32-grapheme-len' as too redundant with
60810         'u32-grapheme-next'.
60811         * modules/unigbrk/u32-grapheme-len: Delete file.
60812         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
60813         * lib/unigbrk.in.h: Remove prototype for deleted function.
60814         * lib/unigbrk/u32-grapheme-len.c: Delete file.
60815         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
60817         Suggested by Bruno Haible.
60819 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
60821         * unigbrk.in.h: Fix typo: "ben" => "been".
60822         Reported by Bruno Haible.
60824 2011-01-01  Jim Meyering  <meyering@redhat.com>
60826         maint: update almost all copyright ranges to include 2011
60827         Run the new "make update-copyright" rule.
60829 2011-01-01  Jim Meyering  <meyering@redhat.com>
60831         maint: update-copyright: exempt doc/INSTALL*
60832         * Makefile (update-copyright): Also exclude doc/INSTALL*,
60833         since they are generated.  Suggested by Bruno Haible.
60835 2011-01-01  Jim Meyering  <meyering@redhat.com>
60837         maint: refine the update-copyright rule
60838         * Makefile (update-copyright): Also exclude any file that includes
60839         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
60840         code that merely generates the comment.
60842 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
60844         New module 'u8-grapheme-len'.
60845         * modules/unigbrk/u8-grapheme-len: New file.
60846         * modules/unigbrk/u8-grapheme-len-tests: New file.
60847         * lib/unigbrk.in.h: Add prototype for new function.
60848         * lib/unigbrk/u8-grapheme-len.c: New file.
60849         * tests/unigbrk/test-u8-grapheme-len.c: New file.
60851         New module 'u16-grapheme-len'.
60852         * modules/unigbrk/u16-grapheme-len: New file.
60853         * modules/unigbrk/u16-grapheme-len-tests: New file.
60854         * lib/unigbrk.in.h: Add prototype for new function.
60855         * lib/unigbrk/u16-grapheme-len.c: New file.
60856         * tests/unigbrk/test-u16-grapheme-len.c: New file.
60858         New module 'u32-grapheme-len'.
60859         * modules/unigbrk/u32-grapheme-len: New file.
60860         * modules/unigbrk/u32-grapheme-len-tests: New file.
60861         * lib/unigbrk.in.h: Add prototype for new function.
60862         * lib/unigbrk/u32-grapheme-len.c: New file.
60863         * tests/unigbrk/test-u32-grapheme-len.c: New file.
60865         New module 'u8-grapheme-next'.
60866         * modules/unigbrk/u8-grapheme-next: New file.
60867         * modules/unigbrk/u8-grapheme-next-tests: New file.
60868         * lib/unigbrk.in.h: Add prototype for new function.
60869         * lib/unigbrk/u8-grapheme-next.c: New file.
60870         * tests/unigbrk/test-u8-grapheme-next.c: New file.
60872         New module 'u16-grapheme-next'.
60873         * modules/unigbrk/u16-grapheme-next: New file.
60874         * modules/unigbrk/u16-grapheme-next-tests: New file.
60875         * lib/unigbrk.in.h: Add prototype for new function.
60876         * lib/unigbrk/u16-grapheme-next.c: New file.
60877         * tests/unigbrk/test-u16-grapheme-next.c: New file.
60879         New module 'u32-grapheme-next'.
60880         * modules/unigbrk/u32-grapheme-next: New file.
60881         * modules/unigbrk/u32-grapheme-next-tests: New file.
60882         * lib/unigbrk.in.h: Add prototype for new function.
60883         * lib/unigbrk/u32-grapheme-next.c: New file.
60884         * tests/unigbrk/test-u32-grapheme-next.c: New file.
60886         New module 'u8-grapheme-prev'.
60887         * modules/unigbrk/u8-grapheme-prev: New file.
60888         * modules/unigbrk/u8-grapheme-prev-tests: New file.
60889         * lib/unigbrk.in.h: Add prototype for new function.
60890         * lib/unigbrk/u8-grapheme-prev.c: New file.
60891         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
60893         New module 'u16-grapheme-prev'.
60894         * modules/unigbrk/u16-grapheme-prev: New file.
60895         * modules/unigbrk/u16-grapheme-prev-tests: New file.
60896         * lib/unigbrk.in.h: Add prototype for new function.
60897         * lib/unigbrk/u16-grapheme-prev.c: New file.
60898         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
60900         New module 'u32-grapheme-prev'.
60901         * modules/unigbrk/u32-grapheme-prev: New file.
60902         * modules/unigbrk/u32-grapheme-prev-tests: New file.
60903         * lib/unigbrk.in.h: Add prototype for new function.
60904         * lib/unigbrk/u32-grapheme-prev.c: New file.
60905         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
60907         New module 'u8-grapheme-breaks'.
60908         * modules/unigbrk/u8-grapheme-breaks: New file.
60909         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
60910         * lib/unigbrk.in.h: Add prototype for new function.
60911         * lib/unigbrk/u8-grapheme-breaks.c: New file.
60912         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
60914         New module 'u16-grapheme-breaks'.
60915         * modules/unigbrk/u16-grapheme-breaks: New file.
60916         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
60917         * lib/unigbrk.in.h: Add prototype for new function.
60918         * lib/unigbrk/u16-grapheme-breaks.c: New file.
60919         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
60921         New module 'u32-grapheme-breaks'.
60922         * modules/unigbrk/u32-grapheme-breaks: New file.
60923         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
60924         * lib/unigbrk.in.h: Add prototype for new function.
60925         * lib/unigbrk/u32-grapheme-breaks.c: New file.
60926         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
60928         New module 'ulc-grapheme-breaks'.
60929         * modules/unigbrk/ulc-grapheme-breaks: New file.
60930         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
60931         * m4/locale-ar.m4: New file.
60932         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
60933         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
60934         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
60936 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
60938         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
60939         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
60940         modified how this file was generated before I initially submitted
60941         the module, but failed to regenerate it.  This meant that several
60942         of the level2 entries were wrong.
60943         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
60944         Remove the division-by-2 that is folded into the table now that
60945         gbrkprop.h has been regenerated properly.  Now -1 entries are
60946         handled correctly.
60948         New module 'unigbrk/uc-gbrk-prop-tests'.
60949         * modules/unigbrk/uc-gbrk-prop-tests: New file.
60950         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
60951         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
60952         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
60954 2011-01-01  Bruno Haible  <bruno@clisp.org>
60956         Avoid use of hexadecimal escapes.
60957         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
60958         instead of hexadecimal escapes.
60960 2011-01-01  Jim Meyering  <meyering@redhat.com>
60962         maint: new rule to update copyright year ranges
60963         * Makefile (update-copyright): New rule.
60965         maint: indent with TABs in Makefile
60966         * Makefile: Expand leading sequences of spaces to TABs
60968         version-etc: update the copyright year it reports
60969         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
60971 2010-12-31  Bruno Haible  <bruno@clisp.org>
60973         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
60974         * lib/isfinite.c (zerof, zerod, zerol): New variables.
60975         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
60976         zero.
60978 2010-12-31  Bruno Haible  <bruno@clisp.org>
60980         pwrite: Work around HP-UX 11.11 bug.
60981         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
60982         works and set REPLACE_PWRITE if not.
60983         * lib/pwrite.c (pwrite): Add an implementation that uses the system
60984         function.
60985         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
60987 2010-12-31  Bruno Haible  <bruno@clisp.org>
60989         pread: Work around HP-UX 11 bugs.
60990         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
60991         and set REPLACE_PREAD if not.
60992         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
60994 2010-12-31  Eric Blake  <eblake@redhat.com>
60996         nl_langinfo: fix YESEXPR on Irix 6.5
60997         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
60998         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
60999         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
61000         it.
61002 2010-12-31  Bruno Haible  <bruno@clisp.org>
61004         iconv: Document HP-UX 11 bug.
61005         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
61007 2010-12-31  Bruno Haible  <bruno@clisp.org>
61009         ldexpl: Fix link error on HP-UX 11.
61010         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
61011         LDEXPL_LIBM, using $ISNANL_LIBM.
61013 2010-12-31  Eric Blake  <eblake@redhat.com>
61015         ftello: avoid compilation failure with SunStudio c89
61016         * lib/ftello.c (ftello): Use lseek, not llseek.
61018         tests: avoid failing coreutils tests on cygwin
61019         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
61020         (create_exe_shims_): Return 0 when skipping.
61022 2010-12-31  Bruno Haible  <bruno@clisp.org>
61024         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
61025         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
61027 2010-12-31  Bruno Haible  <bruno@clisp.org>
61029         waitpid: Fix link error in C++ mode.
61030         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
61032 2010-12-31  Bruno Haible  <bruno@clisp.org>
61034         isnan: Use GCC built-ins when possible.
61035         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
61036         __builtin_isnan.
61037         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
61038         (isnan): Define using GCC built-ins for GCC >= 4.0.
61040 2010-12-31  Bruno Haible  <bruno@clisp.org>
61042         isnand: Fix mistake.
61043         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
61044         __builtin_isnand.
61046 2010-12-31  Bruno Haible  <bruno@clisp.org>
61048         open: Avoid C++ error on HP-UX 11.
61049         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
61051 2010-12-31  Bruno Haible  <bruno@clisp.org>
61053         time_r: Add missing declarations on HP-UX 11.
61054         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
61055         instead of HAVE_LOCALTIME_R.
61056         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
61057         HAVE_LOCALTIME_R always.
61058         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
61059         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
61060         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
61061         HAVE_LOCALTIME_R.
61062         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
61063         * doc/posix-functions/localtime_r.texi: Likewise.
61065 2010-12-29  Eric Blake  <eblake@redhat.com>
61067         mountlist: tweak previous commit
61068         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
61069         Reported by Paul Eggert.
61071         mountlist: fix local drive detection on cygwin
61072         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
61073         that works for cygwin.
61075 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61077         ftoastr, snprintf: ftoastr + snprintf module
61078         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
61079         since the snprintf module now should be good enough here.
61080         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
61081         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
61082         and gl_MODULE_INDICATOR([snprintf]), but the former enables
61083         GNULIB_SNPRINTF only for the test directory, and the latter
61084         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
61085         seems to suffice by itself.
61087 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61089         alloca: one step towards thread-safety
61090         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
61091         need for a static variable.  All callers changed.  This does not
61092         make the alloca replacement thread-safe, but it's one step.
61094         tests: minor indenting change
61095         * tests/init.sh: Sync from coreutils housekeeping patch
61096         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
61097         to keep lines within 80 columns.
61099 2010-12-28  Jim Meyering  <meyering@redhat.com>
61101         regex: don't infloop on persistent failing calloc
61102         * lib/regexec.c (build_trtable): Return failure indication upon
61103         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
61104         In glibc, this was fixed for version 2.13:
61105         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
61107 2010-12-28  Bruno Haible  <bruno@clisp.org>
61108             Paul Eggert <eggert@cs.ucla.edu>
61110         linkat: Make implementation robust against system behaviour variations.
61111         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
61112         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
61113         way, and to -2 if it needs a generic runtime test.
61114         * lib/linkat.c (solaris_optimized_link_immediate,
61115         solaris_optimized_link_follow): New functions.
61116         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
61117         (check_same_link): Use it.
61119 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
61121         New module 'unigbrk/base'.
61122         * modules/unigbrk/base: New file.
61123         * lib/unigbrk.in.h: New file.
61125         New module 'unigbrk/uc-gbrk-prop'.
61126         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
61127         * modules/unigbrk/uc-gbrk-prop: New file.
61128         * lib/unigbrk/gbrkprop.h: New file.
61129         * lib/unigbrk/uc-gbrk-prop.c: New file.
61131         New module 'unigbrk/uc-is-grapheme-break'.
61132         * modules/unigbrk/uc-is-grapheme-break: New file.
61133         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
61134         * lib/unigbrk/uc-is-grapheme-break.c: New file.
61135         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
61136         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
61137         * tests/unigbrk/GraphemeBreakTest.txt: New file.
61139         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
61141 2010-12-27  Bruno Haible  <bruno@clisp.org>
61143         linkat test: Avoid failure on Solaris 11 2010-11.
61144         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
61146 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61148         utimens: work around glibc rounding bug on more platforms
61149         * lib/utimens.c (fdutimens): Work around rounding bug even if
61150         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
61151         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
61153 2010-12-27  Bruno Haible  <bruno@clisp.org>
61155         select tests: Improve comments.
61156         * tests/test-select.c (do_select): Add comments.
61158 2010-12-27  Bruno Haible  <bruno@clisp.org>
61160         select tests: Safer way of handling timeout.
61161         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
61162         at every invocation.
61164 2010-12-27  Bruno Haible  <bruno@clisp.org>
61166         select tests: Use 'bool' where appropriate.
61167         * tests/test-select.c (connect_to_socket): Change argument type to
61168         'bool'.
61170 2010-12-27  Bruno Haible  <bruno@clisp.org>
61172         select tests: Use existing modules.
61173         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
61174         (configure.ac): Don't test for unistd.h.
61175         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
61176         declared in <unistd.h>.
61178 2010-12-27  Bruno Haible  <bruno@clisp.org>
61180         mbrtowc: Work around a Solaris 7 bug.
61181         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
61182         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
61183         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
61184         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
61185         MBRTOWC_NULL_ARG1_BUG.
61186         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
61187         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
61188         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
61189         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
61191 2010-12-27  Jim Meyering  <meyering@redhat.com>
61193         read-file.c: tweak syntax
61194         * lib/read-file.c (fread_file): Remove space after "*" in function
61195         definitions.
61197 2010-12-27  Bruno Haible  <bruno@clisp.org>
61199         times test: Avoid gcc warnings on OSF/1.
61200         * tests/test-times.c (main): Cast printf arguments from clock_t to
61201         'long int'.
61203 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61205         utimens: work around glibc rounding bug on older Linux kernels
61206         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
61207         on Linux with a glibc whose utimes might not work, then work
61208         around a longstanding glibc bug involving rounding rather than
61209         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
61210         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61212 2010-12-26  Bruno Haible  <bruno@clisp.org>
61214         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
61215         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
61216         _GL_CXXALIAS_SYS.
61217         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61219 2010-12-26  Bruno Haible  <bruno@clisp.org>
61221         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
61222         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
61223         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
61224         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
61225         looking for the declaration.
61226         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61227         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
61228         problem.
61229         * doc/posix-functions/inet_pton.texi: Likewise.
61231 2010-12-26  Bruno Haible  <bruno@clisp.org>
61233         arpa_inet: Use the common idioms with C++ support.
61234         * lib/arpa_inet.in.h: Include c++defs.h.
61235         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
61236         support.
61237         * modules/arpa_inet (Depends-on): Add c++defs.
61238         (Makefile.am): Substitute the contents of c++defs.h.
61239         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
61240         * modules/arpa_inet-c++-tests: New file.
61241         * tests/test-arpa_inet-c++.cc: New file.
61243 2010-12-25  Bruno Haible  <bruno@clisp.org>
61245         Fix more C++ link errors on Solaris 8.
61246         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
61247         $(LIB_EACCESS).
61248         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
61249         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
61250         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
61251         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
61252         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
61254 2010-12-25  Bruno Haible  <bruno@clisp.org>
61256         printf-posix: Fix link error when a non-GCC compiler is used.
61257         * lib/stdio.in.h (printf): When not using GCC, override printf
61258         correctly.
61259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61261 2010-12-25  Bruno Haible  <bruno@clisp.org>
61263         strerror_r-posix: Update doc.
61264         * doc/posix-functions/strerror_r.texi: Update doc about the return
61265         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
61267 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61269         utimens: simplify the logic of the previous change
61270         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
61271         This should not affect whether the test succeeds or fails.
61273         utimens: configure better on hosts with NFS clock skew
61274         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
61275         uses the clock of the local host.  It might use the clock of the
61276         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
61277         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61279 2010-12-25  Bruno Haible  <bruno@clisp.org>
61281         ptsname test: Avoid failure on Solaris.
61282         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
61283         open a pseudo-terminal; don't use BSD-style ptys.
61284         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
61286 2010-12-25  Bruno Haible  <bruno@clisp.org>
61288         ptsname: Avoid ERANGE failure on some systems.
61289         * lib/ptsname.c (buffer): Increase size.
61291 2010-12-25  Bruno Haible  <bruno@clisp.org>
61293         rename, renameat: Avoid test failures at NFS mounted locations.
61294         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
61295         so that subsequent mkdir calls succeed.
61297 2010-12-25  Bruno Haible  <bruno@clisp.org>
61299         iswblank: Fix C++ link error on Solaris 8.
61300         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
61301         _GL_FUNCDECL_SYS.
61303 2010-12-25  Bruno Haible  <bruno@clisp.org>
61305         unistd: Fix C++ link error on Solaris 8.
61306         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
61308 2010-12-25  Bruno Haible  <bruno@clisp.org>
61310         readlink doc: Mention an old glibc bug.
61311         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
61313 2010-12-25  Bruno Haible  <bruno@clisp.org>
61315         fcntl-h: Fix for use of C++ on glibc systems.
61316         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
61317         also on glibc systems in C++ mode.
61318         Reported by Gary V. Vaughan <gary@gnu.org>.
61320 2010-12-25  Bruno Haible  <bruno@clisp.org>
61322         roundl-ieee: Make it work on OSF/1 5.1 with cc.
61323         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
61325 2010-12-25  Bruno Haible  <bruno@clisp.org>
61327         truncl-ieee: Make it work on OSF/1 5.1 with cc.
61328         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
61329         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
61330         test whether truncl works according to ISO C 99 with IEC 60559.
61331         * m4/truncl-ieee.m4: New file.
61332         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
61333         m4/signbit.m4.
61334         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
61336 2010-12-25  Bruno Haible  <bruno@clisp.org>
61338         ceill-ieee: Make it work on OSF/1 5.1 with cc.
61339         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
61340         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
61341         test whether ceill works according to ISO C 99 with IEC 60559.
61342         * m4/ceill-ieee.m4: New file.
61343         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
61344         m4/signbit.m4.
61345         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
61347 2010-12-25  Bruno Haible  <bruno@clisp.org>
61349         Ensure all prerequisites of <wchar.h> are included.
61350         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
61351         before <wchar.h>.
61352         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
61353         gl_MBRLEN_NUL_RETVAL): Likewise.
61354         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
61355         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
61356         AC_FUNC_MBRTOWC): Likewise.
61357         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
61358         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
61359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
61360         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
61361         Likewise.
61362         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
61363         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
61364         (gl_WCHAR_H): Improve comments.
61365         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61367 2010-12-25  Bruno Haible  <bruno@clisp.org>
61369         strtok_r: Fix C syntax error in autoconf macro.
61370         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
61371         characters in test program.
61373 2010-12-24  Bruno Haible  <bruno@clisp.org>
61375         ceil, trunc, round: Fix gcc warnings.
61376         * lib/ceil.c (MIN): Undefine before redefining.
61377         * lib/trunc.c (MIN): Likewise.
61378         * lib/round.c (MIN): Likewise.
61379         Include <math.h> first.
61381 2010-12-24  Bruno Haible  <bruno@clisp.org>
61383         select tests: Avoid failures on OSF/1 5.1.
61384         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
61385         failure of closing the last socket; it may fail with ECONNRESET.
61387 2010-12-24  Eric Blake  <eblake@redhat.com>
61389         stdint: avoid HP-UX 10.20 preprocessor bug
61390         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
61391         than #if.
61392         * tests/test-floor2.c (main): Likewise.
61393         Reported by Peter O'Gorman.
61395         pipe: make obsoletion transition easier
61396         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
61397         * modules/pipe (Files): Include revived file.
61398         (Include): Drop reference, to mirror getdate's behavior.
61400 2010-12-24  Bruno Haible  <bruno@clisp.org>
61402         sys_socket: Hide mismatch of declarations on NonStop Kernel.
61403         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
61404         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
61405         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61407 2010-12-24  Bruno Haible  <bruno@clisp.org>
61409         gethostname: Ensure declaration on NonStop Kernel.
61410         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
61411         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61413 2010-12-24  Bruno Haible  <bruno@clisp.org>
61415         sys_select: Ensure all necessary types on NonStop Kernel.
61416         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
61417         include <sys/time.h>.
61418         * doc/posix-headers/sys_select.texi: Mention that it's missing on
61419         NonStop Kernel.
61420         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61422 2010-12-24  Bruno Haible  <bruno@clisp.org>
61424         sys_select: Remove unneeded include.
61425         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
61426         have <sys/select.h>.
61428 2010-12-24  Bruno Haible  <bruno@clisp.org>
61430         gethostname: Provide a fallback for HOST_NAME_MAX.
61431         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
61432         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
61433         instead.
61434         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61436 2010-12-24  Bruno Haible  <bruno@clisp.org>
61438         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
61439         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
61440         (SA_RESTART): Likewise.
61441         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61443 2010-12-24  Bruno Haible  <bruno@clisp.org>
61445         signal: Define NSIG.
61446         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
61447         * tests/test-signal.c (nsig): New variable.
61448         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61450 2010-12-24  Bruno Haible  <bruno@clisp.org>
61452         rename, renameat: Avoid test failures on OSF/1 5.1.
61453         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
61454         alternative error codes.
61455         * tests/test-renameat.c (main): Likewise.
61457 2010-12-24  Bruno Haible  <bruno@clisp.org>
61459         *printf: Detect large precisions bug on Solaris 10/SPARC.
61460         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
61461         by Paul Eggert.
61462         * tests/test-snprintf-posix.h (test_function): Add this test code here
61463         too.
61464         * tests/test-sprintf-posix.h (test_function): Likewise.
61465         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61466         * tests/test-vasprintf-posix.c (test_function): Likewise.
61467         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
61468         around by gnulib.
61469         * doc/posix-functions/printf.texi: Likewise.
61470         * doc/posix-functions/snprintf.texi: Likewise.
61471         * doc/posix-functions/sprintf.texi: Likewise.
61472         * doc/posix-functions/vfprintf.texi: Likewise.
61473         * doc/posix-functions/vprintf.texi: Likewise.
61474         * doc/posix-functions/vsnprintf.texi: Likewise.
61475         * doc/posix-functions/vsprintf.texi: Likewise.
61476         * doc/posix-functions/dprintf.texi: Undo last commit.
61477         * doc/posix-functions/vdprintf.texi: Likewise.
61479 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61481         tests: port test-fdutimensat.c to Solaris 8
61482         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
61483         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
61484         On Solaris 8, it fails with errno == ENOSYS, because there is no
61485         futimens (so it can't use the fd), and there is no lutimens (so it
61486         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
61488         vsnprintf: make more consistent with snprintf; doc fixes
61490         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
61491         the byte count return problem was promoted from the snprintf-posix
61492         to the snprintf module.
61493         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
61494         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
61495         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
61496         * tests/test-snprintf.c (main): Check the byte count returned.
61497         * tests/test-vsnprintf.c (main): Likewise.
61499 2010-12-23  Eric Blake  <eblake@redhat.com>
61501         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
61502         * modules/sigpipe (License): Relax license.
61504 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61506         doc: document Solaris printf bug with large float precisions
61507         * doc/posix-functions/dprintf.texi (dprintf):
61508         * doc/posix-functions/fprintf.texi (fprintf):
61509         * doc/posix-functions/printf.texi (printf):
61510         * doc/posix-functions/snprintf.texi (snprintf):
61511         * doc/posix-functions/sprintf.texi (sprintf):
61512         * doc/posix-functions/vdprintf.texi (vdprintf):
61513         * doc/posix-functions/vfprintf.texi (vfprintf):
61514         * doc/posix-functions/vprintf.texi (vprintf):
61515         * doc/posix-functions/vsnprintf.texi (vsnprintf):
61516         * doc/posix-functions/vsprintf.texi (vsprintf):
61517         Mention that these functions mishandle large floating point
61518         precisions on Solaris 10.  The same bug is also present in Solaris
61519         8, and I assume earlier.  This causes "cd gnulib-tests; make
61520         check" to fail on Solaris 8 (and I assume, later) when building
61521         the latest coreutils, in test-vasprintf-posix's call to
61522         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
61523         the wide flavors (e.g., wprintf) so this patch just updates the
61524         documentation for the narrow ones.
61526         test-posixtm.c: add two tests
61527         * tests/test-posixtm.c: Add two tests, to highlight the
61528         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
61529         around this bug; this is merely to document it.
61531 2010-12-22  Bruno Haible  <bruno@clisp.org>
61533         getlogin_r: Work around portability problem on OSF/1.
61534         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
61535         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
61536         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
61537         test for a truncated result.
61538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
61539         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
61540         * modules/getlogin_r (Depends-on): Add memchr.
61541         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
61543 2010-12-22  Bruno Haible  <bruno@clisp.org>
61545         ptsname: Avoid test failure on OSF/1 5.1.
61546         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
61547         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
61548         (same_slave): New function.
61549         (main): Use it to compare ptsname's result with the expected file name.
61551 2010-12-22  Bruno Haible  <bruno@clisp.org>
61553         Port extended stdio modules to HP NonStop Kernel.
61554         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
61555         macros.
61556         * lib/fbufmode.c: Update comments.
61557         * lib/fflush.c: Likewise.
61558         * lib/fpurge.c: Likewise.
61559         * lib/freadable.c: Likewise.
61560         * lib/freadahead.c: Likewise.
61561         * lib/freading.c: Likewise.
61562         * lib/freadptr.c: Likewise.
61563         * lib/freadseek.c: Likewise.
61564         * lib/fseeko.c: Likewise.
61565         * lib/fseterr.c: Likewise.
61566         * lib/fwritable.c: Likewise.
61567         * lib/fwriting.c: Likewise.
61568         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61570 2010-12-22  Bruno Haible  <bruno@clisp.org>
61572         ttyname_r: Work around bug on OSF/1 5.1.
61573         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
61574         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
61575         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
61576         present.
61577         * lib/ttyname_r.c (ttyname_r): Update comments.
61579 2010-12-22  Bruno Haible  <bruno@clisp.org>
61581         round: Implement result sign according to IEEE 754.
61582         * lib/round.c (MIN, MINUS_ZERO): New macros.
61583         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
61584         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
61585         * tests/test-round-ieee.c (main): Likewise.
61586         * tests/test-roundl-ieee.c (main): Likewise.
61588         trunc: Implement result sign according to IEEE 754.
61589         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
61590         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
61591         * tests/test-trunc2.c: Include minus-zero.h.
61592         (MINUS_ZERO): New macro.
61593         (trunc_reference): Keep in sync with lib/trunc.c.
61594         * tests/test-truncf2.c: Include minus-zero.h.
61595         (MINUS_ZERO): New macro.
61596         (truncf_reference): Keep in sync with lib/trunc.c.
61597         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
61598         * tests/test-trunc-ieee.c (main): Likewise.
61599         * tests/test-truncl-ieee.c (main): Likewise.
61601         ceil: Implement result sign according to IEEE 754.
61602         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
61603         (FUNC): Return -0.0 for -1 < x < 0.
61604         * tests/test-ceil2.c: Include minus-zero.h.
61605         (MINUS_ZERO): New macro.
61606         (ceil_reference): Keep in sync with lib/ceil.c.
61607         * tests/test-ceilf2.c: Include minus-zero.h.
61608         (MINUS_ZERO): New macro.
61609         (ceilf_reference): Keep in sync with lib/ceil.c.
61610         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
61611         * tests/test-ceil-ieee.c (main): Likewise.
61612         * tests/test-ceill-ieee.c (main): Likewise.
61614         floor: Implement result sign according to IEEE 754.
61615         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
61616         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
61617         * tests/test-floorf2.c (floorf_reference): Likewise.
61618         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
61619         * tests/test-floor-ieee.c (main): Likewise.
61620         * tests/test-floorl-ieee.c (main): Likewise.
61622 2010-12-22  Bruno Haible  <bruno@clisp.org>
61624         getaddrinfo: Update doc.
61625         * doc/posix-functions/gai_strerror.texi: Return type is also different
61626         on AIX and HP-UX.
61628 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61630         getaddrinfo, inet_ntop: Update doc for Solaris.
61631         * doc/posix-functions/gai_strerror.texi: Return type is also an
61632         issue on Solaris 9 and earlier.
61633         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
61634         on Solaris 10 and earlier.
61636 2010-12-21  Bruno Haible  <bruno@clisp.org>
61638         New module 'roundl-ieee'.
61639         * modules/roundl-ieee: New file.
61640         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
61641         test whether roundl works according to ISO C 99 with IEC 60559.
61642         * m4/roundl-ieee.m4: New file.
61643         * modules/roundl-ieee-tests: New file.
61644         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
61645         * tests/test-roundl.c (main): Remove signbit tests.
61646         * modules/roundl-tests (Depends-on): Remove signbit.
61647         * doc/posix-functions/roundl.texi: Mention the new module.
61649 2010-12-21  Bruno Haible  <bruno@clisp.org>
61651         New module 'truncl-ieee'.
61652         * modules/truncl-ieee: New file.
61653         * modules/truncl-ieee-tests: New file.
61654         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
61655         * tests/test-truncl.c (main): Remove signbit tests.
61656         * modules/truncl-tests (Depends-on): Remove signbit.
61657         * doc/posix-functions/truncl.texi: Mention the new module.
61659 2010-12-21  Bruno Haible  <bruno@clisp.org>
61661         New module 'ceill-ieee'.
61662         * modules/ceill-ieee: New file.
61663         * modules/ceill-ieee-tests: New file.
61664         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
61665         * tests/test-ceill.c (main): Remove signbit tests.
61666         * modules/ceill-tests (Depends-on): Remove signbit.
61667         * doc/posix-functions/ceill.texi: Mention the new module.
61669 2010-12-21  Bruno Haible  <bruno@clisp.org>
61671         New module 'floorl-ieee'.
61672         * modules/floorl-ieee: New file.
61673         * modules/floorl-ieee-tests: New file.
61674         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
61675         * tests/test-floorl.c (main): Remove signbit tests.
61676         * modules/floorl-tests (Depends-on): Remove signbit.
61677         * doc/posix-functions/floorl.texi: Mention the new module.
61679 2010-12-21  Bruno Haible  <bruno@clisp.org>
61681         New module 'round-ieee'.
61682         * modules/round-ieee: New file.
61683         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
61684         whether round works according to ISO C 99 with IEC 60559.
61685         * m4/round-ieee.m4: New file.
61686         * modules/round-ieee-tests: New file.
61687         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
61688         * tests/test-round1.c (main): Remove signbit tests.
61689         * modules/round-tests (Depends-on): Remove 'signbit'.
61690         * doc/posix-functions/round.texi: Mention the new module.
61692 2010-12-21  Bruno Haible  <bruno@clisp.org>
61694         New module 'trunc-ieee'.
61695         * modules/trunc-ieee: New file.
61696         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
61697         whether trunc works according to ISO C 99 with IEC 60559.
61698         * m4/trunc-ieee.m4: New file.
61699         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
61700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
61701         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
61702         * modules/trunc-ieee-tests: New file.
61703         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
61704         * tests/test-trunc1.c (main): Remove signbit tests.
61705         * modules/trunc-tests (Depends-on): Remove 'signbit'.
61706         * doc/posix-functions/trunc.texi: Mention the new module.
61708 2010-12-21  Bruno Haible  <bruno@clisp.org>
61710         New module 'ceil-ieee'.
61711         * modules/ceil-ieee: New file.
61712         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
61713         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
61714         ISO C 99 with IEC 60559.
61715         * m4/ceil-ieee.m4: New file.
61716         * modules/ceil (Files): Add lib/ceil.c.
61717         (Depends-on): Add 'float'.
61718         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
61719         * lib/math.in.h (ceil): New declaration.
61720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
61721         REPLACE_CEIL.
61722         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
61723         * modules/ceil-ieee-tests: New file.
61724         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
61725         * tests/test-math-c++.cc: Check the signature of 'ceil'.
61726         * doc/posix-functions/ceil.texi: Mention the new module.
61728 2010-12-21  Bruno Haible  <bruno@clisp.org>
61730         New module 'floor-ieee'.
61731         * modules/floor-ieee: New file.
61732         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
61733         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
61734         ISO C 99 with IEC 60559.
61735         * m4/floor-ieee.m4: New file.
61736         * modules/floor (Files): Add lib/floor.c.
61737         (Depends-on): Add 'float'.
61738         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
61739         * lib/math.in.h (floor): New declaration.
61740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
61741         REPLACE_FLOOR.
61742         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
61743         * modules/floor-ieee-tests: New file.
61744         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
61745         * tests/test-math-c++.cc: Check the signature of 'floor'.
61746         * doc/posix-functions/floor.texi: Mention the new module.
61748 2010-12-21  Bruno Haible  <bruno@clisp.org>
61750         New module 'roundf-ieee'.
61751         * modules/roundf-ieee: New file.
61752         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
61753         test whether roundf works according to ISO C 99 with IEC 60559.
61754         * m4/roundf-ieee.m4: New file.
61755         * modules/roundf-ieee-tests: New file.
61756         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
61757         * tests/test-roundf1.c (main): Remove signbit tests.
61758         * modules/roundf-tests (Depends-on): Remove 'signbit'.
61759         * doc/posix-functions/roundf.texi: Mention the new module.
61761 2010-12-21  Bruno Haible  <bruno@clisp.org>
61763         New module 'truncf-ieee'.
61764         * modules/truncf-ieee: New file.
61765         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
61766         test whether truncf works according to ISO C 99 with IEC 60559.
61767         * m4/truncf-ieee.m4: New file.
61768         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
61769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
61770         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
61771         * modules/truncf-ieee-tests: New file.
61772         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
61773         * tests/test-truncf1.c (main): Remove signbit tests.
61774         * modules/truncf-tests (Depends-on): Remove 'signbit'.
61775         * doc/posix-functions/truncf.texi: Mention the new module.
61777 2010-12-21  Bruno Haible  <bruno@clisp.org>
61779         New module 'ceilf-ieee'.
61780         * modules/ceilf-ieee: New file.
61781         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
61782         test whether ceilf works according to ISO C 99 with IEC 60559.
61783         * m4/ceilf-ieee.m4: New file.
61784         * modules/ceilf-ieee-tests: New file.
61785         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
61786         * tests/test-ceilf1.c (main): Remove signbit tests.
61787         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
61788         * doc/posix-functions/ceilf.texi: Mention the new module.
61790 2010-12-21  Bruno Haible  <bruno@clisp.org>
61792         New module 'floorf-ieee'.
61793         * modules/floorf-ieee: New file.
61794         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
61795         test whether floorf works according to ISO C 99 with IEC 60559.
61796         * m4/floorf-ieee.m4: New file.
61797         * modules/floorf-ieee-tests: New file.
61798         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
61799         * tests/test-floorf1.c (main): Remove signbit tests.
61800         * modules/floorf-tests (Depends-on): Remove 'signbit'.
61801         * doc/posix-functions/floorf.texi: Mention the new module.
61803 2010-12-21  Bruno Haible  <bruno@clisp.org>
61805         Support for minus zero in autoconf macros.
61806         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
61807         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
61808         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
61809         * tests/minus-zero.h: Update comments.
61811 2010-12-21  Bruno Haible  <bruno@clisp.org>
61813         Tests for module 'ceil'.
61814         * modules/ceil-tests: New file.
61815         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
61816         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
61818 2010-12-21  Bruno Haible  <bruno@clisp.org>
61820         Tests for module 'floor'.
61821         * modules/floor-tests: New file.
61822         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
61823         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
61825 2010-12-21  Bruno Haible  <bruno@clisp.org>
61827         math: Fix indentation.
61828         * lib/math.in.h (floorf): Fix indentation.
61830 2010-12-21  Bruno Haible  <bruno@clisp.org>
61832         Fix cross-compilation guesses on Solaris.
61833         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
61834         not match "solaris2.10".
61835         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
61836         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
61837         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
61839 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
61841         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
61842         This fixes a problem observed with the latest coreutils snapshot
61843         that caused a test to fail on Solaris 8.  src/csplit.c's call
61844         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
61845         earlier, instead of returning the number of bytes that would have
61846         been generated; this causes csplit to incorrectly report memory
61847         exhaustion.
61848         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
61849         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
61850         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
61851         comments to match.
61852         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
61853         Fix typo in matching older versions of Solaris: "solaris2.10"
61854         is matched by the shell pattern "solaris2.[0-9]*".  This matters
61855         only for guessing while cross-compiling.
61856         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
61858 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
61860         ftoastr: fix comment again
61861         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
61862         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
61863         Also, simplify example a bit by using flags = 0.
61865 2010-12-20  Bruno Haible  <bruno@clisp.org>
61867         round*, trunc*: Update documentation regarding glibc.
61868         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
61869         * doc/posix-functions/round.texi: Likewise.
61870         * doc/posix-functions/roundl.texi: Likewise.
61871         * doc/posix-functions/truncf.texi: Likewise.
61872         * doc/posix-functions/trunc.texi: Likewise.
61873         * doc/posix-functions/truncl.texi: Likewise.
61875 2010-12-20  Bruno Haible  <bruno@clisp.org>
61877         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
61878         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
61879         * doc/posix-functions/round.texi: Likewise.
61880         * doc/posix-functions/roundl.texi: Likewise.
61882 2010-12-20  Bruno Haible  <bruno@clisp.org>
61884         ttyname_r: Add missing declaration on HP-UX 11.
61885         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
61886         HAVE_TTYNAME_R.
61887         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
61888         declared. Set HAVE_TTYNAME_R always.
61889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61890         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
61891         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
61892         HAVE_TTYNAME_R.
61893         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
61895 2010-12-20  Bruno Haible  <bruno@clisp.org>
61897         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
61898         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
61899         * doc/posix-functions/getlogin_r.texi: Likewise.
61900         * tests/test-getlogin.c: Include <errno.h>.
61901         (main): Avoid test failure on HP-UX 11.11.
61902         * tests/test-getlogin_r.c (main): Likewise.
61904 2010-12-20  Bruno Haible  <bruno@clisp.org>
61906         getlogin_r: Add missing declaration on HP-UX 11.
61907         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
61908         declared also when it exists as a function.
61909         * doc/posix-functions/getlogin_r.texi: Document this workaround.
61911 2010-12-20  Bruno Haible  <bruno@clisp.org>
61913         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
61914         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
61915         through wcrtomb.
61917 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
61919         ftoastr: fix comment
61920         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
61921         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
61923 2010-12-19  Bruno Haible  <bruno@clisp.org>
61925         isnan: Ensure it is a macro.
61926         * lib/math.in.h (isnan): Define as a macro if not already a macro.
61927         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
61928         Solaris.
61930 2010-12-19  Bruno Haible  <bruno@clisp.org>
61932         ldexpl test: Fix link error on OSF/1 5.1.
61933         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
61935 2010-12-19  Bruno Haible  <bruno@clisp.org>
61937         wctype: Make it work in C++ mode on OSF/1 5.1.
61938         * lib/wctype.in.h (iswblank): Declare but not define here.
61939         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
61940         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
61941         * modules/wctype (Files): Add lib/iswblank.c.
61943 2010-12-19  Bruno Haible  <bruno@clisp.org>
61945         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
61946         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
61947         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
61949 2010-12-19  Bruno Haible  <bruno@clisp.org>
61951         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
61952         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
61953         _POSIX_PII_SOCKET.
61954         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
61955         * doc/posix-functions/recvfrom.texi: Likewise.
61956         * doc/posix-functions/send.texi: Likewise.
61957         * doc/posix-functions/sendto.texi: Likewise.
61959 2010-12-19  Bruno Haible  <bruno@clisp.org>
61961         tcgetsid: Add missing declaration on OSF/1 5.1.
61962         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
61963         HAVE_TCGETSID.
61964         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
61965         Don't set HAVE_TCGETSID.
61966         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
61967         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
61968         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
61969         HAVE_TCGETSID.
61970         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
61972 2010-12-19  Bruno Haible  <bruno@clisp.org>
61974         stdio: Fix problem with popen() declaration on OSF/1 5.1.
61975         * lib/stdio.in.h: During the include_next statement, let recursive
61976         includes of this file include only the system header file.
61978 2010-12-19  Bruno Haible  <bruno@clisp.org>
61980         iconv_open: Fix regression from 2010-12-04.
61981         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
61982         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
61984 2010-12-19  Bruno Haible  <bruno@clisp.org>
61986         stdbool test: Avoid a gcc warning.
61987         * tests/test-stdbool.c (main): Fail if e1 is false.
61988         Reported by Jim Meyering.
61990 2010-12-19  Jim Meyering  <meyering@redhat.com>
61992         setenv: restore to working order
61993         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
61994         mistakenly removed.
61995         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
61996         HAVE_SETENV.
61997         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
61998         HAVE_SETENV.
62000 2010-12-19  Bruno Haible  <bruno@clisp.org>
62002         Document some different function declarations on OSF/1 5.1.
62003         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
62004         * doc/posix-functions/inet_ntop.texi: Likewise.
62005         * doc/posix-functions/gethostname.texi: Likewise.
62006         * lib/unistd.in.h (gethostname): Update comment.
62008 2010-12-19  Bruno Haible  <bruno@clisp.org>
62010         doc: Mention vasprintf-posix module.
62011         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
62012         the 'vasprintf-posix' module.
62013         * doc/glibc-functions/vasprintf.texi: Likewise.
62015 2010-12-19  Bruno Haible  <bruno@clisp.org>
62017         unsetenv: Add missing declaration on OSF/1 5.1.
62018         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
62019         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
62020         Don't set HAVE_UNSETENV. In the test program, set _BSD.
62021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
62022         not HAVE_UNSETENV.
62023         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
62024         HAVE_UNSETENV.
62025         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
62027 2010-12-19  Bruno Haible  <bruno@clisp.org>
62029         setenv: Add missing declaration on OSF/1 5.1.
62030         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
62031         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
62032         declared. Don't set HAVE_SETENV.
62033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
62034         not HAVE_SETENV.
62035         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
62036         HAVE_SETENV.
62037         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
62039 2010-12-19  Bruno Haible  <bruno@clisp.org>
62041         nl_langinfo tests: Avoid gcc warning.
62042         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
62044 2010-12-19  Bruno Haible  <bruno@clisp.org>
62046         mknod: Avoid error in C++ mode on OSF/1 with GCC.
62047         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
62048         _GL_CXXALIAS_SYS.
62050 2010-12-19  Bruno Haible  <bruno@clisp.org>
62052         stdbool: Relax test.
62053         * tests/test-stdbool.c (e): Don't require that casts from a variable's
62054         address to 'bool' work in static initializer, for compilers other than
62055         GCC.
62057 2010-12-19  Bruno Haible  <bruno@clisp.org>
62059         ftello: Add missing declaration on OSF/1 5.1.
62060         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
62061         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
62062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
62063         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
62064         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
62066 2010-12-19  Bruno Haible  <bruno@clisp.org>
62068         fseeko: Add missing declaration on OSF/1 5.1.
62069         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
62070         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
62071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
62072         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
62073         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
62075 2010-12-19  Bruno Haible  <bruno@clisp.org>
62077         fchdir: Add missing declaration on OSF/1 5.1.
62078         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
62079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
62080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
62081         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
62082         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
62084 2010-12-19  Bruno Haible  <bruno@clisp.org>
62086         relocatable-prog-wrapper: Separate from relocatable-prog.
62087         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
62088         uninstall-relocwrapper rule here.
62089         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
62090         Reported by Ian Beckwith <ianb@erislabs.net>.
62092 2010-12-19  Bruno Haible  <bruno@clisp.org>
62094         unistr/u8-mbsnlen: Add missing dependency.
62095         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
62096         Reported by Ian Beckwith <ianb@erislabs.net>.
62098 2010-12-19  Bruno Haible  <bruno@clisp.org>
62100         iconv: Make it possible again to use this module without 'iconv-h'.
62101         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
62102         if it is not defined.
62103         Reported by Ian Beckwith <ianb@erislabs.net>.
62105 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62107         acl: port to Solaris 8 when copying from tmpfs to ufs
62108         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
62109         error number.  Problem observed on Solaris 8 with latest
62110         coreutils, with "mv A B", where A is on a tmpfs file system and B
62111         is on a ufs file system.  This caused coreutils' mv/part-symlink
62112         test to fail.
62114         tests: set fail=0 at start
62115         * tests/init.sh (setup_): Move fail=0 initialization here ...
62116         (mktempd_): ... from here, so that tests can rely on fail being
62117         set to 0 initially.  This fixes a problem in coreutils; see:
62118         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
62120 2010-12-18  Bruno Haible  <bruno@clisp.org>
62122         memmem-simple: Stylistic changes.
62123         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
62124         Fix preprocessor directive indentation.
62126 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62128         memmem, memmem-simple: reorganize and expand empty needle check
62129         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
62130         functional checks to memmem-simple so that one has a fully functional
62131         memmem by using just this module.
62132         Restrict the performance only check to the memmem module.
62133         Also expand the empty needle check to ensure the correct
62134         pointer is returned, not just a non NULL pointer.
62135         * doc/glibc-functions/memmem.texi: Rearrange the portability
62136         documentation to correlate with the rearranged checks.
62137         Clarify exactly how the memmem and memmem-simple modules
62138         relate to each other.
62140 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62141             Bruno Haible  <bruno@clisp.org>
62143         Improve cross-compilation guesses for uClibc.
62144         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
62145         that uClibc does not have the glibc bug.
62146         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
62147         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
62149 2010-12-14  Eric Blake  <eblake@redhat.com>
62151         configmake: provide fallbacks for oldest supported autotools
62152         * m4/configmake.m4: New file.
62153         * modules/configmake (Files): Ship it.
62154         (configure.ac): Use it to guarantee fallbacks.
62156 2010-12-13  Pádraig Brady  <P@draigBrady.com>
62158         read-file: Improve handling of large files
62159         * lib/read-file.c (fread_file): Minimize realloc()s
62160         for regular files, and better manage sizes around SIZE_MAX.
62162 2010-12-13  Eric Blake  <eblake@redhat.com>
62164         cloexec, fcntl: relax license
62165         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
62166         consent from all contributors.
62167         * modules/fcntl (License): Likewise.
62169 2010-12-10  Bruno Haible  <bruno@clisp.org>
62171         Tests for module 'pipe-posix'.
62172         * modules/pipe-posix-tests: New file.
62173         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
62175 2010-12-10  Bruno Haible  <bruno@clisp.org>
62177         pipe-posix: Make it work in C++ mode.
62178         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
62179         (pipe): Use common idiom, not a macro definition.
62180         * lib/pipe.c: New file.
62181         * m4/pipe.m4: New file.
62182         * modules/pipe-posix (Description): Enhance.
62183         (Files): Add lib/pipe.c, m4/pipe.m4.
62184         (configure.ac): Invoke gl_FUNC_PIPE.
62185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
62186         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
62187         * tests/test-unistd-c++.cc: Check the signature of pipe.
62189 2010-12-10  Bruno Haible  <bruno@clisp.org>
62191         Rename module 'pipe' to 'spawn-pipe'.
62192         * modules/spawn-pipe: New file, renamed from modules/pipe.
62193         (Files, configure.ac, Makefile.am): Update.
62194         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
62195         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
62196         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
62197         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
62198         "spawn-pipe.h" instead of "pipe.h".
62199         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
62200         to gl_SPAWN_PIPE.
62201         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
62202         (Files, Makefile.am): Update.
62203         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
62204         Update.
62205         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
62206         Include "spawn-pipe.h" instead of "pipe.h".
62207         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
62208         * lib/javacomp.c: Likewise.
62209         * lib/javaversion.c: Likewise.
62210         * lib/pipe-filter-gi.c: Likewise.
62211         * lib/pipe-filter-ii.c: Likewise.
62212         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
62213         * modules/javacomp (Depends-on): Likewise.
62214         * modules/javaversion (Depends-on): Likewise.
62215         * modules/pipe-filter-gi (Depends-on): Likewise.
62216         * modules/pipe-filter-ii (Depends-on): Likewise.
62217         * MODULES.html.sh (Executing programs): Update.
62218         * NEWS: Mention the change.
62220 2010-12-10  Eric Blake  <eblake@redhat.com>
62222         pipe-posix: new module
62223         * modules/pipe-posix: New file.
62224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
62225         (gl_UNISTD_H): Check for declaration.
62226         * modules/unistd (Makefile.am): Substitute it.
62227         * lib/unistd.in.h (pipe): Provide it for mingw.
62228         * doc/posix-functions/pipe.texi (pipe): Update documentation.
62229         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
62231 2010-12-07  Bruno Haible  <bruno@clisp.org>
62233         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
62234         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
62235         u8_strcmp_gnu.
62236         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
62238 2010-12-06  Bruno Haible  <bruno@clisp.org>
62240         Update internal documentation.
62241         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
62243 2010-12-04  Bruno Haible  <bruno@clisp.org>
62245         Put more information about failed tests into the test return codes.
62246         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
62247         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
62248         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62249         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62250         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
62251         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62252         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62253         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
62254         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
62255         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62256         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
62257         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62258         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
62259         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62260         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
62261         returns a bit mask.
62262         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
62263         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
62264         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
62265         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
62266         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
62267         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
62268         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62270         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
62271         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
62272         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62273         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
62274         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
62275         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
62276         * m4/link.m4 (gl_FUNC_LINK): Likewise.
62277         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62278         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
62279         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
62280         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62281         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
62282         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62283         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
62284         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
62285         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
62286         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62287         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62288         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
62289         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
62290         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
62291         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
62292         gl_PRINTF_PRECISION): Likewise.
62293         * m4/regex.m4 (gl_REGEX): Likewise.
62294         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
62295         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
62296         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
62297         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62298         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62299         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
62300         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
62301         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
62302         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
62303         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62304         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62305         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62306         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
62307         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62308         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62309         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62310         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
62311         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62312         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62313         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
62314         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
62315         enumerated value.
62316         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
62318 2010-12-04  Bruno Haible  <bruno@clisp.org>
62320         Update for Solaris 11 2010-11.
62321         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
62322         Express, released in November 2010.
62324 2010-12-04  Bruno Haible  <bruno@clisp.org>
62326         nproc: Relax license.
62327         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
62328         and Paul Eggert.
62329         Requested by Ludovic Courtès <ludo@gnu.org>.
62331 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62333         utimecmp: fine-grained src to nearby coarse-grained dest
62335         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
62336         and the source is on a file system with higher-resolution time
62337         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
62338         not work, and the time stamps are close together, the algorithm to
62339         determine the exact resolution from the read-back mtime was buggy:
62340         it had a "!=" where it should have had an "==".  This bug has been
62341         in the code ever since it was introduced to gnulib.
62342         Problem reported by Dan Jacobson in
62343         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
62345 2010-11-30  Bruno Haible  <bruno@clisp.org>
62347         strerror_r-posix: Fix autoconf test.
62348         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
62350 2010-11-28  Bruno Haible  <bruno@clisp.org>
62351             Paul Eggert  <eggert@cs.ucla.edu>
62353         Tests for module 'getdomainname'.
62354         * modules/getdomainname-tests: New file.
62355         * tests/test-getdomainname.c: New file, based on
62356         tests/test-gethostname.c.
62358 2010-11-28  Bruno Haible  <bruno@clisp.org>
62359             Paul Eggert  <eggert@cs.ucla.edu>
62361         getdomainname: Use the system function when possible.
62362         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
62363         (getdomainname): Replace if needed. Provide the declaration if it is
62364         missing. Don't use _GL_CXXALIAS_SYS_CAST.
62365         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
62366         (getdomainname): When the system has getdomainname, call the system
62367         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
62368         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
62369         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
62370         found in libnsl. Look for the declaration also in <netdb.h>. Replace
62371         the function if its second argument is of type 'int' or if it is found
62372         in libnsl.
62373         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
62374         <sys/systeminfo.h> and sysinfo().
62375         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
62376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62377         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
62378         HAVE_GETDOMAINNAME.
62379         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
62380         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
62381         * doc/glibc-functions/getdomainname.texi: Document the problems with
62382         the getdomainname declaration.
62384 2010-11-28  Bruno Haible  <bruno@clisp.org>
62386         sys_socket: Ensure ss_family field on AIX.
62387         * lib/sys_socket.in.h (ss_family): New macro definition.
62388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
62389         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
62390         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
62391         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62392         * modules/sys_socket (Makefile.am): Substitute
62393         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62394         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
62396 2010-11-27  Bruno Haible  <bruno@clisp.org>
62398         readline: Improve configure output.
62399         * m4/readline.m4 (gl_FUNC_READLINE): Make the
62400         "checking for readline..." result understandable.
62402 2010-11-27  Bruno Haible  <bruno@clisp.org>
62404         *printf-posix: Detect a bug on Solaris 10/x86.
62405         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
62406         for floating-point output.
62407         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
62408         directive.
62409         * tests/test-snprintf-posix.h (test_function): Likewise.
62410         * tests/test-sprintf-posix.h (test_function): Likewise.
62411         * tests/test-vasprintf-posix.c (test_function): Likewise.
62412         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
62413         * doc/posix-functions/printf.texi: Likewise.
62414         * doc/posix-functions/snprintf.texi: Likewise.
62415         * doc/posix-functions/sprintf.texi: Likewise.
62416         * doc/posix-functions/vfprintf.texi: Likewise.
62417         * doc/posix-functions/vprintf.texi: Likewise.
62418         * doc/posix-functions/vsnprintf.texi: Likewise.
62419         * doc/posix-functions/vsprintf.texi: Likewise.
62420         * doc/glibc-functions/obstack_printf.texi: Likewise.
62421         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
62423 2010-11-27  Bruno Haible  <bruno@clisp.org>
62425         Fix link error when module libunistring-optional is in use.
62426         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
62427         * modules/striconveha-tests (Makefile.am): Likewise.
62429 2010-11-27  Bruno Haible  <bruno@clisp.org>
62431         regex: Mention link dependencies.
62432         * modules/regex (Link): New section.
62433         * modules/rpmatch (Link): Likewise.
62434         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
62436 2010-11-27  Bruno Haible  <bruno@clisp.org>
62438         ftoastr: Fix compilation error on Solaris.
62439         * lib/ftoastr.c: Include <config.h>.
62441 2010-11-27  Bruno Haible  <bruno@clisp.org>
62443         getloadavg: Update documentation.
62444         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
62446 2010-11-27  Bruno Haible  <bruno@clisp.org>
62448         sys_socket: Fix test whether the functions are declared.
62449         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
62450         not <sys/select.h>.
62452 2010-11-27  Bruno Haible  <bruno@clisp.org>
62454         getpass: Make sure to get system declaration on some platforms.
62455         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
62456         gl_USE_SYSTEM_EXTENSIONS.
62457         * modules/getpass (Depends-on): Add extensions.
62459 2010-11-26  Bruno Haible  <bruno@clisp.org>
62461         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
62462         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
62463         'iconv' module is present.
62464         (ICONV_CONST): New macro.
62465         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
62466         ICONV_CONST.
62467         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
62468         set ICONV_CONST.
62469         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
62470         here.
62471         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
62472         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
62473         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
62474         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
62475         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
62476         present.
62478 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62480         ftoastr: comment fix
62481         * lib/ftoastr.c: "little" -> "little or no" in comment
62483 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
62485         stdint: port to GCC 4.3 + OSX + Octave
62486         On this platform, stdint.h is buggy and defines int64_t to long
62487         long int.  The replacement defined it to long int, causing
62488         problems with C++ style name mangling.  Instead, trust the system
62489         definition if INT64_MAX is defined, and likewise for the unsigned
62490         variant.   Problem reported by Jarno Rajahalme in
62491         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
62492         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
62493         and don't mess with int64_t and INT64_MAX in this case.
62494         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
62496 2010-11-24  Bruno Haible  <bruno@clisp.org>
62498         doc: Corrections regarding MacOS X 10.4 and 10.5.
62499         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
62500         MacOS X.
62501         Reported by Simon Josefsson.
62503 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
62505         Uninstall ".bin" files installed by relocwrapper.
62506         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
62507         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
62508         unless it is already there.
62510 2010-11-21  Bruno Haible  <bruno@clisp.org>
62512         Update for NetBSD 5.0.
62513         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62514         NetBSD; the test fails on NetBSD 5.0.
62515         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62516         about NetBSD.
62518 2010-11-21  Bruno Haible  <bruno@clisp.org>
62520         Update for HP-UX 11.23 and HP-UX 11.31.
62521         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
62522         HP-UX.
62524 2010-11-21  Bruno Haible  <bruno@clisp.org>
62526         Update for MacOS X 10.5.
62527         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
62528         MacOS X; the test fails on MacOS X 10.5.8.
62529         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
62530         about MacOS X.
62532 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
62534         bootstrap: add bootstrap_sync option.
62535         See discussion at
62536         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
62537         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
62538         * build-aux/bootstrap: Accept --bootstrap-sync to update
62539         bootstrap if it is not identical to the local gnulib's
62540         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
62541         enable this by default.  Accept --no-bootstrap-sync to disable
62542         it.
62544 2010-11-20  Bruno Haible  <bruno@clisp.org>
62546         Ensure that <features.h> is included before __GLIBC__ is tested.
62547         * lib/printf-parse.h: Include <features.h>.
62548         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
62549         Reported by Mike Frysinger <vapier@gentoo.org>.
62551         Ensure that <features.h> is included before __GLIBC__ is tested.
62552         * lib/wchar.in.h: Include <features.h>.
62553         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
62554         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
62555         Reported by Mike Frysinger <vapier@gentoo.org>.
62557         Ensure that <features.h> is included before __GLIBC__ is tested.
62558         * lib/arpa_inet.in.h: Include <features.h>.
62559         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
62560         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
62561         Reported by Mike Frysinger <vapier@gentoo.org>.
62563         Ensure that <features.h> is included before __GLIBC__ is tested.
62564         * build-aux/link-warning.h: Include <features.h>.
62565         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
62566         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
62567         Reported by Mike Frysinger <vapier@gentoo.org>.
62569         Ensure that <features.h> is included before __GLIBC__ is tested.
62570         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
62571         Reported by Mike Frysinger <vapier@gentoo.org>.
62573 2010-11-20  Bruno Haible  <bruno@clisp.org>
62575         memmem: Fix autoconf test.
62576         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
62578 2010-11-20  Bruno Haible  <bruno@clisp.org>
62580         Port to uClibc.
62581         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
62582         * lib/fcntl.in.h: Likewise.
62583         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
62584         * lib/mbrtowc.c (mbrtowc): Likewise.
62585         * lib/relocatable.c (find_shared_library_fullname): Likewise.
62586         * lib/strerror_r.c: Likewise.
62587         * lib/unistr/u8-strnlen.c: Likewise.
62588         * lib/vasnprintf.c (decimal_point_char): Likewise.
62589         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62590         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
62591         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
62592         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
62593         * tests/test-sigaction.c (handler, main): Likewise.
62594         * lib/freading.h: Treat uClibc like a non-glibc platform.
62595         * lib/freading.c: Likewise.
62596         * lib/gettext.h: Likewise.
62597         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
62598         Likewise.
62599         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
62600         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62601         * lib/propername.c (proper_name_utf8): Likewise.
62602         * lib/spawn.in.h: Likewise.
62603         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
62604         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
62605         mem_cd_iconveh_internal): Likewise.
62606         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
62607         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
62608         strstr, strcasestr): Likewise.
62609         * lib/unicodeio.c (unicode_to_mb): Likewise.
62610         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
62611         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
62612         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
62613         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
62614         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
62615         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
62616         * lib/unistr/u8-stpncpy.c: Likewise.
62617         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62618         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
62619         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62620         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62621         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
62622         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
62623         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
62624         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
62625         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
62626         Likewise.
62627         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
62628         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62629         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
62630         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62632         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
62633         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62634         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
62635         * tests/test-getopt.h (OPTIND_MIN): Likewise.
62636         * tests/test-striconveha.c (main): Likewise.
62637         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62638         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
62639         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
62640         * doc/posix-functions/getline.texi: Likewise.
62641         Reported by Mike Frysinger <vapier@gentoo.org>.
62643 2010-11-20  Bruno Haible  <bruno@clisp.org>
62645         nproc: Fix condition.
62646         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
62647         HAVE_PTHREAD_AFFINITY_NP.
62649 2010-11-20  Bruno Haible  <bruno@clisp.org>
62651         Fix a comment.
62652         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
62654 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
62656         ftoastr: don't assume snprintf
62657         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
62658         Implement a subset of snprintf here, by using sprintf safely.
62659         * modules/ftoastr (Depends-on): Remove snprintf.
62661 2010-11-19  Jim Meyering  <meyering@redhat.com>
62663         test-rename.h: fix compilation failure
62664         * tests/test-rename.h (test_rename): Add omitted "}".
62666 2010-11-17  Jim Meyering  <meyering@redhat.com>
62668         maint.mk: add a URL discussing the no-@acronym policy
62669         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
62671 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
62673         ftoastr: depend on snprintf, improve comments
62674         * lib/ftoastr.c: Also mention Loitsch's draft.
62675         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
62676         needed in the current implementation, but it might simplify
62677         speeding up the code later.
62678         * modules/ftoastr: Depend on snprintf; this improves portability.
62679         Suggested by Bruno Haible in the same email.
62681         ftoastr: port to hosts lacking strtof and strtold
62682         Problem reported by Bruno Haible in
62683         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
62684         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
62685         environment and strtold (and presumably strtof) are not available.
62686         * modules/ftoastr (Files): Add m4/c-strtod.m4.
62687         (configure.ac): Require gl_C99_STRTOLD.
62689 2010-11-18  Bruno Haible  <bruno@clisp.org>
62691         c-strtold: Avoid link error on AIX 7.
62692         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
62693         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
62694         (gl_C_STRTOLD): Test whether strtold_l exists.
62695         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
62697 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62699         intprops: new macro INT_BITS_STRLEN_BOUND
62700         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
62701         ftoastr.h.  This exposes an internal of intprops.h that was formerly
62702         not exposed.  Also, it uses a slightly tighter bound than before;
62703         though this makes no practical difference, we might as well be as
62704         tight as we easily can.
62706         ftoastr: new module, for lossless conversion of floats to short strings
62707         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
62708         * modules/ftoastr: New files.
62710 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62712         bootstrap: port to Solaris sed
62713         * build-aux/bootstrap (get_version): Port to Solaris sed.
62714         See Ralf Wildenhues's note in
62715         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
62717 2010-11-14  Jim Meyering  <meyering@redhat.com>
62719         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
62720         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
62721         and move definition closer to sole use.
62723 2010-11-13  Jim Meyering  <meyering@redhat.com>
62725         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
62726         Now we require at least autoconf-2.59, which means the work-around
62727         is no longer needed.
62728         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
62729         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
62730         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62731         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62732         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62734 2010-11-13  Bruno Haible  <bruno@clisp.org>
62736         rename, renameat: Avoid test failures at NFS mounted locations.
62737         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
62738         functions.
62739         (test_rename): Use assert_nonexistent.
62740         * tests/test-rename.c: Include <dirent.h>.
62741         * tests/test-renameat.c: Likewise.
62742         Reported by Gary V. Vaughan <gary@gnu.org>.
62744         rename, renameat: Document Linux bug with NFS
62745         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
62746         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
62747         * doc/posix-functions/renameat.texi: Likewise.
62748         Suggested by Eric Blake.
62750 2010-11-13  Bruno Haible  <bruno@clisp.org>
62752         rename test: Add comments.
62753         * tests/test-rename.h (test_rename): Add structure and comments.
62755 2010-11-13  Eric Blake  <eblake@redhat.com>
62757         maintainer-makefile: cover a few more files
62758         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
62759         scripts generated within C files, for libvirt.
62761 2010-11-13  Bruno Haible  <bruno@clisp.org>
62763         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
62764         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
62765         character, return the number of bytes that belong together, not always
62766         1.
62767         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
62768         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
62769         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
62770         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
62771         number of bytes of an invalid character.
62772         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
62773         (main): Invoke it.
62774         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
62775         results.
62776         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
62777         malformed byte sequences.
62778         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
62779         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
62780         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
62781         Reported by Ben Pfaff and Paolo Bonzini.
62783 2010-11-13  Bruno Haible  <bruno@clisp.org>
62785         openat: Work around glibc bug with fchownat() and empty file names.
62786         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
62787         (gl_FUNC_FCHOWNAT): Invoke it.
62788         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
62789         * doc/posix-functions/fchownat.texi: Document the glibc bug.
62790         Reported by Gary V. Vaughan <gary@gnu.org>.
62792 2010-11-13  Bruno Haible  <bruno@clisp.org>
62794         openat: Ensure autoconf macro ordering.
62795         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
62796         gl_USE_SYSTEM_EXTENSIONS.
62797         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
62799 2010-11-13  Bruno Haible  <bruno@clisp.org>
62801         Update comments.
62802         * lib/unistr/u8-check.c: Update file name in comments.
62803         * lib/unistr/u8-mblen.c: Likewise.
62804         * lib/unistr/u8-prev.c: Likewise.
62805         * lib/unistr/u8-strmblen.c: Likewise.
62806         * lib/unistr/u8-strmbtouc.c: Likewise.
62808 2010-11-13  Jim Meyering  <meyering@redhat.com>
62810         tests: avoid test failure on Solaris 10 due to lack of PATH export
62811         * tests/test-update-copyright.sh: Don't forget to export PATH.
62813         init.sh: ensure that IFS is defined, just in case...
62814         * tests/init.sh (setup_): Ensure that IFS is defined,
62815         so that saving and restoring it works as expected.  This
62816         appears to be useful at least for an old version of dash
62817         from a long time ago (RH 6).  See here for details:
62818         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
62820         maint.mk: tighten "test a == b" check
62821         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
62822         test to files that contain something like #!/bin/sh.
62823         Without this, coreutils would get two false positives in
62824         the comments of C source files.
62826 2010-11-12  Eric Blake  <eblake@redhat.com>
62828         bootstrap: fix typo in previous attempt
62829         * build-aux/bootstrap (buildreq): Correct the grouping.
62830         Reported by Paul Eggert.
62832         maintainer-makefile: prohibit test x == x
62833         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
62834         Based on a report by Matthias Bolte.
62836         bootstrap: allow FreeBSD gzip
62837         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
62838         which has no '.' and goes to stderr.
62839         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
62840         Reported by Matthias Bolte.
62842         maintainer-makefile: check for i18n setup
62843         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
62844         will likely work.
62846 2010-11-12  Bruno Haible  <bruno@clisp.org>
62848         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
62849         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
62850         * lib/nanosleep.c (nanosleep): Likewise.
62852 2010-11-11  Bruno Haible  <bruno@clisp.org>
62854         fcntl-h: Fix for use of C++ on glibc systems.
62855         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62856         also on glibc systems in C++ mode.
62857         Reported by Gary V. Vaughan <gary@gnu.org>.
62859 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
62861         mknod: avoid false failure with dash
62862         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
62864 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
62866         unlink: Fix "is it should" typo in diagnostic.
62867         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
62868         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
62870 2010-11-11  Bruno Haible  <bruno@clisp.org>
62872         Tests for module 'strerror_r-posix'.
62873         * modules/strerror_r-posix-tests: New file.
62874         * tests/test-strerror_r.c: New file.
62875         * tests/test-string-c++.cc: Check the signature of strerror_r.
62877         New module 'strerror_r-posix'.
62878         * lib/string.in.h (strerror_r): New declaration.
62879         * lib/strerror_r.c: New file.
62880         * m4/strerror_r.m4: New file.
62881         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
62882         of strerror_r.
62883         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
62884         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
62885         * modules/strerror_r-posix: New file.
62886         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
62887         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
62888         * doc/posix-functions/strerror_r.texi: Mention the new module and the
62889         portability problems.
62891 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
62893         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
62894         line is also considered for output. Quoted function name in shell
62895         command, so temporary files for functions like MyClass::operator()
62896         are removed correctly without errors.
62898 2010-11-09  Bruno Haible  <bruno@clisp.org>
62900         * doc/posix-functions/strerror.texi: List more failing platforms.
62902         * doc/posix-functions/strerror.texi: Add a comment.
62904 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62906         fdopendir: fix bug on MacOS X when low on file descriptors
62908         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
62909         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
62910         All callers changed.
62911         (fdopendir): Invoke save_cwd at the top level, not after using
62912         multiple dup() calls to use up file descriptors.  Then retry
62913         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
62914         less than the maximum number of open file descriptors, because
62915         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
62916         on Mac OS X 10.6.4 for tar 1.24
62917         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
62918         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
62919         and for tar 1.25
62920         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
62922 2010-11-07  Bruno Haible  <bruno@clisp.org>
62924         vasnprintf: Support I flag on glibc systems.
62925         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
62926         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
62927         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
62928         snprintf function.
62929         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
62930         glibc systems.
62931         * tests/test-vasnprintf-posix3.c: New file.
62932         * modules/vasnprintf-posix-tests (Files): Add it.
62933         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
62935 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62937         [html] Fix copy/paste bug: Use unique name for compiler warnings.
62938         * MODULES.html.sh: For compiler warnings, use name
62939         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
62941 2010-11-05  Eric Blake  <eblake@redhat.com>
62943         ceil, floor: avoid spurious failure with icc
62944         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
62945         [denormals-as-zero] when optimizing without -mieee-fp option.
62946         * tests/test-floorf2.c (floorf_reference): Likewise.
62947         * tests/test-ceilf1.c (dummy): New function.
62948         (main): Use it to outsmart icc's optimization.
62949         * tests/test-floorf1.c (dummy, main): Likewise.
62951         tests: require working signbit
62952         * modules/ceilf-tests (Depends-on): Add signbit.
62953         * modules/ceill-tests (Depends-on): Likewise.
62954         * modules/floorf-tests (Depends-on): Likewise.
62955         * modules/floorl-tests (Depends-on): Likewise.
62956         * modules/round-tests (Depends-on): Likewise.
62957         * modules/roundf-tests (Depends-on): Likewise.
62958         * modules/roundl-tests (Depends-on): Likewise.
62959         * modules/trunc-tests (Depends-on): Likewise.
62960         * modules/truncf-tests (Depends-on): Likewise.
62961         * modules/truncl-tests (Depends-on): Likewise.
62963         strtod: work around icc bug
62964         * lib/strtod.c (minus_zero): Define to working value.
62965         (strtod): Use it to avoid icc bug.
62967         copysign: enhance tests
62968         * modules/copysign-tests (Files): Add minus-zero.h.
62969         * tests/test-copysign.c (main): Also test zeros.
62971 2010-11-04  Eric Blake  <eblake@redhat.com>
62973         ceil, floor, round, trunc: enhance tests of -0
62974         * tests/test-ceilf1.c (main): Ensure correct sign of result.
62975         * tests/test-ceill.c (main): Likewise.
62976         * tests/test-floorf1.c (main): Likewise.
62977         * tests/test-floorl.c (main): Likewise.
62978         * tests/test-round1.c (main): Likewise.
62979         * tests/test-roundf1.c (main): Likewise.
62980         * tests/test-roundl.c (main): Likewise.
62981         * tests/test-trunc1.c (main): Likewise.
62982         * tests/test-truncf1.c (main): Likewise.
62983         * tests/test-truncl.c (main): Likewise.
62985 2010-11-04  Eric Blake  <eblake@redhat.com>
62987         frexp, tests: work around ICC bug with -zero
62988         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
62989         works with more compilers.
62990         * tests/minus-zero.h: New file.
62991         * modules/ceilf-tests (Files): Include it.
62992         * modules/ceill-tests (Files): Likewise.
62993         * modules/floorf-tests (Files): Likewise.
62994         * modules/floorl-tests (Files): Likewise.
62995         * modules/frexp-nolibm-tests (Files): Likewise.
62996         * modules/frexp-tests (Files): Likewise.
62997         * modules/frexpl-nolibm-tests (Files): Likewise.
62998         * modules/frexpl-tests (Files): Likewise.
62999         * modules/isnan-tests (Files): Likewise.
63000         * modules/isnand-nolibm-tests (Files): Likewise.
63001         * modules/isnand-tests (Files): Likewise.
63002         * modules/isnanf-nolibm-tests (Files): Likewise.
63003         * modules/isnanf-tests (Files): Likewise.
63004         * modules/isnanl-nolibm-tests (Files): Likewise.
63005         * modules/isnanl-tests (Files): Likewise.
63006         * modules/round-tests (Files): Likewise.
63007         * modules/roundf-tests (Files): Likewise.
63008         * modules/roundl-tests (Files): Likewise.
63009         * modules/ldexpl-tests (Files): Likewise.
63010         * modules/signbit-tests (Files): Likewise.
63011         * modules/snprintf-posix-tests (Files): Likewise.
63012         * modules/sprintf-posix-tests (Files): Likewise.
63013         * modules/strtod-tests (Files): Likewise.
63014         * modules/trunc-tests (Files): Likewise.
63015         * modules/truncf-tests (Files): Likewise.
63016         * modules/truncl-tests (Files): Likewise.
63017         * modules/vsnprintf-posix-tests (Files): Likewise.
63018         * modules/vsprintf-posix-tests (Files): Likewise.
63019         * modules/vasnprintf-posix-tests (Files): Likewise.
63020         * modules/vasprintf-posix-tests (Files): Likewise.
63021         * tests/test-ceilf1.c (main): Use it.
63022         * tests/test-ceill.c (main): Likewise.
63023         * tests/test-floorf1.c (main): Likewise.
63024         * tests/test-floorl.c (main): Likewise.
63025         * tests/test-frexp.c (main): Likewise.
63026         * tests/test-frexpl.c (main): Likewise.
63027         * tests/test-isnan.c (main): Likewise.
63028         * tests/test-isnand.h (main): Likewise.
63029         * tests/test-isnanf.h (main): Likewise.
63030         * tests/test-isnanl.h (main): Likewise.
63031         * tests/test-ldexpl.c (main): Likewise.
63032         * tests/test-round.c (main): Likewise.
63033         * tests/test-roundf.c (main): Likewise.
63034         * tests/test-roundl.c (main): Likewise.
63035         * tests/test-signbit.c (test_signbitf, test_signbitd)
63036         (test_signbitl): Likewise.
63037         * tests/test-snprintf-posix.h (test_function): Likewise.
63038         * tests/test-sprintf-posix.h (test_function): Likewise.
63039         * tests/test-strtod.c (main): Likewise.
63040         * tests/test-trunc1.c (main): Likewise.
63041         * tests/test-truncf1.c (main): Likewise.
63042         * tests/test-truncl.c (main): Likewise.
63044         isnanl: work around icc bug
63045         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
63047 2010-11-03  Eric Blake  <eblake@redhat.com>
63049         tests: fix compiler warnings
63050         * tests/test-getopt.h (test_getopt): Fix condition.
63051         * tests/test-getopt_long.h (test_getopt_long): Likewise.
63052         * tests/test-pipe2.c (main): Likewise.
63053         * tests/test-quotearg-simple.c (main): Avoid icc warning.
63055         utimens: fix broken m4 test
63056         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
63058 2010-10-28  Bruno Haible  <bruno@clisp.org>
63060         posix_spawn*, getdtablesize: Relax license.
63061         * modules/posix_spawn (License): Change to LGPLv2+.
63062         * modules/posix_spawnp (License): Likewise.
63063         * modules/posix_spawn-internal (License): Likewise.
63064         * modules/posix_spawnattr_init (License): Likewise.
63065         * modules/posix_spawnattr_getflags (License): Likewise.
63066         * modules/posix_spawnattr_setflags (License): Likewise.
63067         * modules/posix_spawnattr_getpgroup (License): Likewise.
63068         * modules/posix_spawnattr_setpgroup (License): Likewise.
63069         * modules/posix_spawnattr_getschedparam (License): Likewise.
63070         * modules/posix_spawnattr_setschedparam (License): Likewise.
63071         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
63072         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
63073         * modules/posix_spawnattr_getsigdefault (License): Likewise.
63074         * modules/posix_spawnattr_setsigdefault (License): Likewise.
63075         * modules/posix_spawnattr_getsigmask (License): Likewise.
63076         * modules/posix_spawnattr_setsigmask (License): Likewise.
63077         * modules/posix_spawnattr_destroy (License): Likewise.
63078         * modules/posix_spawn_file_actions_init (License): Likewise.
63079         * modules/posix_spawn_file_actions_addclose (License): Likewise.
63080         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
63081         * modules/posix_spawn_file_actions_addopen (License): Likewise.
63082         * modules/posix_spawn_file_actions_destroy (License): Likewise.
63083         * modules/getdtablesize (License): Likewise.
63084         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
63086 2010-10-26  Bruno Haible  <bruno@clisp.org>
63088         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
63089         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
63090         Cygwin and mingw.
63091         Suggested by Eric Blake.
63093 2010-10-26  Bruno Haible  <bruno@clisp.org>
63095         stdio: Work around compilation error due to renameat() on Solaris 10.
63096         * lib/stdio.in.h: Include <unistd.h> on Solaris.
63097         * lib/renameat.c: Don't include <unistd.h> here.
63098         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
63099         Reported by Paul Eggert and Eric Blake.
63101 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63103         renameat: port to Solaris 10, which declares renameat in unistd.h
63105         * lib/renameat.c: Include unistd.h before stdio.h, because
63106         Solaris 10 declares renameat in unistd.h.  Problem encountered
63107         when building GNU tar 1.24 on Solaris 10.
63109 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63111         fdopendir: fix C89 compilation
63112         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
63113         compilers.
63115 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
63117         inttostr: simplify by removing unnecessary redundancy
63118         * lib/anytostr.c: Don't include verify.h.
63119         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
63120         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
63121         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
63122         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
63123         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
63124         Likewise.
63125         * modules/inttostr (Depends-on): Remove 'verify'.
63127 2010-10-23  Bruno Haible  <bruno@clisp.org>
63129         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
63130         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
63131         Reported by Eric Blake.
63133 2010-10-23  Bruno Haible  <bruno@clisp.org>
63135         Tests: Fix LOCALE_JA on MirBSD 10.
63136         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
63137         to an UTF-8 locale.
63138         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
63139         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63140         Reported by Eric Blake.
63142 2010-10-21  Bruno Haible  <bruno@clisp.org>
63144         nl_langinfo test: Avoid test failure on NetBSD 5.
63145         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
63146         Reported by Eric Blake.
63148 2010-10-21  Eric Blake  <eblake@redhat.com>
63150         c-stack: work around libsigsegv 2.8 bug
63151         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
63152         overflow on at least PowerPC64.
63154 2010-10-17  Bruno Haible  <bruno@clisp.org>
63156         userspec: Drop redundant file.
63157         * modules/userspec (Files): Remove lib/inttostr.h.
63159 2010-10-17  Bruno Haible  <bruno@clisp.org>
63161         nl_langinfo tests: Silence some warnings.
63162         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
63163         Reported by Jim Meyering.
63165 2010-10-17  Bruno Haible  <bruno@clisp.org>
63167         Make use of GCC's attribute __alloc_size__.
63168         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
63169         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
63170         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
63171         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
63172         __alloc_size__.
63173         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
63174         Suggested by Jim Meyering.
63176 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
63178         bootstrap: anchor .gitignore entries.
63179         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
63180         with...
63181         (insert_vc_ignore): ... this new function, which prepends `/' to
63182         all .gitignore entries before passing them to
63183         insert_sorted_if_absent.
63185 2010-10-16  Bruno Haible  <bruno@clisp.org>
63187         nextafter: Fix configure check.
63188         * modules/nextafter (configure.ac): Correct expected prototype.
63190 2010-10-16  Bruno Haible  <bruno@clisp.org>
63192         termios: Update documentation.
63193         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
63195 2010-10-16  Bruno Haible  <bruno@clisp.org>
63197         tests: Make them compile with TinyCC.
63198         * tests/test-strstr.c (main): Remove parentheses around array
63199         initializer.
63201 2010-10-15  Eric Blake  <eblake@redhat.com>
63203         ignore-value: make header idempotent
63204         * lib/ignore-value.h: Add double-inclusion guards.
63205         Reported by Stefan Berger.
63207 2010-10-15  Jim Meyering  <meyering@redhat.com>
63209         GNUmakefile: handle "stable" target, not "major"
63210         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
63211         lists in maint.mk and announce-gen.  Without this, "make stable"
63212         would fail to ensure that $(VERSION) is up to date.
63214 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
63216         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
63217         & co.
63219 2010-10-14  Bruno Haible  <bruno@clisp.org>
63221         vasnprintf: Don't set errno to 0.
63222         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
63223         block that sets it to 0.
63224         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
63226 2010-10-14  Bruno Haible  <bruno@clisp.org>
63228         socketlib: Fix.
63229         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
63230         gl_PREREQ_SYS_H_WINSOCK2.
63231         Reported by Ian Beckwith <ianb@erislabs.net>.
63233 2010-10-13  Jim Meyering  <meyering@redhat.com>
63235         test-select-stdin.c: avoid warn_unused_result warnings
63236         * tests/test-select-stdin.c: Include "macros.h".
63237         ASSERT that read and fflush succeed.
63239 2010-10-13  Jim Meyering  <meyering@redhat.com>
63241         git-version-gen: do require git-VC'd files in cwd
63242         * build-aux/git-version-gen: Reject a git version string
63243         if there are no commits associated with the current directory.
63244         This avoids an unlikely false-positive (unrelated dir whose parent
63245         repository also contains a tag matching v*), as pointed out
63246         by Giuseppe Scrivano in
63247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
63249 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63251         argv-iter: omit nonconforming declaration
63252         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
63253         enum arg_iter_err declaration, which doesn't conform to C99.
63254         Solaris 10 cc warns about this.
63256 2010-10-13  Eric Blake  <eblake@redhat.com>
63258         termios: fix compilation on mingw
63259         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
63260         (gl_TERMIOS_H): Adjust it on mingw.
63261         * modules/termios (Makefile.am): Substitute new key.
63262         * lib/termios.in.h (includes): Make include_next conditional.
63263         * doc/posix-headers/termios.texi (termios.h): Update
63264         documentation.
63265         Reported by Daniel P. Berrange.
63267 2010-10-13  Jim Meyering  <meyering@redhat.com>
63269         git-version-gen: don't require that .git/ be in the current dir
63270         * build-aux/git-version-gen: Adjust this script so that it works
63271         when run from any working directory beneath the top-level .git/-
63272         containing directory.  Inspired by a patch from Giuseppe Scrivano,
63273         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
63275         test-select: avoid warn_unused_result warnings
63276         * tests/test-select.c: Include "macros.h".
63277         ASSERT that each call to read, write, and pipe succeeds.
63278         While not technically required, also check each "close".
63279         * modules/select-tests (Files): Add tests/macros.h.
63281         test-symlinkat: remove declaration of unused local
63282         * tests/test-symlinkat.c (main): Remove unused local, "buf".
63284         test-inttostr: avoid shadowing warnings
63285         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
63286         and use malloc rather than the stack for the same reason as
63287         mentioned in the comment justifying the other allocation.
63289 2010-10-11  Bruno Haible  <bruno@clisp.org>
63291         stdlib: Allow multiple gnulib generated replacements to coexist.
63292         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
63293         Reported by Sam Steingold <sds@gnu.org>.
63295 2010-10-11  Jim Meyering  <meyering@redhat.com>
63297         fix a documentation typo
63298         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
63300 2010-10-11  Eric Blake  <eblake@redhat.com>
63302         futimens: work around Solaris 11 bug
63303         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
63304         * tests/test-futimens.h (test_futimens): Enhance, rather than
63305         weaken test.
63306         * doc/posix-functions/futimens.texi (futimens): Document the bug.
63308 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63310         Indentation.
63311         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
63312         higher-level operators more to the left.
63314 2010-10-11  Jim Meyering  <meyering@redhat.com>
63316         test-futimens: avoid unwarranted test failure on Solaris 5.11
63317         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
63318         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
63319         because it tries to dereference the NULL name argument.
63321 2010-10-11  Bruno Haible  <bruno@clisp.org>
63323         Indentation.
63324         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
63325         indentation.
63327 2010-10-11  Jim Meyering  <meyering@redhat.com>
63329         spawn.in.h: make indentation consistent with parentheses
63330         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
63331         Make indentation consistent with parentheses.
63333 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
63335         Fix mismatched parens in previous commit
63336         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
63337         parens.
63339 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63341         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
63343         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
63344         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
63345         * lib/malloca.c: Include "verify.h".
63346         (verify1): Remove, replacing with a verify call.
63347         * lib/relocwrapper.c (verify1): Likewise.
63348         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
63349         Likewise.
63350         * modules/malloca (Depends-on): Add 'verify'.
63351         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
63352         * modules/vasnprintf (Depends-on): Add 'verify'.
63353         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63354         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63355         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63356         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63357         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63358         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63359         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63361         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
63363         Formerly the style was sometimes 2*X - 1, because the C standard
63364         was wrongly thought to disallow ?: in integral constant expressions.
63365         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
63366         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
63367         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
63368         * lib/stdint.in.h (_verify_intmax_size): Likewise.
63369         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
63370         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
63371         verify that time_t cannot be floating.
63373 2010-10-08  Eric Blake  <eblake@redhat.com>
63375         time: enforce recent POSIX ruling that time_t is integral
63376         * lib/time.in.h (__time_t_must_be_integral): Detect any
63377         problematic systems, allowing the rest of gnulib to assume POSIX.
63379 2010-10-08  Jim Meyering  <meyering@redhat.com>
63381         fdopendir: fix a bug on systems lacking openat and /proc support
63382         OpenBSD 4.7 is one such system.  The most noticeable effect was
63383         failure of any application making nontrivial use of fts: rm, du,
63384         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
63385           ./rm: traversal failed: `a': Bad file descriptor
63386         Debugging that, you see that even though FD 6 was closed just
63387         prior to the opendir call in fd_clone_opendir, its resulting
63388         dir->dd_fd was 8, rather than the expected value of 6:
63390         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
63391         93                close (fd);
63392         (gdb) n
63393         94                dir = fd_clone_opendir (dupfd);
63394         (gdb) n
63395         95                saved_errno = errno;
63396         (gdb) p dir->dd_fd
63397         $11 = 8
63399         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
63400         The problem is that on OpenBSD, fd_clone_opendir has to resort
63401         to using the old-style save/restore CWD mechanism, due to its
63402         lack of openat/proc support, and *that* would steal the FD (6)
63403         that opendir was supposed to use.
63405         The fix is to squirrel away the desired FD so that save_cwd uses a
63406         different one, and then free the dest FD right before calling opendir.
63407         That guarantees opendir will use the required file descriptor.
63409         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
63411 2010-10-08  Bruno Haible  <bruno@clisp.org>
63413         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
63414         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
63416 2010-10-08  Bruno Haible  <bruno@clisp.org>
63418         nanosleep: Make replacement POSIX compliant.
63419         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
63420         is out of range.
63421         Reported by Jim Meyering.
63423 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63425         bootstrap: add hook for altering gnulib.mk, for Bison
63426         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
63427         the Bison bootstrapping process can rewrite file names and variables
63428         in this file before later parts of 'bootstrap' use the file.
63429         Bison wants to include lib/gnulib.mk from the top-level makefile,
63430         so it needs the file names in this file to be relative to the top
63431         level, not relative to lib; plus it needs variable names to be
63432         rewritten.
63433         (slurp): Use the new function.
63435         bootstrap: reformat for readability
63436         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
63438 2010-10-08  Eric Blake  <eblake@redhat.com>
63440         docs: update cygwin progress
63441         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
63442         1.7.7.
63443         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
63444         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
63445         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
63446         * doc/posix-functions/carg.texi (carg): Likewise.
63447         * doc/posix-functions/cargf.texi (cargf): Likewise.
63448         * doc/posix-functions/casin.texi (casin): Likewise.
63449         * doc/posix-functions/casinf.texi (casinf): Likewise.
63450         * doc/posix-functions/casinh.texi (casinh): Likewise.
63451         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
63452         * doc/posix-functions/catan.texi (catan): Likewise.
63453         * doc/posix-functions/catanf.texi (catanf): Likewise.
63454         * doc/posix-functions/catanh.texi (catanh): Likewise.
63455         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
63456         * doc/posix-functions/ccos.texi (ccos): Likewise.
63457         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
63458         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
63459         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
63460         * doc/posix-functions/cexp.texi (cexp): Likewise.
63461         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
63462         * doc/posix-functions/cimag.texi (cimag): Likewise.
63463         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
63464         * doc/posix-functions/clog.texi (clog): Likewise.
63465         * doc/posix-functions/clogf.texi (clogf): Likewise.
63466         * doc/posix-functions/conj.texi (conj): Likewise.
63467         * doc/posix-functions/conjf.texi (conjf): Likewise.
63468         * doc/posix-functions/cpow.texi (cpow): Likewise.
63469         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
63470         * doc/posix-functions/cproj.texi (cproj): Likewise.
63471         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
63472         * doc/posix-functions/creal.texi (creal): Likewise.
63473         * doc/posix-functions/crealf.texi (crealf): Likewise.
63474         * doc/posix-functions/csin.texi (csin): Likewise.
63475         * doc/posix-functions/csinf.texi (csinf): Likewise.
63476         * doc/posix-functions/csinh.texi (csinh): Likewise.
63477         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
63478         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
63479         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
63480         * doc/posix-functions/ctan.texi (ctan): Likewise.
63481         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
63482         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
63483         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
63484         * doc/posix-headers/complex.texi (complex.h): Likewise.
63486 2010-10-07  Jim Meyering  <meyering@redhat.com>
63488         parse-datetime: avoid compilation failure on OpenBSD 4.7
63489         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
63490         This works around a compilation failure on OpenBSD 4.7:
63491         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
63493 2010-10-07  Eric Blake  <eblake@redhat.com>
63495         docs: update cygwin progress
63496         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
63497         1.7.6.
63498         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
63499         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
63500         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
63501         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
63502         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
63503         Likewise.
63504         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
63505         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
63506         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
63507         Likewise.
63508         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
63509         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
63510         Likewise.
63511         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
63512         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
63513         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
63514         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
63515         Likewise.
63516         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
63517         Likewise.
63518         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
63520         docs: update parse-datetime history
63521         * doc/parse-datetime.texi (Authors of parse_datetime): Better
63522         documentation of this function's history and alternatives.
63524         cygwin: use more robust version check
63525         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
63526         exclude an eventual cygwin 1.9.1.
63527         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63529         (gl_FUNC_STRCASESTR): Likewise.
63530         Reported by Bruno Haible.
63532 2010-10-06  Bruno Haible  <bruno@clisp.org>
63534         string, sys_select: Avoid #including large headers unless necessary.
63535         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
63536         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
63537         OSF/1, BeOS, Haiku.
63538         Reported by Jim Meyering.
63540 2010-10-05  Eric Blake  <eblake@redhat.com>
63542         memmem, strstr, strcasestr: fix bug with long periodic needle
63543         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
63544         periodic needle having false positive.
63545         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
63546         and cygwin 1.7.7.
63547         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
63548         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
63549         (gl_FUNC_STRCASESTR): Likewise.
63550         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63551         * tests/test-memmem.c (main): Expose the bug.
63552         * tests/test-strcasestr.c (main): Likewise.
63553         * tests/test-strstr.c (main): Likewise.
63554         * tests/test-c-strcasestr.c (main): Likewise.
63555         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
63556         * doc/posix-functions/strstr.texi (strstr): Likewise.
63557         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
63558         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
63560 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63562         parse-datetime: do some more renaming
63563         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
63564         parse_datetime, not get_date.  Mention the renaming.
63565         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
63566         in comments.
63567         * m4/bison.m4: Likewise.
63569 2010-10-05  Eric Blake  <eblake@redhat.com>
63571         parse-datetime: better name than get_date
63572         * NEWS: Reword the deprecation notice.
63573         * modules/get_date: Rename to modules/parse-datetime.
63574         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
63575         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
63576         * lib/get_date.y: Rename to lib/parse-datetime.y.
63577         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
63578         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
63579         * doc/getdate.texi: Provide fallback wrapper.
63580         * lib/getdate.h: Move guts, and wrap...
63581         * lib/parse-datetime.h: ...new file.
63582         * lib/parse-datetime.y (get_date): Rename...
63583         (parse_datetime): ...to this.
63584         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
63585         (gl_PARSE_DATETIME): ...to this.
63586         * doc/posix-functions/getdate.texi (get_date): Provide fallback
63587         documentation.
63588         * modules/getdate (Files): Provide fallback docs and header.
63589         (Notice, Depends-on): Update references.
63590         * tests/test-parse-datetime.c: Likewise.
63591         * DEPENDENCIES: Likewise.
63592         * MODULES.html.sh (Date and time <time.h>): Likewise.
63593         * doc/parse-datetime.texi (Date input formats)
63594         (Authors of parse_datetime): Likewise.
63595         * modules/parse-datetime (Files, configure.ac, Makefile.am)
63596         (Include): Likewise.
63597         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
63598         * gnulib-tool: Likewise.
63599         * m4/bison.m4 (gl_BISON): Likewise.
63600         Suggested by Bruno Haible.
63602 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63604         more ports to Solaris tr, which needs [] around ranges
63605         * gnulib-tool: Solaris tr needs [] around ranges.
63606         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63607         * tests/test-pipe-filter-gi1.c (main): Likewise.
63608         * tests/test-pipe-filter-ii1.c (main): Likewise.
63610 2010-10-05  Eric Blake  <eblake@redhat.com>
63612         bootstrap: fix Solaris regression
63613         * build-aux/bootstrap (check_versions): Solaris tr still needs []
63614         around ranges.
63615         Reported by Pádraig Brady.
63617         bootstrap: work with pkg-config
63618         * build-aux/bootstrap (check_versions): Also transliterate - in
63619         prerequisite name.
63620         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
63621         prerequisites that were already found, to avoid confusion.
63622         Reported by Justin Clift.
63624         faccessat: remove unused wrappers
63625         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
63626         presence of these wrappers dragged in -lgen on Solaris.
63627         Reported by Clemens Brogi; fix suggested by Paul Eggert.
63629 2010-10-05  Jim Meyering  <meyering@redhat.com>
63631         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
63632         * Makefile (sc_pragma_columns): New syntax-check rule.
63634 2010-10-04  Bruno Haible  <bruno@clisp.org>
63636         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
63637         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
63638         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
63639         Reported by Bruce Korb and Eric Blake.
63641 2010-10-04  Bruno Haible  <bruno@clisp.org>
63643         threadlib: Make option --with-libpth-prefix work.
63644         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
63645         use $LIBPTH, not just -lpth.
63647 2010-10-04  Bruno Haible  <bruno@clisp.org>
63649         Avoid line length limitation from HP NonStop system header files.
63650         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
63651         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
63652         * lib/ctype.in.h: Likewise.
63653         * lib/dirent.in.h: Likewise.
63654         * lib/errno.in.h: Likewise.
63655         * lib/fcntl.in.h: Likewise.
63656         * lib/float.in.h: Likewise.
63657         * lib/getopt.in.h: Likewise.
63658         * lib/iconv.in.h: Likewise.
63659         * lib/inttypes.in.h: Likewise.
63660         * lib/langinfo.in.h: Likewise.
63661         * lib/locale.in.h: Likewise.
63662         * lib/math.in.h: Likewise.
63663         * lib/netdb.in.h: Likewise.
63664         * lib/netinet_in.in.h: Likewise.
63665         * lib/poll.in.h: Likewise.
63666         * lib/pthread.in.h: Likewise.
63667         * lib/pty.in.h: Likewise.
63668         * lib/sched.in.h: Likewise.
63669         * lib/se-selinux.in.h: Likewise.
63670         * lib/search.in.h: Likewise.
63671         * lib/signal.in.h: Likewise.
63672         * lib/spawn.in.h: Likewise.
63673         * lib/stdarg.in.h: Likewise.
63674         * lib/stddef.in.h: Likewise.
63675         * lib/stdint.in.h: Likewise.
63676         * lib/stdio.in.h: Likewise.
63677         * lib/stdlib.in.h: Likewise.
63678         * lib/string.in.h: Likewise.
63679         * lib/strings.in.h: Likewise.
63680         * lib/sys_file.in.h: Likewise.
63681         * lib/sys_ioctl.in.h: Likewise.
63682         * lib/sys_select.in.h: Likewise.
63683         * lib/sys_socket.in.h: Likewise.
63684         * lib/sys_stat.in.h: Likewise.
63685         * lib/sys_time.in.h: Likewise.
63686         * lib/sys_times.in.h: Likewise.
63687         * lib/sys_utsname.in.h: Likewise.
63688         * lib/sys_wait.in.h: Likewise.
63689         * lib/sysexits.in.h: Likewise.
63690         * lib/termios.in.h: Likewise.
63691         * lib/time.in.h: Likewise.
63692         * lib/unistd.in.h: Likewise.
63693         * lib/wchar.in.h: Likewise.
63694         * lib/wctype.in.h: Likewise.
63695         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
63696         * modules/ctype (Makefile.am): Likewise.
63697         * modules/dirent (Makefile.am): Likewise.
63698         * modules/errno (Makefile.am): Likewise.
63699         * modules/fcntl-h (Makefile.am): Likewise.
63700         * modules/float (Makefile.am): Likewise.
63701         * modules/getopt-posix (Makefile.am): Likewise.
63702         * modules/iconv-h (Makefile.am): Likewise.
63703         * modules/inttypes (Makefile.am): Likewise.
63704         * modules/langinfo (Makefile.am): Likewise.
63705         * modules/locale (Makefile.am): Likewise.
63706         * modules/math (Makefile.am): Likewise.
63707         * modules/netdb (Makefile.am): Likewise.
63708         * modules/netinet_in (Makefile.am): Likewise.
63709         * modules/poll-h (Makefile.am): Likewise.
63710         * modules/pthread (Makefile.am): Likewise.
63711         * modules/pty (Makefile.am): Likewise.
63712         * modules/sched (Makefile.am): Likewise.
63713         * modules/search (Makefile.am): Likewise.
63714         * modules/selinux-h (Makefile.am): Likewise.
63715         * modules/signal (Makefile.am): Likewise.
63716         * modules/spawn (Makefile.am): Likewise.
63717         * modules/stdarg (Makefile.am): Likewise.
63718         * modules/stddef (Makefile.am): Likewise.
63719         * modules/stdint (Makefile.am): Likewise.
63720         * modules/stdio (Makefile.am): Likewise.
63721         * modules/stdlib (Makefile.am): Likewise.
63722         * modules/string (Makefile.am): Likewise.
63723         * modules/strings (Makefile.am): Likewise.
63724         * modules/sys_file (Makefile.am): Likewise.
63725         * modules/sys_ioctl (Makefile.am): Likewise.
63726         * modules/sys_select (Makefile.am): Likewise.
63727         * modules/sys_socket (Makefile.am): Likewise.
63728         * modules/sys_stat (Makefile.am): Likewise.
63729         * modules/sys_time (Makefile.am): Likewise.
63730         * modules/sys_times (Makefile.am): Likewise.
63731         * modules/sys_utsname (Makefile.am): Likewise.
63732         * modules/sys_wait (Makefile.am): Likewise.
63733         * modules/sysexits (Makefile.am): Likewise.
63734         * modules/termios (Makefile.am): Likewise.
63735         * modules/time (Makefile.am): Likewise.
63736         * modules/unistd (Makefile.am): Likewise.
63737         * modules/wchar (Makefile.am): Likewise.
63738         * modules/wctype (Makefile.am): Likewise.
63740 2010-10-04  Bruno Haible  <bruno@clisp.org>
63742         read-file tests: Avoid a test failure on NonStop Kernel.
63743         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
63744         a regular file.
63745         Reported by Joachim Schmitz <schmitz@hp.com>.
63747 2010-10-03  Bruno Haible  <bruno@clisp.org>
63749         gnulib-tool: Fixes for --create-testdir with --libtool.
63750         * gnulib-tool (func_get_automake_snippet): Don't augment
63751         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
63752         an executable.
63753         (func_create_testdir): Handle module 'alloca' like func_import.
63754         Reported by Bruce Korb <bruce.korb@gmail.com>.
63756 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63758         Avoid some lines longer than 80 characters.
63759         * lib/stdint.in.h: Break long comment lines.
63760         * lib/math.in.h: Likewise.
63761         (_GL_NUM_UINT_WORDS): New macro, for readability.
63762         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
63763         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
63764         * lib/stdlib.in.h: Likewise.
63765         * lib/spawn.in.h: Likewise.
63766         * lib/sys_socket.in.h: Update an URL.
63767         * lib/sys_stat.in.h: Break long line.
63769 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
63771         Improve pmccabe2html.
63772         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
63773         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
63774         when the sources change. Remove the line in the HTML about "Used
63775         ranges" (which implied that there might be other unused ranges),
63776         rename "Resume" to "Summary" (easier to understand for more users).
63777         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
63778         styles, and some unnecessary blank lines.
63780 2010-10-03  Bruno Haible  <bruno@clisp.org>
63781             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
63783         acl: Add support for ACLs on NonStop Kernel.
63784         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
63785         Check whether the function aclsort() exists.
63786         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
63787         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
63788         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63789         (acl_nontrivial [HAVE_ACLSORT]: New function.
63790         (file_has_acl): Implement for NonStop Kernel.
63791         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63792         (qset_acl): Implement for NonStop Kernel.
63793         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
63794         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
63795         (main): Implement for NonStop Kernel.
63796         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
63797         Kernel. Handle this flavor.
63798         * tests/test-set-mode-acl.sh: Likewise.
63799         * tests/test-copy-acl.sh: Likewise.
63800         * tests/test-copy-file.sh: Likewise.
63802 2010-10-03  Bruno Haible  <bruno@clisp.org>
63804         Info about ACLs on NonStop Kernel.
63805         * doc/acl-resources.txt: Add info about NonStop Kernel.
63806         References by Joachim Schmitz <schmitz@hp.com>.
63808 2010-10-02  Bruno Haible  <bruno@clisp.org>
63810         Define missing EDQUOT on NonStop Kernel.
63811         * lib/errno.in.h (EDQUOT): Assign a value if missing.
63812         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
63813         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
63814         missing.
63815         * doc/posix-headers/errno.texi: Mention the NSK bug.
63816         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
63817         Reported by Joachim Schmitz <schmitz@hp.com>.
63819 2010-10-02  Bruno Haible  <bruno@clisp.org>
63821         Update doc for POSIX:2008.
63822         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
63823         Update URL of POSIX specification.
63825 2010-10-02  Bruno Haible  <bruno@clisp.org>
63827         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
63828         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
63829         from gnulib, not from Automake.
63831 2010-10-02  Bruno Haible  <bruno@clisp.org>
63833         New module 'system-posix'.
63834         * modules/system-posix: New file.
63835         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
63836         module is present.
63837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63838         GNULIB_SYSTEM_POSIX.
63839         * modules/stdlib (Depends-on): Remove sys_wait.
63840         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
63841         * doc/posix-functions/system.texi: Mention the new module.
63842         * doc/posix-headers/stdlib.texi: Likewise.
63843         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
63844         define test_sys_wait_macros to a no-op.
63845         Reported by Sam Steingold <sds@gnu.org>.
63847 2010-09-30  Bruno Haible  <bruno@clisp.org>
63849         More renaming from 'getdate' to 'get_date'.
63850         * doc/get_date.texi: Renamed from doc/getdate.texi.
63851         * modules/get_date (Files): Update.
63852         * MODULES.html.sh (Date and time <time.h>): Update.
63853         * DEPENDENCIES: Update.
63854         * gnulib-tool: Update comment.
63855         * m4/bison.m4 (gl_BISON): Likewise.
63856         * m4/get_date.m4 (gl_GET_DATE): Likewise.
63858 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
63860         bootstrap: support ACLOCAL_FLAGS during aclocal
63861         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
63862         can add additional -I dir for third-party .m4 files.
63864 2010-09-30  Eric Blake  <eblake@redhat.com>
63866         bootstrap: use glibtoolize on MacOS
63867         * build-aux/bootstrap (check_versions): Convert libtool into
63868         libtoolize.
63869         (tool search): Move libtool check earlier, and look for
63870         glibtoolize for MacOS.
63871         (gnulib_tool_options): Auto-add --libtool when appropriate.
63872         Reported by Justin Clift.
63874         poll: fix typo that broke test on MacOS
63875         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
63876         Reported by Justin Clift.
63878         getdate: rename to get_date
63879         Note: getdate.h is not renamed, to minimize client impact.
63880         * modules/getdate: Mark obsolete.  Move old contents...
63881         * modules/get_date: ...to new module name.
63882         * modules/getdate-tests: Move...
63883         * modules/get_date-tests: ...here.
63884         * m4/getdate.m4: Move...
63885         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
63886         * lib/getdate.y: Move...
63887         * lib/get_date.y: ...here.
63888         * tests/test-getdate.c: Move...
63889         * tests/test-get_date.c: ...here.
63890         * doc/posix-functions/getdate.texi (getdate): Update name.
63891         * NEWS: Mention the change.
63893 2010-09-29  Bruno Haible  <bruno@clisp.org>
63895         Separate the module 'waitpid' from the module 'sys_wait'.
63896         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
63897         present.
63898         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
63899         gl_MODULE_INDICATOR_FOR_TESTS.
63900         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
63901         * modules/sys_wait (Depends-on): Remove waitpid.
63902         (Makefile.am): Substitute GNULIB_WAITPID.
63903         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
63904         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
63905         signature only if the 'waitpid' module is present.
63906         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
63907         * NEWS: Mention the change.
63908         * modules/grantpt (Depends-on): Add waitpid.
63909         * modules/wait-process (Depends-on): Likewise.
63911 2010-09-29  Bruno Haible  <bruno@clisp.org>
63913         More tests for module 'sys_wait'.
63914         * modules/sys_wait-c++-tests: New file.
63915         * tests/test-sys_wait-c++.cc: New file.
63916         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
63917         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
63919 2010-09-29  Bruno Haible  <bruno@clisp.org>
63921         New module 'waitpid'.
63922         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
63923         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
63924         Don't include <process.h>.
63925         (waitpid): Declare only, using modern idiom.
63926         * m4/waitpid.m4: New file.
63927         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
63928         * modules/waitpid: New file.
63929         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
63930         (Makefile.am): Update.
63931         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
63933 2010-09-28  Bruno Haible  <bruno@clisp.org>
63935         poll: Assume ANSI C.
63936         * lib/poll.c (poll): Use an ANSI C declaration.
63938 2010-09-28  Bruno Haible  <bruno@clisp.org>
63940         poll-h: Create poll.h on all platforms.
63941         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
63942         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
63943         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
63944         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
63945         (gl_REPLACE_POLL_H): Don't set POLL_H.
63946         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
63947         * modules/poll-h (Depends-on): Add include_next.
63948         (Makefile.am): Create poll.h unconditionally. Substitute also
63949         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
63951 2010-09-28  Bruno Haible  <bruno@clisp.org>
63953         Tests for module 'poll-h'.
63954         * modules/poll-h-c++-tests: New file.
63955         * tests/test-poll-h-c++.cc: New file.
63957         Tests for module 'poll-h'.
63958         * modules/poll-h-tests: New file.
63959         * tests/test-poll-h.c: New file.
63961 2010-09-28  Bruno Haible  <bruno@clisp.org>
63963         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
63964         * modules/poll-h (Depends-on): Add 'extensions'.
63966 2010-09-28  Bruno Haible  <bruno@clisp.org>
63968         New module 'poll-h'.
63969         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
63970         (poll): Use modern idiom.
63971         * modules/poll-h: New file.
63972         * modules/poll (Files): Remove lib/poll.in.h.
63973         (Depends-on): Add poll-h.
63974         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
63975         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
63976         * m4/poll_h.m4: New file.
63977         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
63978         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
63979         and invoke gl_REPLACE_POLL_H.
63980         * lib/poll.c: Use common idiom.
63981         * tests/test-poll.c: Likewise.
63982         * doc/posix-headers/poll.texi: Mention the poll-h module.
63983         Suggested by Eric Blake.
63985 2010-09-26  Bruno Haible  <bruno@clisp.org>
63987         sys_wait: Implement WSTOPSIG.
63988         * lib/sys_wait.in.h (WSTOPSIG): New macro.
63989         Reported by Simon Josefsson.
63991 2010-09-26  Simon Josefsson  <simon@josefsson.org>
63993         stdlib, sys_wait: Avoid compilation error on mingw.
63994         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
63996 2010-09-26  Bruno Haible  <bruno@clisp.org>
63998         stdlib tests: Avoid code duplication.
63999         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
64000         * modules/sys_wait-tests (Files): Likewise.
64001         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
64002         * tests/test-stdlib.c: Include test-sys_wait.h.
64003         (main): Invoke test_sys_wait_macros.
64004         * tests/test-sys_wait.c: Include test-sys_wait.h.
64005         (main): Invoke test_sys_wait_macros.
64007 2010-09-25  Simon Josefsson  <simon@josefsson.org>
64009         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
64010         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
64011         sure Windows sockets are working before calling getaddrinfo.
64012         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
64013         * doc/gnulib.texi (Windows sockets): Fix typo.
64015 2010-09-25  Bruno Haible  <bruno@clisp.org>
64017         Tests for module 'regex-quote'.
64018         * modules/regex-quote-tests: New file.
64019         * tests/test-regex-quote.c: New file.
64021         New module 'regex-quote'.
64022         * lib/regex-quote.h: New file.
64023         * lib/regex-quote.c: New file.
64024         * modules/regex-quote: New file.
64025         Suggested by Reuben Thomas <rrt@sc3d.org>.
64027 2010-09-24  Bruno Haible  <bruno@clisp.org>
64029         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
64030         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
64032 2010-09-23  Bruno Haible  <bruno@clisp.org>
64034         setenv: Relax license.
64035         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
64036         Blake.
64037         Requested by Eric Blake.
64039 2010-09-22  Bruno Haible  <bruno@clisp.org>
64041         termios: Relax license.
64042         * modules/termios (License): Change to LGPLv2+.
64043         Requested by Eric Blake.
64045 2010-09-22  Bruno Haible  <bruno@clisp.org>
64047         threadlib: Allow the package to change the default to 'no'.
64048         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
64049         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
64050         Reported by Paul Eggert.
64052 2010-09-22  Pádraig Brady  <P@draigbrady.com>
64053             Bruno Haible  <bruno@clisp.org>
64055         Fix endless loop in mbmemcasecoll.
64056         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
64057         byte.
64058         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
64060 2010-09-22  Bruno Haible  <bruno@clisp.org>
64062         Tests for module 'memcoll'.
64063         * modules/memcoll-tests: New file.
64064         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
64066         memcoll, xmemcoll: Clarify size vs. length.
64067         * modules/memcoll.c (memcoll0): Clarify specification.
64068         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
64069         passed to collate_error.
64071 2010-09-22  Bruno Haible  <bruno@clisp.org>
64073         Tests for module 'memcasecmp'.
64074         * modules/memcasecmp-tests: New file.
64075         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
64077 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64079         * lib/pthread.in.h: Add split double-inclusion guard, and include
64080         system <pthread.h> if there is one.  Use @@-style as in other
64081         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
64082         pthread.h doesn't.
64083         (pthread_mutexattr_destroy, pthread_mutexattr_init):
64084         (pthread_mutexattr_settype, pthread_mutex_trylock):
64085         New static inline functions, if there's no system <pthread.h>.
64086         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
64087         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
64088         Approximate with mutexes if the system lacks spinlocks, as in
64089         MacOS.
64090         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
64091         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
64092         @@-style.  Check for spinlocks separately.
64093         (gl_PTHREAD_DEFAULTS): New macro.
64094         * modules/pthread: Redo to use a more typical style for in.h files.
64096 2010-09-21  Eric Blake  <eblake@redhat.com>
64098         net_if: enhance tests
64099         * tests/test-net_if.c (main): Move signature checks earlier.
64100         Print failures to stderr.
64101         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
64102         Document the bug that we do not yet fix.
64104 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64106         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
64107         about gnulib, not GSS.
64109 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64111         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
64112         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
64113         for Emacs.
64114         * build-aux/pmccabe2html: Make Makefile.am example code more
64115         cut-and-paste friendly.
64117 2010-09-21  Simon Josefsson  <simon@josefsson.org>
64119         * tests/test-net_if.c: New file.
64120         * modules/net_if-tests: New file.
64122 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64124         pthread: add pthread_spin_destroy
64125         * lib/pthread.in.h (pthread_spin_destroy): New function.
64127 2010-09-19  Bruno Haible  <bruno@clisp.org>
64129         gnulib-tool: Fix --help output.
64130         * gnulib-tool (func_usage): Fix help message.
64131         Reported by Reuben Thomas <rrt@sc3d.org>.
64133 2010-09-18  Jim Meyering  <meyering@redhat.com>
64135         maint.mk: avoid unexpanded \n in two diagnostics
64136         * top/maint.mk (sc_prohibit_always_true_header_tests):
64137         Don't use a literal \n in a halt=... assignment.  It would not be
64138         expanded, and the two \n bytes would appear in the diagnostic output
64139         rather than the desired newline.  Use halt=$$(printf ... instead.
64140         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
64142 2010-09-18  Bruno Haible  <bruno@clisp.org>
64144         netinet_in: Doc tweak.
64145         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
64146         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64148 2010-09-18  Jim Meyering  <meyering@redhat.com>
64150         init.sh: correct an outdated comment
64151         * tests/init.sh (create_exe_shims_):  s/function/alias/
64153         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
64154         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
64155         a file named "*.exe" is removed between the glob expansion and the
64156         processing of that oddly named file.
64158 2010-09-17  Eric Blake  <eblake@redhat.com>
64160         mirbsd: add some more support
64161         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
64162         in BSD family.
64163         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
64164         devices as OpenBSD.
64165         * m4/host-os.m4 (mirbsd): Add MirBSD.
64167         tests: fix unportable assumption on sys/wait.h
64168         * tests/test-sys_wait.c (main): Relax test.
64169         * tests/test-stdlib.c (main): Likewise.
64171         init.sh: accommodate directory with no .exes
64172         * tests/init.sh: Accomodate directory containing only scripts.
64174         tests: avoid compiler warning
64175         * tests/test-stdlib.c (main): Use the variable.
64177         fdutimens, fdutimensat: update signature, again
64178         * lib/utimens.h (gl_futimens): Delete, and move signature...
64179         (fdutimens): ...here.
64180         (fdutimensat): Rearrange signature.
64181         (lutimensat): Rename variable for clarity.
64182         * lib/fdutimensat.c (fdutimensat): Update signature.
64183         * lib/utimens.c (fdutimens): Likewise.
64184         (gl_futimens): Delete.
64185         (utimens, lutimens): Update callers.
64186         * lib/futimens.c (futimens): Likewise.
64187         * tests/test-fdutimensat.c: Likewise.
64188         * tests/test-utimens.c: Likewise.
64189         * tests/test-futimens.h: Update comment.
64190         * NEWS: Mention this.
64191         Suggested by Paul Eggert.
64193 2010-09-17  Bruno Haible  <bruno@clisp.org>
64195         Take over the maintenance of some older macros from Autoconf.
64196         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
64197         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
64198         GNU Autoconf.
64199         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
64200         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
64202 2010-09-17  Eric Blake  <eblake@redhat.com>
64204         fdutimensat: drop atflag validation
64205         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
64206         with valid fd, to close a race scenario where futimens is
64207         unsupported and FILE was replaced by a symlink.
64208         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
64209         accordingly.
64210         Suggested by Paul Eggert.
64212 2010-09-16  Bruno Haible  <bruno@clisp.org>
64214         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
64215         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
64217 2010-09-16  Bruno Haible  <bruno@clisp.org>
64219         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
64220         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
64221         login_tty exists.
64222         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64224 2010-09-16  Bruno Haible  <bruno@clisp.org>
64226         login_tty: Make the replacement code work on BSD systems.
64227         * lib/login_tty.c: Include <sys/ioctl.h>.
64228         (login_tty): Use ioctl TIOCSCTTY when available.
64229         * modules/login_tty (Depends-on): Add sys_ioctl.
64230         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64232 2010-09-16  Bruno Haible  <bruno@clisp.org>
64234         login_tty: Stricter unit test.
64235         * modules/login_tty-tests (Depends-on): Add tcgetsid.
64236         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
64237         and tcgetsid() after login_tty.
64238         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64240 2010-09-16  Bruno Haible  <bruno@clisp.org>
64242         New module 'tcgetsid'.
64243         * lib/tcgetsid.c: New file.
64244         * m4/tcgetsid.m4: New file.
64245         * modules/tcgetsid: New file.
64246         * modules/termios (Depends-on): Add c++defs, warn-on-use.
64247         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
64248         GNULIB_TCGETSID, HAVE_TCGETSID.
64249         * lib/termios.in.h: Include <sys/types.h>.
64250         (tcgetsid): New declaration.
64251         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
64252         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
64253         * doc/posix-functions/tcgetsid.texi: Mention the new module.
64254         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
64256 2010-09-16  Bruno Haible  <bruno@clisp.org>
64258         Tests for module 'termios'.
64259         * modules/termios-c++-tests: New file.
64260         * modules/termios-tests: New file.
64261         * tests/test-termios-c++.cc: New file.
64262         * tests/test-termios.c: New file.
64264         New module 'termios'.
64265         * modules/termios: New file.
64266         * lib/termios.in.h: New file.
64267         * m4/termios_h.m4: New file.
64268         * doc/posix-headers/termios.texi: Mention the new module.
64270 2010-09-16  Eric Blake  <eblake@redhat.com>
64272         fdutimensat: add an atflag parameter
64273         * lib/fdutimensat.c (fdutimensat): Add new parameter.
64274         * lib/utimens.h (fdutimensat): Update prototype.
64275         * tests/test-fdutimensat.c: Adjust test to match.
64276         * NEWS: Document the change.
64277         Suggested by Paul Eggert.
64279 2010-09-16  Bruno Haible  <bruno@clisp.org>
64281         Fix typos in comments.
64282         * lib/striconveh.h: Fix typo in comment.
64283         * lib/login_tty.c (login_tty): Likewise.
64285 2010-09-15  Bruno Haible  <bruno@clisp.org>
64287         stdlib: clarify MirBSD WEXITSTATUS bug
64288         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
64289         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64291 2010-09-15  Eric Blake  <eblake@redhat.com>
64293         stdlib: work around MirBSD WEXITSTATUS bug
64294         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
64295         * modules/stdlib (Depends-on): Add sys_wait.
64296         * tests/test-sys_wait.c (main): Enhance test.
64297         * tests/test-stdlib.c (main): Likewise.
64298         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
64300         docs: mention MacOS issue with WEXITSTATUS(constant)
64301         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
64302         issue.
64303         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64305         strnlen: add tests
64306         * modules/strnlen-tests: New file.
64307         * tests/test-strnlen.c: Likewise.
64309 2010-09-14  Bruno Haible  <bruno@clisp.org>
64311         unistr/base: Avoid link errors when module 'libunistring' is also used.
64312         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
64313         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
64314         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
64315         Declare also when HAVE_LIBUNISTRING is set.
64316         Reported by Pádraig Brady <P@draigbrady.com>.
64318 2010-09-14  Eric Blake  <eblake@redhat.com>
64320         test-rawmemchr: make more robust
64321         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
64322         (Depends-on, configure.ac): Add needed prerequisites to use it.
64323         * modules/memchr-tests (Files, Depends-on, configure.ac):
64324         Likewise, to avoid implicit reliance on memchr module prereqs.
64325         * tests/test-memchr.c (main): Ensure proper masking.
64326         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
64327         reads.
64329         memchr: detect glibc Alpha bug
64330         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
64331         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
64332         Alpha.
64333         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
64334         * tests/test-memchr.c (main): Enhance test.
64335         Reported by Nelson H. F. Beebe.
64337 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64339         fts, getcwd, glob: audit for dirfd returning -1
64340         * lib/fts.c (opendir): Remove #define; no longer used.
64341         (opendirat): New arg PDIR_FD.  All callers changed.
64342         (fts_build, _opendir2): Use new opendirat to avoid the need for
64343         dirfd, or for checking whether dirfd returns a negative value.
64344         Don't use opendir; always use openat followed by fdopendir.
64345         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
64346         it.
64347         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
64348         returns -1 here.
64349         * modules/fts (Depends-on): Remove dirfd.
64350         * modules/getcwd (Depends-on): Likewise.
64352 2010-09-13  Eric Blake  <eblake@redhat.com>
64354         float: fix broken MirBSD header
64355         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
64356         * doc/posix-headers/float.texi (float.h): Document it.
64358 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64360         fts: use O_NOFOLLOW to avoid race condition when opening a directory
64361         * lib/fts.c (opendirat): New arg extra_flags.
64362         (__opendir2): Use it to avoid following symlinks when opening
64363         a directory, if symlinks are not supposed to be followed.  See
64364         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
64366         fdopendir: preserve argument fd before returning
64367         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
64368         (fdopendir_with_dup, fd_clone_opendir): New static functions.
64369         (fdopendir): Use them, arranging for FD to be open to the same
64370         directory that it was when it started.  (It might be temporarily
64371         closed while fdopendir is running, so this not thread- or
64372         signal-safe.)  Be careful to do the right thing even when file
64373         descriptors are scarce and dup fails with errno == EMFILE.  See
64374         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
64376 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
64378         regex: Pass the system regex if its only problem is 32-bit regoff_t.
64379         * NEWS: Document change.
64380         * m4/regex.m4: Disable test for regoff_t size.
64382 2010-09-13  Jim Meyering  <meyering@redhat.com>
64384         fts: don't operate on an invalid file descriptor after failed dup
64385         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
64386         negative file descriptor.
64388 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64390         savedir: add streamsavedir, deprecate fdsavedir
64391         * NEWS: Mention deprecation of fdsavedir.
64392         * lib/savedir.c (streamsavedir): New extern function, whose name
64393         ends in "savedir" to be consistent with the others.  This differs
64394         from savedirstream in that it doesn't close its argument.  The
64395         next version of GNU tar will use this instead of fdsavedir, to
64396         avoid some race conditions and conserve file descriptors.
64397         (savedirstream): Reimplement as a wrapper around streamsavedir.
64398         (fdsavedir): Add a comment deprecating this function.  As far as
64399         I know, only GNU tar used it, and GNU tar doesn't need it any more.
64400         * lib/savedir.h (streamsavedir): New decl.
64401         (fdsavedir): Add a comment deprecating this.
64403 2010-09-10  Bruno Haible  <bruno@clisp.org>
64405         langinfo: Fix last commit.
64406         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
64407         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
64408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64410 2010-09-10  Bruno Haible  <bruno@clisp.org>
64412         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
64413         * lib/progreloc.c (O_EXEC): Define fallback.
64415 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
64417         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
64418         * NEWS: Document recent changes to fcntl-h.
64419         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
64420         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
64421         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
64422         Similarly for O_SEARCH; this last was already true, but not documented.
64423         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
64424         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
64425         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
64426         Likewise.
64427         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
64428         is zero, not whether it is defined.
64429         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
64430         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
64431         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
64433 2010-09-10  Bruno Haible  <bruno@clisp.org>
64435         langinfo, nl_langinfo: Fix for IRIX 5.3.
64436         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
64437         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
64438         HAVE_LANGINFO_YESEXPR.
64439         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
64440         HAVE_LANGINFO_YESEXPR.
64441         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
64442         HAVE_LANGINFO_T_FMT_AMPM is 0.
64443         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
64444         HAVE_LANGINFO_YESEXPR is 0.
64445         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
64446         NOEXPR.
64447         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
64448         * doc/posix-functions/nl_langinfo.texi: Likewise.
64449         Reported by Eric Blake.
64451 2010-09-10  Bruno Haible  <bruno@clisp.org>
64453         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
64454         * doc/glibc-functions/login_tty.texi: Mention the include file problem
64455         on FreeBSD 8.0 and OpenBSD 4.6.
64456         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
64457         * m4/pty_h.m4 (gl_PTY_H): Likewise.
64458         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
64459         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
64460         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
64461         ac_includes_default.
64462         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64464 2010-09-09  Eric Blake  <eblake@redhat.com>
64466         strsignal: work around NetBSD bug
64467         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
64468         * lib/string.in.h (includes): Likewise.
64469         * doc/posix-functions/strsignal.texi (strsignal): Document the
64470         bug.
64471         Reported by Nelson H. F. Beebe.
64473         gnulib-tool: work with NetBSD /bin/sh
64474         * gnulib-tool (func_cache_var, func_cache_lookup_module)
64475         (func_get_description, func_get_comment, func_get_status)
64476         (func_get_notice, func_get_applicability, func_get_filelist)
64477         (func_get_dependencies, func_get_autoconf_early_snippet)
64478         (func_get_autoconf_snippet, func_get_automake_snippet)
64479         (func_get_include_directive, func_get_link_directive)
64480         (func_get_license, func_get_maintainer, func_import): Avoid
64481         shell syntax errors from parsing syntax extensions.
64483 2010-09-09  Bruno Haible  <bruno@clisp.org>
64485         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64486         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
64487         a reliable way to determine whether the 'alias' command works.
64489 2010-09-08  Jim Meyering  <meyering@redhat.com>
64491         init.sh: penalize a set-x-impaired shell; don't disqualify it
64492         * tests/init.sh: Too many shells corrupt application stderr when
64493         you set -x, so we can't afford to disqualify them, since at least
64494         on Irix-6.5, that would disqualify all bourne shells.
64495         Instead, use a two-pass approach.
64496         On the first pass, try to find a shell that meets the stricter
64497         condition that set -x does not corrupt stderr.
64498         If no shell meets the stricter condition, retest each candidate
64499         shell, but without that extra condition.  Finally, when
64500         VERBOSE=yes is requested and set -x might cause trouble, simply
64501         issue a warning and refrain from enabling debug output.
64503 2010-09-08  Eric Blake  <eblake@redhat.com>
64505         unsetenv: fix OpenBSD bug
64506         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
64507         * doc/posix-functions/unsetenv.texi (unsetenv): Update
64508         documentation.
64509         Reported by Jim Meyering.
64511         strtod: work around IRIX 6.5 bug
64512         * lib/strtod.c (strtod): Reparse number on shorter string if
64513         exponent parse was invalid.
64514         * tests/test-strtod.c (main): Add check for "0x1p 2".
64515         Reported by Tom G. Christensen.
64517         getopt: optimize previous patch
64518         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
64519         empty variable.  Speed up awk script.
64520         Reported by Paolo Bonzini.
64522 2010-09-08  Jim Meyering  <meyering@redhat.com>
64524         test.sh: disqualify shells for which set -x corrupts stderr
64525         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
64526         and OpenBSD 4.7.  They make it so with "set -x", environment settings
64527         appear in stderr output.  For example, this command:
64528             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
64529         prints "P=1" on those two systems:
64531 2010-09-08  Bruno Haible  <bruno@clisp.org>
64533         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64534         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
64535         commands, because some shells ignore redirections when there is an
64536         error in the command lookup.
64537         Reported by Eric Blake.
64539 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
64541         * lib/regex.h: Fix a mention of `regex_compile' (should be
64542         `re_compile_pattern').
64543         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
64544         (re_set_registers): Correct name of parameter in comment.
64546         * doc/regex.texi: Add documentation for missing syntax flags.
64547         Remove commented-out documentation of defunct syntax option
64548         RE_NO_EMPTY_ALTS.
64549         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
64550         Add documentation of re_set_registers.
64551         Document trick to re-use a pattern buffer by setting fastmap manually.
64552         Update documentation of struct re_pattern_buffer per public members.
64553         Uncomment documentation of equivalence class operators and
64554         collating symbol operators, since they are now implemented,
64555         Explain leftmost-longest matching in relation to alternatives.
64556         Tidy documentation of substring matching.
64557         Remove POSIX documentation, which is done better in
64558         glibc, and refer the reader there. Keep BSD API documentation, as
64559         that is not readily available elsewhere.
64561 2010-09-07  Eric Blake  <eblake@redhat.com>
64563         getopt: handle POSIXLY_CORRECT set but not exported
64564         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
64565         export state of POSIXLY_CORRECT, due to bash set -o posix.
64566         Reported by Dustin J. Mitchell.
64568 2010-09-05  Bruno Haible  <bruno@clisp.org>
64570         gnulib-tool: Highlight the changed options.
64571         * gnulib-tool (func_usage): Display the --import, --add-import,
64572         --remove-import explanations in bold font.
64574 2010-09-06  Karl Berry  <karl@gnu.org>
64576         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
64578 2010-09-05  Bruno Haible  <bruno@clisp.org>
64580         uniwidth/width: Update comment.
64581         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
64582         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
64584 2010-09-05  Bruno Haible  <bruno@clisp.org>
64586         isinf, isnan: Relax license.
64587         * modules/isinf (License): Change from GPL to LGPL, with consent from
64588         Ben Pfaff.
64589         * modules/isnan (License): Likewise.
64590         Requested by Ludovic Courtès.
64592 2010-09-04  Bruno Haible  <bruno@clisp.org>
64594         gnulib-tool: Help migration from --import to --add-import or --update.
64595         * gnulib-tool: Emit a verbose error message when --import is used
64596         without any module name.
64598 2010-09-04  Bruno Haible  <bruno@clisp.org>
64600         Update doc about gnulib-tool.
64601         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
64602         'gnulib-tool --update' in more detail.
64603         Reported by Eric Blake.
64605 2010-09-04  Bruno Haible  <bruno@clisp.org>
64607         gnulib-tool: Change --import. New options --add/remove-import.
64608         * gnulib-tool: New options --add-import, --remove-import.
64609         (func_usage): Document them.
64610         (have_associative): Define always.
64611         (func_import): In import mode, don't merge the specified settings with
64612         the cached settings. Implement remove-import mode.
64613         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
64614         Explain when to use them versus --import.
64615         (Simple update): Use --add-import instead of --import.
64616         * NEWS: Mention the change.
64618 2010-09-04  Bruno Haible  <bruno@clisp.org>
64620         * doc/gnulib-tool.texi (Initial import): Update paragraph about
64621         separate gnulib.mk.
64623 2010-09-04  Bruno Haible  <bruno@clisp.org>
64625         gnulib-tool: Don't talk about CVS any more.
64626         * gnulib-tool (func_usage, func_import): Write "version control"
64627         instead of CVS.
64629 2010-09-04  Jim Meyering  <meyering@redhat.com>
64631         maint.mk: avoid obscure sc_copyright_check failure in coreutils
64632         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
64633         false positives (whose names may be ill-chosen) when searching
64634         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
64635         would cause a false-positive.
64637         avoid coreutils "make distcheck" failure
64638         Coreutils tests with an absolute build directory name that contains
64639         a space.  Not quoting this directory name caused a failure.
64640         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
64641         * tests/test-vc-list-files-cvs.sh: Likewise.
64643 2010-09-04  Bruno Haible  <bruno@clisp.org>
64645         gnulib-tool: Avoid error when run in a package without Makefile.am.
64646         * gnulib-tool: When collecting the m4dirs in a package that does not
64647         have a Makefile.am, eliminate those directories that contain no
64648         gnulib-cache.m4. Fix expression that counts these directories.
64650 2010-09-04  Bruno Haible  <bruno@clisp.org>
64652         update-copyright test: Improve output when perl is missing or too old.
64653         * tests/test-update-copyright.sh: Move test of Perl version down after
64654         the test whether Perl exists. Provide an explanation relating Perl's
64655         error message to Automake's SKIP: message.
64657 2010-09-04  Bruno Haible  <bruno@clisp.org>
64659         Don't augment PATH in TESTS_ENVIRONMENT.
64660         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
64661         set abs_aux_dir instead of augmenting PATH.
64662         * modules/vc-list-files-tests (Makefile.am): Likewise.
64663         * tests/test-update-copyright.sh: Augment PATH here.
64664         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
64665         path_prepend_.
64666         * tests/test-vc-list-files-git.sh: Likewise.
64668 2010-09-04  Jim Meyering  <meyering@redhat.com>
64670         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
64671         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
64673 2010-09-04  Bruno Haible  <bruno@clisp.org>
64675         strdup: Fix compilation error in C++ mode.
64676         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
64677         the macro.
64679 2010-09-04  Bruno Haible  <bruno@clisp.org>
64681         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
64682         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
64683         macro into a function.
64684         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
64686 2010-09-04  Bruno Haible  <bruno@clisp.org>
64688         Set PATH_SEPARATOR the same way autoconf does.
64689         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
64690         the value of PATH_SEPARATOR the same way autoconf-generated configure
64691         scripts do.
64692         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
64693         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
64695 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64697         Set PATH_SEPARATOR the same way autoconf does.
64698         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
64699         the same way autoconf-generated configure scripts do.
64700         * posix-modules: Likewise.
64702 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64704         hash: fix safe_hasher const typo
64705         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
64706         const; otherwise, there is a type error later.
64708 2010-09-02  Jim Meyering  <meyering@redhat.com>
64710         test-update-copyright.sh: require perl 5.8.0
64711         * tests/test-update-copyright.sh: Require 5.8.0,
64712         which Tom G. Christensen has confirmed is adequate,
64713         while 5.6.1 is not.
64715 2010-09-02  Eric Blake  <eblake@redhat.com>
64717         tests: init.sh improvements for re-exec'ing with zsh
64718         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
64719         -vx through shell re-exec.
64720         Reported by Tom G. Christensen.
64722         wctype: fix typo in previous commit
64723         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
64724         Reported by Ludovic Courtès.
64726 2010-09-02  Jim Meyering  <meyering@redhat.com>
64728         test-update-copyright.sh: skip test if Perl is too old
64729         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
64730         Reported by Tom G. Christensen.
64732 2010-09-02  Bruno Haible  <bruno@clisp.org>
64734         wctype: Avoid compilation error on IRIX 6.5.30.
64735         * lib/wctype.in.h (iswblank): Declare with a replacement if
64736         REPLACE_ISWBLANK is set.
64737         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
64738         declared. Set REPLACE_ISWBLANK.
64739         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
64740         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
64741         * doc/posix-headers/wctype.texi: Likewise.
64742         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64744 2010-09-01  Bruno Haible  <bruno@clisp.org>
64746         New module 'socketlib'.
64747         * modules/socketlib: New file.
64748         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
64749         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
64750         * modules/sockets (Depends-on): Add socketlib.
64751         Suggested by Sam Steingold <sds@gnu.org>.
64753 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64755         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
64757         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
64758         when one needs search access to a directory but not read access.
64759         On systems where it is available, it works in some cases where
64760         O_RDONLY does not, namely on directories that are searchable but
64761         not readable, and which need only to be searchable.  If O_SEARCH
64762         is not available, fall back to the traditional method of using
64763         O_RDONLY.
64765         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
64766         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
64767         when opening a directory that needs only to be searchable.
64768         * lib/chdir-safer.c (chdir_no_follow): Likewise.
64769         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
64770         * lib/openat-proc.c (openat_proc_name): Likewise.
64771         * lib/openat.c (openat_needs_fchdir): Likewise.
64772         * lib/save-cwd.c (save_cwd): Likewise.
64773         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
64775 2010-08-28  Bruno Haible  <bruno@clisp.org>
64777         New module 'host-cpu-c-abi'.
64778         * modules/host-cpu-c-abi: New file.
64779         * m4/host-cpu-c-abi.m4: New file, based on part of
64780         clisp/src/m4/general.m4.
64781         Requested by Sam Steingold <sds@gnu.org>.
64783 2010-08-31  Eric Blake  <eblake@redhat.com>
64784         and Jim Meyering  <meyering@redhat.com>
64786         hash: factor, and guard against misbehaving hasher function
64787         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
64788         of table->hasher's return value.  Also protect against a hash value
64789         so large that adding it to table->bucket results in a NULL pointer.
64790         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
64791         Use it in place of open-coded check-and-abort.
64793 2010-08-30  Bruno Haible  <bruno@clisp.org>
64795         hash: silence spurious clang warning
64796         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
64797         Reported by Eric Blake.
64799 2010-08-30  Eric Blake  <eblake@redhat.com>
64801         strstr, memmem, strcasestr: avoid leaked shell message
64802         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
64803         FreeBSD.
64804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
64805         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64807         tests: silence clang warning
64808         * tests/test-malloca.c (do_allocation): Avoid dead store.
64810 2010-08-29  Bruno Haible  <bruno@clisp.org>
64812         gettext: Fix recent mistake.
64813         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
64815 2010-08-29  Bruno Haible  <bruno@clisp.org>
64817         selinux-h: Offer a --without-selinux option.
64818         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
64819         --without-selinux was specified, skip all tests and define
64820         HAVE_SELINUX_SELINUX_H to 0.
64821         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
64822         set LIB_SELINUX to empty.
64823         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
64824         gl_LIBSELINUX. If --without-selinux was specified, replace
64825         selinux/context.h.
64826         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
64828 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64829             Bruno Haible  <bruno@clisp.org>
64831         Make the module 'realloc-gnu' work again on AIX and OSF/1.
64832         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
64833         of HAVE_REALLOC.
64834         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
64835         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
64836         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
64837         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
64839 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64840             Bruno Haible  <bruno@clisp.org>
64842         Make the module 'calloc-gnu' work again on AIX and OSF/1.
64843         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
64844         HAVE_CALLOC.
64845         * lib/xmalloc.c: Update accordingly.
64846         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
64847         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
64848         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
64850 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64851             Bruno Haible  <bruno@clisp.org>
64853         Make the module 'malloc-gnu' work again on AIX and OSF/1.
64854         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
64855         HAVE_MALLOC.
64856         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
64857         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
64858         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
64860 2010-08-29  Bruno Haible  <bruno@clisp.org>
64862         Update modules list.
64863         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
64864         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
64865         (String handling <string.h>): Add astrxfrm.
64866         (File system functions): Add readlinkat.
64868 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64870         Tests for module 'realloc-gnu'.
64871         * modules/realloc-gnu-tests: New file.
64872         * tests/test-realloc-gnu.c: New file.
64874         Tests for module 'calloc-gnu'.
64875         * modules/calloc-gnu-tests: New file.
64876         * tests/test-calloc-gnu.c: New file.
64878         Tests for module 'malloc-gnu'.
64879         * modules/malloc-gnu-tests: New file.
64880         * tests/test-malloc-gnu.c: New file.
64882 2010-08-28  Bruno Haible  <bruno@clisp.org>
64884         Rename module 'realloc' -> 'realloc-gnu'.
64885         * modules/realloc-gnu: New file, copied from modules/realloc.
64886         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
64887         obsolete.
64888         * modules/mgetgroups (Depends-on): Update.
64889         * doc/posix-functions/realloc.texi: Update.
64890         * NEWS: Mention the change.
64892         Rename module 'calloc' -> 'calloc-gnu'.
64893         * modules/calloc-gnu: New file, copied from modules/calloc.
64894         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
64895         obsolete.
64896         * doc/posix-functions/calloc.texi: Update.
64897         * NEWS: Mention the change.
64899         Rename module 'malloc' -> 'malloc-gnu'.
64900         * modules/malloc-gnu: New file, copied from modules/malloc.
64901         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
64902         obsolete.
64903         * modules/argp (Depends-on): Update.
64904         * modules/regex (Depends-on): Update.
64905         * doc/posix-functions/malloc.texi: Update.
64906         * NEWS: Mention the change.
64908 2010-08-28  Eric Blake  <eblake@redhat.com>
64910         pread, pwrite: add missing dependency
64911         * modules/pread (Depends-on): Add extensions.
64912         * modules/pwrite (Depends-on): Likewise.
64914 2010-08-28  Bruno Haible  <bruno@clisp.org>
64916         unistr/u*-strchr: Fix tests dependencies.
64917         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
64918         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
64919         Reported by Ian Beckwith <ianb@erislabs.net>.
64921 2010-08-28  Bruno Haible  <bruno@clisp.org>
64923         read-file: Don't occupy too much unused memory.
64924         * lib/read-file.c (fread_file): Shrink the buffer at the end.
64926 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
64927             Eric Blake  <eblake@redhat.com>
64928             Bruno Haible  <bruno@clisp.org>
64930         read-file: Avoid memory reallocations with regular files.
64931         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
64932         (fread_file): With regular files, use the remaining length as the
64933         initial buffer size.  Check against overflow.
64934         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
64935         sys_stat.
64937 2010-08-28  Bruno Haible  <bruno@clisp.org>
64939         ftello: Relax license.
64940         * modules/ftello (License): Relax to LGPLv2+.
64941         Reported by Eric Blake.
64943 2010-08-28  Bruno Haible  <bruno@clisp.org>
64945         Avoid relocwrapper link errors due to gnulib replacement functions.
64946         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
64947         function.
64948         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64950 2010-08-28  Bruno Haible  <bruno@clisp.org>
64952         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
64953         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
64954         defined.
64955         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
64956         Suggested by Eric Blake.
64958 2010-08-28  Bruno Haible  <bruno@clisp.org>
64960         sys_socket, netdb: Ensure socklen_t gets defined.
64961         * modules/sys_socket (Depends-on): Add socklen.
64962         * modules/netdb (Depends-on): Likewise.
64963         * modules/getaddrinfo (Depends-on): Remove socklen.
64964         * modules/getsockopt (Depends-on): Likewise.
64965         * modules/setsockopt (Depends-on): Likewise.
64966         * tests/test-sys_socket.c: Check that socklen_t is defined.
64967         * tests/test-netdb.c: Likewise.
64968         * m4/socklen.m4: Update comments.
64969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64971 2010-08-27  Eric Blake  <eblake@redhat.com>
64973         login_tty: add missing dependency
64974         * modules/login_tty (Depends-on): Add pty.
64976 2010-08-26  Eric Blake  <eblake@redhat.com>
64978         lib-symbol-versions: fix m4 quoting
64979         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
64980         format for AC_LINK_IFELSE.
64982         glob: fix compile test
64983         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
64985         btowc: fix missing file
64986         * modules/btowc (Files): Also ship locale-fr.m4.
64988         lseek: fix link test
64989         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
64990         AC_LINK_IFELSE.
64992         include_next: silence autoconf 2.68 warning
64993         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
64994         AC_COMPILE_IFELSE as special.
64995         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
64996         autoconf < 2.68.
64998         acl: fix compilation test
64999         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
65000         AC_COMPILE_IFELSE.
65002 2010-08-26  Bruno Haible  <bruno@clisp.org>
65004         Modernize AC_TRY_RUN invocations.
65005         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
65006         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
65007         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
65008         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
65009         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
65010         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65011         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
65012         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65013         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65014         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65015         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
65016         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
65017         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
65018         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65019         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
65020         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
65021         gl_MBRLEN_NUL_RETVAL): Likewise.
65022         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65023         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65024         Likewise.
65025         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65026         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
65027         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
65028         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
65029         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
65030         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
65031         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
65032         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
65033         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
65034         Likewise.
65035         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
65036         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
65037         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65038         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65039         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65040         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
65041         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
65042         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
65043         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65046 2010-08-26  Bruno Haible  <bruno@clisp.org>
65048         Modernize AC_TRY_LINK invocations.
65049         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
65050         AC_TRY_LINK.
65051         * m4/argp.m4 (gl_ARGP): Likewise.
65052         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
65053         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
65054         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65055         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65056         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65057         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
65058         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
65059         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
65060         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65061         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
65062         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65063         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
65064         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
65065         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65066         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65067         * m4/hostent.m4 (gl_HOSTENT): Likewise.
65068         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65069         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
65070         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
65071         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
65072         Likewise.
65073         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
65074         Likewise.
65075         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
65076         Likewise.
65077         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
65078         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
65079         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
65080         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
65081         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
65082         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65083         * m4/servent.m4 (gl_SERVENT): Likewise.
65084         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
65085         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
65086         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
65087         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
65088         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65089         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
65090         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
65091         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65092         * modules/tsearch-tests (configure.ac): Likewise.
65094 2010-08-26  Bruno Haible  <bruno@clisp.org>
65096         Modernize AC_TRY_COMPILE invocations.
65097         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
65098         AC_TRY_COMPILE.
65099         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
65100         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
65101         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
65102         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65103         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
65104         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65105         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65106         * m4/lock.m4 (gl_LOCK): Likewise.
65107         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
65108         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65109         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
65110         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
65111         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
65112         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
65113         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
65114         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
65115         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
65116         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
65117         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
65118         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65119         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
65120         extraneous semicolon.
65122 2010-08-26  Jim Meyering  <meyering@redhat.com>
65124         stat-time: relax license LGPL
65125         * modules/stat-time (License): Change from GPL to LGPL,
65126         with consent from all contributors, for use in libguile.
65127         Requested by Ludovic Courtès.
65129 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
65131         poll: return immediately on POLLHUP.
65132         * lib/poll.c (poll): Always set timeout before wait_timeout is
65133         computed.
65135 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65137         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
65138         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
65139         rmdir ("dir/.//"), unlinkat.
65141 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65143         stdbool: avoid spurious failure with modern xlc
65144         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65146 2010-08-24  Bruno Haible  <bruno@clisp.org>
65148         getloadavg: simplify code
65149         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
65150         gl_have_func. Update comments.
65152 2010-08-24  Eric Blake  <eblake@redhat.com>
65154         getloadavg: don't define SVR4 on cygwin
65155         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
65156         only define SVR4 when -lkvm is required.
65157         Reported by Yaakov Selkowitz.
65159 2010-08-24  Bruno Haible  <bruno@clisp.org>
65161         priv-set: fix comment
65162         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
65164 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65166         priv-set: fix comments
65167         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
65168         to match code, as suggested by David Bartley in:
65169         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
65171 2010-08-23  Eric Blake  <eblake@redhat.com>
65173         stdbool: avoid rejecting clang
65174         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65175         * tests/test-stdbool.c: Enable more tests if using the system
65176         <stdbool.h> instead of the gnulib replacement.
65177         (main): Move xlc bug test to a runtime test for all compilers.
65178         Reported by Anders Kaseorg.
65180         argz: fix shell quoting issue
65181         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
65182         Reported by Charles Wilson.
65184 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
65185             Erik Faye-Lund <kusmabite@gmail.com>
65187         poll, select: handle ERROR_BROKEN_PIPE.
65188         * lib/poll.c (win32_compute_revents): Return POLLHUP when
65189         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65190         * lib/select.c (win32_compute_revents): Do not mark a pipe
65191         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65193 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
65195         fts: allow compilation with C++
65196         * lib/fts_.h: Specify extern "C" linkage with C++.
65198 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65200         Fix gnulib-tool sed script de-commentation for AIX sed.
65201         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
65202         sed.
65204 2010-08-17  Eric Blake  <eblake@redhat.com>
65206         test-stddef: test for (some) offsetof bugs
65207         * tests/test-stddef.c: Enhance test to ensure correct type of
65208         offsetof.
65209         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
65210         that we are not fixing at this time.
65212 2010-08-15  Bruno Haible  <bruno@clisp.org>
65214         stpncpy: Allow stpncpy to be defined as a macro.
65215         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
65216         if it's already correctly declared.
65217         * lib/string.in.h (stpncpy): Undefine before redefining.
65218         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
65220 2010-08-14  Bruno Haible  <bruno@clisp.org>
65222         Rename module 'memxfrm' to 'amemxfrm'.
65223         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
65224         (amemxfrm): Renamed from memxfrm.
65225         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
65226         (amemxfrm): Renamed from memxfrm.
65227         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
65228         * NEWS: Mention the change.
65229         * MODULES.html.sh (String handling <string.h>): Update.
65230         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
65231         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
65232         * lib/unicase/u16-casexfrm.c: Likewise.
65233         * lib/unicase/u32-casexfrm.c: Likewise.
65234         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
65235         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
65236         * lib/uninorm/u16-normxfrm.c: Likewise.
65237         * lib/uninorm/u32-normxfrm.c: Likewise.
65238         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
65239         memxfrm.
65240         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
65241         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
65242         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
65243         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
65244         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
65245         Suggested by Paul Eggert.
65247 2010-08-14  Bruno Haible  <bruno@clisp.org>
65249         Tests for module 'astrxfrm'.
65250         * modules/astrxfrm-tests: New file.
65251         * tests/test-astrxfrm.c: New file.
65253         New module 'astrxfrm'.
65254         * lib/astrxfrm.h: New file.
65255         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
65256         * modules/astrxfrm: New file.
65258 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
65260         regex: Tweak doc.
65261         * doc/regex.texi (Overview): Don't mention regex.c.
65262         (GNU Regular Expression Compiling): Likewise.
65263         (Match-end-of-line Operator): Mention 'not_eol'.
65265 2010-08-14  Brian Gough  <bjg@gnu.org>
65266             Bruno Haible  <bruno@clisp.org>
65268         git-merge-changelog: add doc relating to use with bzr and hg.
65269         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
65271 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
65273         pthread: fix pthread.h creation for srcdir != builddir
65274         * modules/pthread (Makefile.am): Fix the rule to work also in a
65275         non-srcdir build.
65277 2010-08-13  Karl Berry  <karl@gnu.org>
65279         * doc/regex.texi (Predefined Syntaxes): @smallexample.
65280         * doc/posix-*/*: force line break before @url of POSIX
65281         specifications.
65282         Suggested by Werner Lemberg.
65284 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65286         strtod: fix const diagnostic
65287         * lib/strtod.c (strtod): Don't assign const char * to char *,
65288         as this elicits a warning from GCC when warnings are enabled.
65290 2010-08-10  Pádraig Brady  <P@draigbrady.com>
65291         and Eric Blake  <eblake@redhat.com>
65293         copy-acl: ignore ENOTSUP on HP-UX
65294         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
65295         so that it is available for HP-UX.
65296         * lib/copy-acl.c (qcopy_acl): Use it.
65297         Reported by Patrick M. Callahan.
65299 2010-08-10  Eric Blake  <eblake@redhat.com>
65301         open, chown: relax license
65302         * modules/open (License): Change to LGPLv2+, with consent by all
65303         authors, for use in augeas.
65304         * modules/chown (License): Likewise.
65305         * modules/lchown (Likewise): Likewise.
65306         Requested by Adam Stokes.
65308 2010-08-09  Karl Berry  <karl@gnu.org>
65310         * build-aux/ar-lib: new file, import from Automake.
65311         * config/srclist.txt: autocheck for updates.
65313 2010-08-09  Eric Blake  <eblake@redhat.com>
65315         readlinkat: adjust client modules
65316         * modules/areadlinkat (Depends-on): Use readlinkat, not
65317         symlinkat.
65318         * modules/areadlinkat-with-size (Depends-on): Likewise.
65320         mknod: be more vocal about danger of running tests as root
65321         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
65322         root, since that is just asking for problems.
65323         Suggested by Bruno Haible, based on a report by Rainer Tammer.
65325         readlinkat: split into its own module
65326         * modules/symlinkat: Split readlinkat...
65327         * modules/readlinkat: ...into separate module.
65328         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
65329         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
65330         * lib/symlinkat.c (readlinkat): Move...
65331         * lib/readlinkat.c: ...into new file.
65332         * modules/symlinkat-tests: Split readlinkat test...
65333         * modules/readlinkat-tests: ...into separate module.
65334         * tests/test-symlinkat.c: Split...
65335         * tests/test-readlinkat.c: ...into new file.
65336         * NEWS: Document the split.
65337         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
65338         * lib/unistd.in.h (readlinkat): Likewise.
65339         Suggested by Bruno Haible.
65341 2010-08-08  Bruno Haible  <bruno@clisp.org>
65343         memxfrm: Speed up.
65344         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
65345         that usually only one call to strxfrm is necessary for each string
65346         part.
65347         Reported by Paul Eggert <eggert@cs.ucla.edu>.
65349 2010-08-07  Karl Berry  <karl@gnu.org>
65351         * doc/posix-headers/limits.texi,
65352         * doc/posix-functions/malloc.texi,
65353         * doc/posix-functions/strsignal.texi: missing @item.
65354         * doc/ld-version-script.texi: spurious leading i.
65355         * doc/regex.texi (Interval Operators): no commas inside @var.
65357 2010-08-01  Bruno Haible  <bruno@clisp.org>
65359         Integrate the regex documentation.
65360         * doc/gnulib.texi: Define 'cn' index.
65361         (Regular expressions): New a chapter that includes regex.texi and
65362         regexprops-generic.texi.
65363         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
65364         syntax.
65366         Whitespace cleanup.
65367         * doc/regex.texi: Remove trailing spaces.
65369         Add regex documentation.
65370         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
65371         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
65372         Written by Kathy A. Hargreaves and Karl Berry.
65374 2010-08-01  Bruno Haible  <bruno@clisp.org>
65376         link: Update documentation.
65377         * doc/posix-functions/link.texi: Update regarding Solaris.
65379 2010-07-31  Bruno Haible  <bruno@clisp.org>
65381         Update modules list.
65382         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
65383         (String handling <string.h>): Add memcmp2, memxfrm.
65384         (Container data structures): Add xlist, xsublist, xoset.
65385         (Core language properties): Add alignof, unused-parameter.
65386         (Process control, Numeric conversion functions <stdlib.h>): Renamed
65387         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
65388         (Unibyte characters <ctype.h>): New section.
65389         (String handling <string.h>): New section.
65390         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
65391         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
65392         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
65393         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
65394         tan, tanh, tanl, y0, y1, yn.
65395         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
65396         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
65397         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
65398         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
65399         unlockpt, vdprintf, vdprintf-posix.
65400         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
65401         (File system functions): Add concat-filename, sys_file, sys_ioctl,
65402         xconcat-filename.
65403         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
65404         getdtablesize, pipe2, pipe2-safer.
65405         (Security): New section.
65406         (Networking functions): Add accept4.
65407         (Signal handling): Add sigpipe.
65408         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
65409         mbmemcasecoll.
65410         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
65411         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
65412         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
65413         pipe-filter-ii.
65414         (Misc): Add argp-version-etc, login_tty, parse-duration.
65416 2010-07-31  Bruno Haible  <bruno@clisp.org>
65418         Improve doc in MODULES.html.
65419         * modules/linkat (Description): Add the word "function".
65420         * modules/mkfifo (Description): Likewise.
65421         * modules/mknod (Description): Likewise.
65422         * modules/remove (Description): Likewise.
65423         * modules/renameat (Description): Likewise.
65424         * modules/stat (Description): Likewise.
65425         * modules/symlink (Description): Likewise.
65426         * modules/unlink (Description): Likewise.
65428 2010-07-31  Bruno Haible  <bruno@clisp.org>
65430         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
65431         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
65432         option --enable/disable-c++ instead of --enable/disable-cxx.
65433         * NEWS: Mention the change.
65435 2010-07-31  Bruno Haible  <bruno@clisp.org>
65437         readlink, areadlink: Relax test a bit.
65438         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
65439         alternative to ENOTDIR.
65440         * tests/test-areadlink.h (test_areadlink): Likewise.
65441         Reported by Rainer Tammer.
65443 2010-07-31  Bruno Haible  <bruno@clisp.org>
65445         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
65446         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
65447         character, perform the search using U_STRCHR.
65448         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
65449         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
65450         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
65451         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
65452         Suggested by Paolo Bonzini.
65454 2010-07-31  Bruno Haible  <bruno@clisp.org>
65456         unistr/u*-strstr: Fix dependencies.
65457         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
65458         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
65459         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
65461 2010-07-31  Bruno Haible  <bruno@clisp.org>
65463         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
65464         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
65465         the beginning of the loop.
65466         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
65467         cases in 'switch' statement.
65469         unistr/u8-strchr: Fix several bugs.
65470         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
65471         the string. When not found, return NULL, not a pointer near the end.
65473         More tests for unistr/u8-strchr.
65474         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
65475         that the function does not read past the first occurrence of the byte
65476         being searched.
65477         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
65478         * tests/unistr/test-u16-strchr.c (main): New function.
65479         * tests/unistr/test-u32-strchr.c (main): New function.
65481 2010-07-31  Bruno Haible  <bruno@clisp.org>
65483         posix-modules: Ignore backup files of documentation files.
65484         * posix-modules: grep only through files named *.texi.
65486 2010-07-31  Bruno Haible  <bruno@clisp.org>
65488         symlinkat: Fix documentation.
65489         * doc/posix-functions/readlinkat.texi: Fix module name.
65491 2010-07-31  Bruno Haible  <bruno@clisp.org>
65493         fchownat: Replace also when chown has the trailing slash bug.
65494         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
65495         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
65496         introduced on 2010-04-10.
65497         Reported by Rainer Tammer.
65499 2010-07-31  Bruno Haible  <bruno@clisp.org>
65501         linkat: Work around AIX 7.1 bug.
65502         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
65503         whether linkat handles trailing slash correctly. If not, replace linkat
65504         and define LINKAT_TRAILING_SLASH_BUG.
65505         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
65506         check whether (fd1,file1) points to a directory if file1 or file2 ends
65507         in a slash. Code taken from lib/link.c.
65508         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
65509         Reported by Rainer Tammer.
65511 2010-07-31  Bruno Haible  <bruno@clisp.org>
65513         Correctly determine whether pow is available in libc on AIX 7 with xlc.
65514         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
65515         This disables an xlc optimization that was causing wrong test results.
65516         Reported by Rainer Tammer.
65518 2010-07-31  Bruno Haible  <bruno@clisp.org>
65520         iconv: Work around AIX 6.1..7.1 bug.
65521         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
65522         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
65523         cross-compiling, guess no on all versions of AIX.
65524         Reported by Rainer Tammer.
65526 2010-07-31  Bruno Haible  <bruno@clisp.org>
65528         readlink: Relax test a bit.
65529         * tests/test-readlink.h (test_readlink): Allow different errno value
65530         when readlink is called with a file name that ends in / and refers to
65531         a file.
65532         Suggested by Eric Blake.
65533         Reported by Rainer Tammer.
65535 2010-07-31  Bruno Haible  <bruno@clisp.org>
65537         copysign: Does not require -lm on glibc systems.
65538         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
65539         gl_COMMON_DOUBLE_MATHFUNC.
65540         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
65542 2010-07-31  Bruno Haible  <bruno@clisp.org>
65544         duplocale: Work around AIX 7.1 bug.
65545         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
65546         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
65547         * lib/duplocale.c (rpl_duplocale): Update comment.
65548         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
65549         Reported by Rainer Tammer.
65551 2010-07-30  Bruno Haible  <bruno@clisp.org>
65553         dirfd: Avoid link error on AIX 7.1.
65554         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
65555         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
65556         exist, set REPLACE_DIRFD.
65557         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
65558         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
65559         * doc/posix-functions/dirfd.texi: Update.
65560         Reported by Rainer Tammer.
65562 2010-07-30  Eric Blake  <eblake@redhat.com>
65564         strtod: next round of AIX fixes
65565         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
65566         exponent.
65567         * tests/test-strtod.c (main): Enhance tests.
65568         * doc/posix-functions/strtod.texi (strtod): Document next bug.
65569         Reported by Rainer Tammer.
65571         futimens: fix configure check
65572         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
65573         Reported by Bruno Haible.
65575 2010-07-30  Bruno Haible  <bruno@clisp.org>
65577         getline: Update regarding AIX.
65578         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
65579         Reported by Rainer Tammer.
65581 2010-07-30  Bruno Haible  <bruno@clisp.org>
65583         wcwidth: Drop replacement on AIX 7.
65584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
65585         AIX 7.
65586         Reported by Rainer Tammer.
65588 2010-07-30  Bruno Haible  <bruno@clisp.org>
65590         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
65591         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
65592         a 'char *'.
65593         Reported by Rainer Tammer.
65595 2010-07-30  Bruno Haible  <bruno@clisp.org>
65597         unlink: Update regarding AIX.
65598         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
65599         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
65600         Reported by Rainer Tammer.
65602 2010-07-30  Bruno Haible  <bruno@clisp.org>
65604         symlink: Update regarding AIX.
65605         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
65606         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
65607         Reported by Rainer Tammer.
65609 2010-07-30  Bruno Haible  <bruno@clisp.org>
65611         strndup: Update regarding AIX.
65612         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
65613         AIX 7.
65614         Reported by Rainer Tammer.
65616 2010-07-30  Bruno Haible  <bruno@clisp.org>
65618         stat: Update regarding AIX.
65619         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
65620         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
65621         Reported by Rainer Tammer.
65623 2010-07-30  Bruno Haible  <bruno@clisp.org>
65625         truncl: Fix autoconf test.
65626         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
65627         whether truncl works.
65628         Reported by Rainer Tammer.
65630 2010-07-30  Bruno Haible  <bruno@clisp.org>
65632         round: Update regarding AIX.
65633         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
65634         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
65635         Reported by Rainer Tammer.
65637 2010-07-30  Bruno Haible  <bruno@clisp.org>
65639         rename: Update regarding AIX.
65640         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
65641         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
65642         Reported by Rainer Tammer.
65644 2010-07-30  Bruno Haible  <bruno@clisp.org>
65646         printf.m4: Update regarding AIX.
65647         * m4/printf.m4: Update comments regarding AIX.
65648         Reported by Rainer Tammer.
65650 2010-07-30  Bruno Haible  <bruno@clisp.org>
65652         iconv: Update regarding AIX.
65653         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
65654         AIX 7.
65655         Reported by Rainer Tammer.
65657 2010-07-30  Bruno Haible  <bruno@clisp.org>
65659         getopt: Update regarding AIX.
65660         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
65661         no on AIX.
65662         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
65663         Reported by Rainer Tammer.
65665 2010-07-30  Bruno Haible  <bruno@clisp.org>
65667         ldexpl; Update regarding AIX.
65668         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
65669         on AIX 7.
65670         Reported by Rainer Tammer.
65672 2010-07-30  Bruno Haible  <bruno@clisp.org>
65674         frexpl: Update regarding AIX.
65675         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
65676         on AIX 7.
65677         Reported by Rainer Tammer.
65679 2010-07-30  Bruno Haible  <bruno@clisp.org>
65681         open, fopen: Update regarding AIX.
65682         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
65683         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65684         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
65685         * doc/posix-functions/fopen.texi: Likewise.
65686         Reported by Rainer Tammer.
65688 2010-07-30  Bruno Haible  <bruno@clisp.org>
65690         chown: Update doc regarding AIX.
65691         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
65692         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
65693         Reported by Rainer Tammer.
65695 2010-07-30  Eric Blake  <eblake@redhat.com>
65697         strtod: fix bug in replacement function on AIX
65698         * lib/strtod.c (strtod): Special case broken "0x" parse in
65699         underlying strtod.
65700         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
65701         * doc/posix-functions/strtod.texi (strtod): Likewise.
65702         Reported by Rainer Tammer.
65704 2010-07-30  Bruno Haible  <bruno@clisp.org>
65706         mbrlen: Fix cross-compilation guess for AIX.
65707         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
65708         guess. Leftover from 2008-12-22.
65710 2010-07-30  Bruno Haible  <bruno@clisp.org>
65712         mbrtowc: Fix cross-compilation guess for AIX.
65713         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
65714         guess. Leftover from 2008-12-21.
65716 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
65718         init.sh: work around trap limitation of some shells
65719         * tests/init.sh (setup_): Move exit trap outside of shell function.
65721 2010-07-29  Eric Blake  <eblake@redhat.com>
65723         strtod: aid debugging
65724         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
65725         understanding why strtod is rejected.
65727 2010-07-28  Bruno Haible  <bruno@clisp.org>
65729         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
65730         * lib/unistr/u8-chr.c: Include <string.h>.
65731         * tests/unistr/test-u8-chr.c: Likewise.
65732         * tests/unistr/test-u16-chr.c: Likewise.
65733         * tests/unistr/test-u32-chr.c: Likewise.
65734         * tests/unistr/test-u8-strchr.c: Likewise.
65735         * tests/unistr/test-u16-strchr.c: Likewise.
65736         * tests/unistr/test-u32-strchr.c: Likewise.
65737         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
65738         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
65739         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
65740         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
65742 2010-07-28  Bruno Haible  <bruno@clisp.org>
65744         Use spaces for indentation, not tabs.
65745         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
65747 2010-07-27  Bruno Haible  <bruno@clisp.org>
65749         mbspcasecmp: Fix function specification.
65750         * lib/string.in.h (mbspcasecmp): Fix specification comment.
65751         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
65752         Reported by Eric Blake <eblake@redhat.com>.
65754 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
65756         timespec: use cast and not conditional, as truncation isn't possible
65757         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
65758         instead of a conditional.  Comment about the situation in more detail.
65759         This undoes most of the 2009-10-29 patch.
65761 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
65763         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
65764         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
65765         * lib/unistr/u8-strchr.c: Likewise.
65766         * modules/unistr/u8-chr: Depend on memchr.
65768         unistr/u*-strchr: add tests
65769         * modules/unistr/u8-strchr-tests: New file.
65770         * modules/unistr/u16-strchr-tests: New file.
65771         * modules/unistr/u32-strchr-tests: New file.
65772         * tests/unistr/test-strchr.h: New file.
65773         * tests/unistr/test-u8-strchr.c: New file.
65774         * tests/unistr/test-u16-strchr.c: New file.
65775         * tests/unistr/test-u32-strchr.c: New file.
65777         unistr/u*-chr: test multibyte sequences more
65778         * tests/unistr/test-chr.h: Do complete testing of the characters in the
65779         test vector.
65780         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
65781         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
65782         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
65784         unistr/u*-chr: test multibyte sequences
65785         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
65787         unistr/u*-chr: prepare for multibyte tests
65788         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
65789         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
65790         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
65791         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
65792         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
65793         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
65795 2010-07-18  Bruno Haible  <bruno@clisp.org>
65797         unistr/u8-strchr: Optimize non-ASCII argument case.
65798         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
65799         because the first byte often matches anyway.
65800         Reported by Pádraig Brady <P@draigbrady.com>.
65802 2010-07-15  Karl Berry  <karl@gnu.org>
65804         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
65806 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
65808         getcwd: on Solaris, work better if ancestors are inaccessible
65809         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
65810         buffer and size, try again with a large buffer.  This works better
65811         on Solaris, since its getcwd succeeds even if the path to the root
65812         is inaccessible, and this is helpful in common cases such as .zfs
65813         hidden directories.  Problem reported by J Chapman Flack in
65814         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
65815         Use system getcwd if it's declared, not merely if it's partly
65816         working; use the partly-working test only to avoid needless effort
65817         if the system getcwd fails.
65818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
65819         comment that was already obsolete and is now even more obsolete.
65820         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
65821         now might call strdup.
65823 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
65825         pthread: Add enough so that coreutils/src/sort.c compiles.
65826         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
65827         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
65828         gnulib. Include <sched.h> and <time.h>, as per POSIX.
65829         Include <sys/types.h>, in case it defines pthread_t.
65830         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
65831         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
65832         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
65833         (pthread_rwlockattr_t, pthread_spinlock_t):
65834         New typedefs, if HAVE_PTHREAD_T is not defined.
65835         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
65836         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
65837         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
65838         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
65839         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
65840         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
65841         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
65842         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
65843         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
65844         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
65845         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
65846         New macros.
65847         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
65848         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
65849         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
65850         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
65851         (pthread_spin_unlock): New dummy functions.
65852         (pthread_create): Return EAGAIN; don't set errno.
65853         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
65854         require AC_C_INLINE.
65855         * modules/pthread (Depends-on): Add sched, time.
65856         (pthread.h): Use AM_V_GEN.
65858 2010-07-13  Bruno Haible  <bruno@clisp.org>
65860         striconveh: Don't malloc memory if the result buffer is sufficient.
65861         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
65862         buffer if its size is sufficient.
65863         Reported by Ludovic Courtès <ludo@gnu.org>.
65865 2010-07-13  Bruno Haible  <bruno@clisp.org>
65867         strtod: Add safety check.
65868         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
65870 2010-07-12  Bruno Haible  <bruno@clisp.org>
65872         Unify tests that set gl_cv_func_ldexpl_no_libm.
65873         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
65874         gl_FUNC_LDEXPL.
65875         (gl_FUNC_LDEXPL): Invoke it.
65876         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65878 2010-07-12  Bruno Haible  <bruno@clisp.org>
65880         Unify tests that set gl_cv_func_ldexp_no_libm.
65881         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
65882         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
65883         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
65884         (configure.ac): Simply invoke gl_FUNC_LDEXP.
65885         * modules/strtod (Files): Add m4/ldexp.m4.
65887 2010-07-12  Bruno Haible  <bruno@clisp.org>
65889         Unify tests that set gl_cv_func_frexpl_no_libm.
65890         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
65891         gl_FUNC_FREXPL_NO_LIBM.
65892         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
65893         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65895 2010-07-12  Bruno Haible  <bruno@clisp.org>
65897         Unify tests that set gl_cv_func_frexp_no_libm.
65898         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
65899         gl_FUNC_FREXP_NO_LIBM.
65900         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
65901         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65903 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
65905         memcoll: clarify sizes versus lengths, document better, and tweak perf
65906         * lib/memcoll.c (strcoll_loop, memcoll0):
65907         Improve quality of descriptive comments.  Name variables
65908         consistently as to whether they are lengths (which do not include
65909         terminating null) versus sizes (which do).
65910         * lib/xmemcoll.c (xmemcoll0): Likewise.
65911         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
65912         returned when s1size == 0; this is easier to compile and saves
65913         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
65915 2010-07-12  Bruno Haible  <bruno@clisp.org>
65917         Tests for module '_Exit'.
65918         * modules/_Exit-tests: New file.
65919         * tests/test-_Exit.sh: New file.
65920         * tests/test-_Exit.c: New file.
65922         New module '_Exit'.
65923         * lib/stdlib.in.h (__attribute__): New macro.
65924         (_Exit): New declaration.
65925         * lib/_Exit.c: New file.
65926         * m4/_Exit.m4: New file.
65927         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
65928         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
65929         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
65930         * modules/_Exit: New file.
65931         * tests/test-stdlib-c++.cc (_Exit): Check signature.
65932         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
65934 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
65936         strtod: make it more-accurate typically, and don't require libm
65937         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
65938         Include limits.h.  Don't include string.h.
65939         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
65940         (locale_isspace): New function, so that no casts are needed to
65941         check whether *s is a space.
65942         (ldexp): Provide an unused dummy if not available.
65943         (scale_radix_exp, parse_number, underlying_strtod): New functions.
65944         (strtod): Use them.  This implementation prefers to use the
65945         underlying strtod if available, falling back on our own code
65946         only to fix known bugs.  This is more likely to produce an
65947         accurate result.  Also, it avoids the use of libm functions.
65948         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
65949         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
65950         was absent, but it caused a test failure with coreutils.
65951         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
65952         with libm.
65953         * modules/strtod (Makefile.am, Link): libm is no longer needed.
65954         * modules/strtod-tests (Makefile.am): Likewise.
65956 2010-07-11  Pádraig Brady  <P@draigBrady.com>
65957             Bruno Haible  <bruno@clisp.org>
65959         unistr/u8-strchr: Optimize ASCII argument case.
65960         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
65962 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65964         (x)memcoll: minor tweaks
65965         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
65966         is after the type that it qualifies.
65967         (memcoll0): Likewise.
65968         * lib/memcoll.h (memcoll0): Likewise.
65969         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
65970         * lib/xmemcoll.h (xmemcoll0): Likewise.
65971         * lib/memcoll.c (memcoll0): Correct the comment.  This function
65972         differs from memcoll in that the NUL byte is part of the argument.
65973         Omit the abort-checks, as performance is a real issue here.  Plus,
65974         the checks were wrong anyway (an off-by-one error).  Omit local
65975         variable 'diff', as it's a bit clearer that way.
65976         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
65977         no longer needed.
65979 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
65981         (x)memcoll: speedup when input is known to be NUL delimited
65982         * lib/memcoll.c: Include stdlib.
65983         (memcoll0): New function.
65984         (strcoll_loop): New function, refactored for use in both memcoll
65985         and memcoll0.
65986         * lib/memcoll.h (memcoll0): Add prototype.
65987         * lib/xmemcoll.c (xmemcoll0): New function.
65988         (collate_error): New function, refactored for use in both xmemcoll
65989         and xmemcoll0.
65990         * lib/xmemcoll.h (xmemcoll0): Add prototype.
65991         * m4/memcoll.m4: add inline invocation.
65993 2010-07-06  Pádraig Brady  <P@draigBrady.com>
65995         * build-aux/bootstrap: Remove any local translations
65996         from the translation project synchronization directory,
65997         so that local only translations are not distributed.
65999 2010-07-04  Bruno Haible  <bruno@clisp.org>
66001         fsusage: Clarify which code applies to which platforms.
66002         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
66003         platform.
66004         * lib/fsusage.c (get_fs_usage): Likewise.
66006 2010-07-04  Bruno Haible  <bruno@clisp.org>
66008         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
66009         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
66010         Reported by Martin Lambers <marlam@marlam.de>.
66012 2010-07-04  Jim Meyering  <meyering@redhat.com>
66014         hash: once again explicitly disallow insertion of NULL
66015         * lib/hash.c (hash_insert0): Reinstate just-removed test:
66016         inserting a NULL pointer cannot work with these functions.
66017         Add a comment with details.
66018         This reverts part of the 2010-07-01 commit, 5bef1a35
66019         "hash: extend module to deal with non-pointer keys".
66021 2010-07-01  Bruno Haible  <bruno@clisp.org>
66023         stdbool: Update doc.
66024         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
66025         Info from Christian Weisgerber <naddy@mips.inka.de>.
66027 2010-07-01  Jim Meyering  <meyering@redhat.com>
66029         hash: extend module to deal with non-pointer keys
66030         * lib/hash.c (hash_insert0): New interface, much like hash_insert
66031         but that allows insertion of non-pointer entries.
66032         Do not disallow an ENTRY value of NULL.
66033         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
66034         * lib/hash.h (hash_insert0): Declare.
66036 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
66038         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
66039         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
66040         not present (i.e. with autoconf 2.59 and when using gettextize, not
66041         gnulib), require AC_GNU_SOURCE instead.
66043 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
66045         idpriv-drop: Fix tests.
66046         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
66047         not to the test-idpriv-droptemp program.
66049 2010-06-29  Bruno Haible  <bruno@clisp.org>
66051         string: Fix syntax error with g++ 2.96.
66052         * lib/string.in.h (__pure__): Remove definition.
66053         (_GL_ATTRIBUTE_PURE): New macro.
66054         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
66055         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
66056         Reported by Christian Weisgerber <naddy@mips.inka.de>.
66058 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
66060         unitypes: Fix bug introduced on 2010-05-18.
66061         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
66063 2010-06-22  Eric Blake  <eblake@redhat.com>
66065         memmem: slight optimization
66066         * lib/str-two-way.h (critical_factorization): Update comments.
66067         Reduce work during factorization phase.
66068         Reported by Carlos Bueno <carlos@bueno.org>.
66070 2010-06-21  Bruno Haible  <bruno@clisp.org>
66072         Fix HAVE_CALLOC_POSIX misnomer.
66073         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
66074         !HAVE_CALLOC_POSIX.
66075         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
66076         HAVE_CALLOC_POSIX.
66077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
66078         instead of HAVE_CALLOC_POSIX.
66079         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
66080         HAVE_CALLOC_POSIX.
66082         Use modern idiom for calloc() replacement.
66083         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
66084         AC_FUNC_CALLOC.
66085         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
66086         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
66087         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66088         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
66089         (gl_REPLACE_CALLOC): New macro.
66091 2010-06-21  Bruno Haible  <bruno@clisp.org>
66093         Fix HAVE_REALLOC_POSIX misnomer.
66094         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
66095         !HAVE_REALLOC_POSIX.
66096         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
66097         HAVE_REALLOC_POSIX.
66098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
66099         instead of HAVE_REALLOC_POSIX.
66100         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
66101         HAVE_REALLOC_POSIX.
66103         Use modern idiom for realloc() replacement.
66104         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
66105         AC_FUNC_REALLOC.
66106         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
66107         Autoconf's AC_FUNC_REALLOC.
66108         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66109         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
66110         (gl_REPLACE_REALLOC): New macro.
66111         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66113 2010-06-21  Bruno Haible  <bruno@clisp.org>
66115         Fix HAVE_MALLOC_POSIX misnomer.
66116         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
66117         !HAVE_MALLOC_POSIX.
66118         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
66119         HAVE_MALLOC_POSIX.
66120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
66121         instead of HAVE_MALLOC_POSIX.
66122         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
66123         HAVE_MALLOC_POSIX.
66125         Use modern idiom for malloc() replacement.
66126         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
66127         AC_FUNC_MALLOC.
66128         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
66129         Autoconf's AC_FUNC_MALLOC.
66130         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66131         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
66132         (gl_REPLACE_MALLOC): New macro.
66133         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66135 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
66137         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
66138         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
66139         This macro takes 3 arguments, not 4.
66141 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
66143         ipv6: fix detection under mingw
66144         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
66145         in6_addr.
66147 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
66149         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
66150         that strtod() works when cross-compiling to a glibc version known
66151         to work.
66153 2010-06-15  Bruno Haible  <bruno@clisp.org>
66155         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
66157 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
66159         select: Correct timeout.
66160         * lib/select.c (rpl_select): Compute wait_timeout correctly.
66162 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66164         git-version-gen: init shell var to avoid env var influence
66165         * build-aux/git-version-gen (v): Init shell var to empty.
66167 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
66169         priv-set: Don't assume that priv.h exists merely because getppriv does.
66170         See Jan Andersen's bug report about AIX 5L in
66171         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
66172         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
66173         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
66174         * lib/priv-set.h: Likewise.
66175         * tests/test-priv-set.c: Likewise.
66177 2010-06-13  Bruno Haible  <bruno@clisp.org>
66179         relocatable: Make it easier to test whether to install wrappers.
66180         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
66181         RELOCATABLE_VIA_WRAPPER.
66183 2010-06-13  Bruno Haible  <bruno@clisp.org>
66185         gnulib-tool: Display specified modules and dependencies differently.
66186         * gnulib-tool (func_show_module_list): New function.
66187         (func_import, func_create_testdir): Invoke it.
66188         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
66190 2010-06-13  Bruno Haible  <bruno@clisp.org>
66192         gnulib-tool: Align code of func_import and func_create_testdir.
66193         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
66194         specified_modules.
66196 2010-06-12  Jim Meyering  <meyering@redhat.com>
66198         test-inttostr: avoid spurious failure on Solaris 9
66199         * tests/test-inttostr.c (main): Skip the test when snprintf fails
66200         to accept "%ju".  Reported by Bruno Haible.
66202 2010-06-11  Jim Meyering  <meyering@redhat.com>
66204         test-sys_socket: mark variables as used more readably
66205         * tests/test-sys_socket.c (main): Mark otherwise unused variables
66206         as "used" explicitly via (void) statement casts.  This is more
66207         readable than using them in an artificial return expression.
66208         Suggestion from Bruno Haible.
66210 2010-06-11  Bruno Haible  <bruno@clisp.org>
66212         Avoid some more warnings from "gcc -Wwrite-strings".
66213         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
66214         to 'const char *'.
66215         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
66216         * tests/test-c-strcasestr.c (main): Likewise.
66217         * tests/test-mbscasestr1.c (main): Likewise.
66218         * tests/test-mbscasestr2.c (main): Likewise.
66219         * tests/test-memmem.c (main): Likewise.
66220         * tests/test-strstr.c (main): Likewise.
66221         * tests/test-strcasestr.c (main): Likewise.
66223 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66225         init.sh: change framework_failure_ to fail with status 99, not 1
66226         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
66227         automake's parallel-tests rule that this is an unexpected failure,
66228         even if the test is listed in XFAIL_TESTS.
66230 2010-06-11  Jim Meyering  <meyering@redhat.com>
66232         test-inttostr: avoid warnings about 4-6KB literal strings
66233         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
66234         Include "macros.h", for its definition of ASSERT.
66235         (CK): s/assert/ASSERT/
66236         * modules/inttostr-tests (Files): Add macros.h.
66238         init.sh: don't use $ME_ or skip_ before they are defined
66239         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
66240         their first uses.  Also hoist their companions: warn_, fail_,
66241         framework_failure_, $stderr_fileno.  Prompted by a patch from
66242         Stefano Lattarini.
66244         test-sys_socket: avoid set-but-not-used warnings from gcc
66245         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
66246         avoid warning about set-but-not-used variables.
66248         test-xvasprintf: avoid 'const' discard warnings
66249         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
66250         "const" when assigning from literal strings.
66251         (test_xasprintf): Add "void" in function argument list to placate
66252         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
66254         tests: avoid compilation warnings in argmatch and exclude tests...
66255         in packages that define ARGMATCH_DIE_DECL, like coreutils.
66256         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
66257         Since it always exits, declare with the "noreturn" attribute.
66258         * tests/test-argmatch.c: Likewise.
66260         tests: avoid 'const' discard warnings in mbsstr tests
66261         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
66262         * tests/test-mbsstr2.c (main): Likewise.
66264         test-verify: avoid warning from gcc's -Wmissing-declarations
66265         * tests/test-verify.c (function): Declare to be static.
66267         test-inttostr.c: include <string.h> for use of strcmp
66268         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
66270         test-linkat: avoid failed assertion on "other" architectures
66271         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
66272         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
66273         sparc: https://bugs.launchpad.net/bugs/591968
66275 2010-06-11  Jim Meyering  <meyering@redhat.com>
66277         printf.m4: avoid autoconf's "Expanded Before Required" warning
66278         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
66279         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
66280         autoconf warning.
66282 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
66284         Replacement header templates are now named with ".in", not "_".
66285         * doc/gnulib-intro.texi: Correct.
66287 2010-06-10  Jim Meyering  <meyering@redhat.com>
66289         inttostr-tests: depend on snprintf, not snprintf-posix
66290         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
66291         snprintf-posix, to avoid this aclocal failure:
66292           missing file gnulib-tests/vasnprintf.c
66293           configure.ac:45: error: expected source file, required through \
66294           AC_LIBSOURCES, not found
66296 2010-06-10  Jim Meyering  <meyering@redhat.com>
66298         inttostr: add a new function, inttostr, and tests
66299         The namesake function was not available.  The existence of the
66300         template file, inttostr.c makes its addition nontrivial.
66301         * lib/anytostr.c: Rename from inttostr.c.
66302         (anytostr): Rename from inttostr.
66303         * lib/inttostr.c: New file.
66304         * modules/inttostr (Files): Add anytostr.c.
66305         (Makefile.am): Set lib_SOURCES instead of ...
66306         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
66307         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
66308         * lib/offtostr.c: Likewise.
66309         * lib/uinttostr.c: Likewise.
66310         * lib/umaxtostr.c: Likewise.
66311         * modules/inttostr-tests: New file.
66312         * tests/test-inttostr.c: New file.  Test these functions.
66314 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
66315             Bruno Haible  <bruno@clisp.org>
66317         Add "Extending Gnulib" chapter to manual.
66318         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
66319         chapter.
66320         (Extending Gnulib): New chapter.
66321         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
66322         chapter.
66324 2010-06-09  Bruno Haible  <bruno@clisp.org>
66326         Avoid relocwrapper link errors due to gnulib replacement functions.
66327         * lib/areadlink.c: Use the system's malloc, realloc functions.
66328         (areadlink): Set errno to ENOMEM explicitly.
66329         * modules/areadlink (Depends-on): Remove malloc-posix.
66330         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66332 2010-06-09  Bruno Haible  <bruno@clisp.org>
66334         Avoid relocwrapper link errors due to gnulib replacement functions.
66335         * lib/canonicalize-lgpl.c: Use the system's malloc function.
66336         * lib/malloca.c: Likewise.
66337         * lib/relocatable.c: Likewise.
66338         * lib/progreloc.c: Use the system's malloc, sprintf functions.
66339         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
66340         * lib/setenv.c: Use the system's malloc, realloc functions.
66341         * lib/strerror.c: Use the system's sprintf function.
66342         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66344 2010-06-04  Bruno Haible  <bruno@clisp.org>
66346         Prefer documented low-level autoconf macro names.
66347         * m4/lib-link.m4: Use m4_translit instead of translit.
66348         * m4/environ.m4: Likewise.
66349         * m4/mathfunc.m4: Likewise.
66350         * m4/onceonly.m4: Likewise.
66351         * m4/stdint.m4: Likewise.
66352         Suggested by Eric Blake.
66354 2010-06-04  Martin Lambers  <marlam@marlam.de>
66355             Bruno Haible  <bruno@clisp.org>
66357         havelib: Allow library names with '+' characters.
66358         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66359         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
66361 2010-06-09  Bruno Haible  <bruno@clisp.org>
66363         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
66364         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
66365         realloc failed.
66367 2010-06-08  Peter Simons  <simons@cryp.to>
66369         maint.mk: make the news-check rule more configurable
66370         * top/maint.mk (news-check-lines-spec): New variable.
66371         (news-check): Use "sed -n 1,10p" in place of "head".
66373 2010-06-07  Jim Meyering  <meyering@redhat.com>
66375         do-release-commit-and-tag: fix typo in --help
66376         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
66378         regex: avoid new dead-code warning with gcc-4.6.0
66379         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
66380         if-block containing a while-loop.  It's been unused for at least
66381         5 years.
66383 2010-06-05  Bruno Haible  <bruno@clisp.org>
66385         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
66386         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
66388 2010-06-04  Bruno Haible  <bruno@clisp.org>
66390         Update to GNU gettext 0.18.1.
66391         * modules/gettext (configure.ac): Require gettext infrastructure from
66392         version 0.18.1.
66394 2010-06-03  Bruno Haible  <bruno@clisp.org>
66396         Don't use AC_LIBOBJ with file names in subdirectories.
66397         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
66398         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
66399         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
66400         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
66401         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
66402         gl_LIBUNISTRING_LIBSOURCE.
66403         (Makefile.am): Augment lib_SOURCES here, conditionally.
66404         * NEWS: Drop requirement for Automake option 'subdir-objects'.
66406 2010-06-03  Bruno Haible  <bruno@clisp.org>
66408         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
66409         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
66410         expansion does not end with a newline.
66411         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
66412         unnecessary newline.
66414 2010-06-03  Bruno Haible  <bruno@clisp.org>
66416         Reduce dependencies.
66417         * tests/test-quotearg.h: New file, extracted from
66418         tests/test-quotearg.c.
66419         * tests/test-quotearg-simple.c: New file, extracted from
66420         tests/test-quotearg.c.
66421         * tests/test-quotearg.c: Don't include <ctype.h>.
66422         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
66423         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
66424         use_quote_double_quotes, use_quotearg_colon): Moved to
66425         tests/test-quotearg.h.
66426         (results_g, flag_results, custom_quotes, custom_results): Moved
66427         to tests/test-quotearg-simple.c.
66428         (main): Moved the part that does not depend on gettext to
66429         tests/test-quotearg-simple.c. Return 77 if the test cannot be
66430         performed.
66431         * modules/quotearg-simple: New file.
66432         * modules/quotearg-simple-tests: New file.
66433         * modules/quotearg (Depends-on): Add quotearg-simple.
66434         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
66435         (Files): Add tests/test-quotearg.h.
66436         Reported by Paolo Bonzini.
66438 2010-06-03  Bruno Haible  <bruno@clisp.org>
66440         Reduce dependencies.
66441         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
66443 2010-06-03  Bruno Haible  <bruno@clisp.org>
66445         time: Undefine more broken macros.
66446         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
66447         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
66448         Reported by Eric Blake.
66450 2010-06-03  Bruno Haible  <bruno@clisp.org>
66452         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
66453         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
66454         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
66455         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
66456         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
66457         Reported by Ludovic Courtès <ludo@gnu.org>.
66459 2010-06-02  Eric Blake  <eblake@redhat.com>
66461         time: work with mingw + pthreads-win32 library
66462         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
66463         if timespec is defined only in pthread.h.
66464         * modules/time (Makefile.am): Substitute it.
66465         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
66466         <pthread.h>, when needed.
66467         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
66468         from the library.
66470 2010-05-31  Bruno Haible  <bruno@clisp.org>
66472         Avoid expanding two macros in the wrong order.
66473         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
66474         gl_LIBUNISTRING if it is defined.
66475         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
66476         autoconf >= 2.64.
66477         Reported by Ludovic Courtès <ludo@gnu.org>.
66479 2010-05-27  Jim Meyering  <meyering@redhat.com>
66481         maint.mk: also prohibit "#undef" of always-defined symbols
66482         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
66483         Allow more than one space before the symbol name.
66484         (sc_prohibit_always-defined_macros): Use grep's -E, now that
66485         the regexp uses alternation.
66487 2010-05-26  Eric Blake  <eblake@redhat.com>
66489         maint.mk: avoid echo -e
66490         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
66491         Convert all uses of echo -* to printf.
66492         Reported by Matthias Bolte.
66494 2010-05-25  Bruno Haible  <bruno@clisp.org>
66496         Update to GNU gettext 0.18, part 2.
66497         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
66498         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
66500 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66502         Add missing include in test-pwrite.c.
66503         * tests/test-pwrite.c: Include string.h, for strcmp.
66505 2010-05-24  Bruno Haible  <bruno@clisp.org>
66507         * NEWS: Mention requirement for Automake option 'subdir-objects'.
66509 2010-05-24  Bruno Haible  <bruno@clisp.org>
66511         Don't use conversion with transliteration in u{8,16,32}_strcoll.
66512         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
66513         iconveh_error argument.
66514         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
66515         U_STRCONV_TO_LOCALE.
66516         * lib/unistr/u16-strcoll.c: Likewise.
66517         * lib/unistr/u32-strcoll.c: Likewise.
66518         * modules/unistr/u8-strcoll (Depends-on): Add
66519         uniconv/u8-strconv-to-enc, localcharset. Remove
66520         uniconv/u8-strconv-to-locale.
66521         (configure.ac): Bump version number.
66522         * modules/unistr/u16-strcoll (Depends-on): Add
66523         uniconv/u16-strconv-to-enc, localcharset. Remove
66524         uniconv/u16-strconv-to-locale.
66525         (configure.ac): Bump version number.
66526         * modules/unistr/u32-strcoll (Depends-on): Add
66527         uniconv/u32-strconv-to-enc, localcharset. Remove
66528         uniconv/u32-strconv-to-locale.
66529         (configure.ac): Bump version number.
66531 2010-05-24  Bruno Haible  <bruno@clisp.org>
66533         Avoid a test failure on NetBSD 5.0.
66534         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
66535         an iconv() bug.
66537 2010-05-24  Bruno Haible  <bruno@clisp.org>
66539         Adjust #include directive style.
66540         * modules/regex (Includes): Recommend to write <regex.h>.
66542 2010-05-24  Bruno Haible  <bruno@clisp.org>
66544         regex: Don't require alloca.
66545         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
66546         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
66547         only inside if (0).
66549 2010-05-23  Jim Meyering  <meyering@redhat.com>
66551         test-renameat.c: include <sys/stat.h>
66552         * tests/test-renameat.c: Include <sys/stat.h>; required for
66553         definition of S_IS* macros.
66555 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
66557         Update maintainer documentation for 'relocatable-prog' module.
66558         * doc/relocatable-maint.texi: Update.
66559         Comments by Bruno Haible.
66561 2010-05-23  Bruno Haible  <bruno@clisp.org>
66563         git-merge-changelog: Enable --split-merged-entry by default.
66564         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
66565         (usage): Don't mention this option any more.
66566         Reported by Ralf Wildenhues.
66568 2010-05-23  Jim Meyering  <meyering@redhat.com>
66570         test-pwrite: do not leave behind a test file named "out"
66571         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
66572         The trivial-looking use of init.sh is really necessary.
66573         It ensures that the temporary file, "out", is created in
66574         a temporary directory, and removed upon termination.
66575         * tests/test-pwrite.sh: Re-add file.
66576         * modules/pwrite-tests: Reference it.
66578 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66580         Fix output redirection buglet in init.sh.
66581         * tests/init.sh: Fix redirection of stderr.
66583 2010-05-20  Simon Josefsson  <simon@josefsson.org>
66585         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
66587 2010-05-17  Simon Josefsson  <simon@josefsson.org>
66589         * modules/valgrind-tests: New file.
66590         * m4/valgrind-tests.m4: New file.
66591         * doc/valgrind-tests.texi: New file.
66592         * doc/gnulib.texi (Running self-tests under valgrind): New
66593         section.
66595 2010-05-19  Bruno Haible  <bruno@clisp.org>
66597         Clean up dead code in recent commit.
66598         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
66599         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
66600         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
66601         Suggested by Paolo Bonzini.
66603 2010-05-19  Bruno Haible  <bruno@clisp.org>
66605         Avoid valgrind error reports from libunistring.
66606         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
66607         * modules/libunistring (Files): Add it.
66608         * modules/libunistring-optional (Files): Likewise.
66610 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
66611             Bruno Haible  <bruno@clisp.org>
66613         New module 'libunistring-optional'.
66614         * modules/libunistring-optional: New file.
66615         * m4/libunistring-base.m4: New file.
66616         * m4/libunistring-optional.m4: New file.
66617         * lib/unicase.in.h: Renamed from lib/unicase.h.
66618         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
66619         * lib/unictype.in.h: Renamed from lib/unictype.h.
66620         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
66621         * lib/uniname.in.h: Renamed from lib/uniname.h.
66622         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
66623         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
66624         * lib/unistr.in.h: Renamed from lib/unistr.h.
66625         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
66626         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
66627         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
66628         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
66629         gl_LIBUNISTRING. If the library was found, determine the installed
66630         version and set LIBUNISTRING_VERSION.
66631         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
66632         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
66633         handle a configuration option --with-included-libunistring.
66634         * modules/libunistring (Files): Add m4/absolute-header.m4.
66635         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
66636         Add m4/libunistring-base.m4.
66637         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66638         (Makefile.am): Build unicase.h from unicase.in.h.
66639         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
66640         Add m4/libunistring-base.m4.
66641         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66642         (Makefile.am): Build uniconv.h from uniconv.in.h.
66643         * modules/unictype/base (Files): Use unictype.in.h instead of
66644         unictype.h. Add m4/libunistring-base.m4.
66645         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66646         (Makefile.am): Build unictype.h from unictype.in.h.
66647         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
66648         Add m4/libunistring-base.m4.
66649         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66650         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
66651         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
66652         Add m4/libunistring-base.m4.
66653         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66654         (Makefile.am): Build uniname.h from uniname.in.h.
66655         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
66656         Add m4/libunistring-base.m4.
66657         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66658         (Makefile.am): Build uninorm.h from uninorm.in.h.
66659         * modules/unistdio/base (Files): Use unistdio.in.h instead of
66660         unistdio.h. Add m4/libunistring-base.m4.
66661         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66662         (Makefile.am): Build unistdio.h from unistdio.in.h.
66663         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
66664         Add m4/libunistring-base.m4.
66665         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66666         (Makefile.am): Build unistr.h from unistr.in.h.
66667         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
66668         Add m4/libunistring-base.m4.
66669         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66670         (Makefile.am): Build unitypes.h from unitypes.in.h.
66671         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
66672         Add m4/libunistring-base.m4.
66673         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66674         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
66675         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
66676         uniwidth.h. Add m4/libunistring-base.m4.
66677         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
66678         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
66679         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
66680         instead of augmenting lib_SOURCES.
66681         * modules/unicase/empty-suffix-context: Likewise.
66682         * modules/unicase/locale-language: Likewise.
66683         * modules/unicase/tolower: Likewise.
66684         * modules/unicase/totitle: Likewise.
66685         * modules/unicase/toupper: Likewise.
66686         * modules/unicase/u8-casecmp: Likewise.
66687         * modules/unicase/u8-casecoll: Likewise.
66688         * modules/unicase/u8-casefold: Likewise.
66689         * modules/unicase/u8-casexfrm: Likewise.
66690         * modules/unicase/u8-ct-casefold: Likewise.
66691         * modules/unicase/u8-ct-tolower: Likewise.
66692         * modules/unicase/u8-ct-totitle: Likewise.
66693         * modules/unicase/u8-ct-toupper: Likewise.
66694         * modules/unicase/u8-is-cased: Likewise.
66695         * modules/unicase/u8-is-casefolded: Likewise.
66696         * modules/unicase/u8-is-lowercase: Likewise.
66697         * modules/unicase/u8-is-titlecase: Likewise.
66698         * modules/unicase/u8-is-uppercase: Likewise.
66699         * modules/unicase/u8-prefix-context: Likewise.
66700         * modules/unicase/u8-suffix-context: Likewise.
66701         * modules/unicase/u8-tolower: Likewise.
66702         * modules/unicase/u8-totitle: Likewise.
66703         * modules/unicase/u8-toupper: Likewise.
66704         * modules/unicase/u16-casecmp: Likewise.
66705         * modules/unicase/u16-casecoll: Likewise.
66706         * modules/unicase/u16-casefold: Likewise.
66707         * modules/unicase/u16-casexfrm: Likewise.
66708         * modules/unicase/u16-ct-casefold: Likewise.
66709         * modules/unicase/u16-ct-tolower: Likewise.
66710         * modules/unicase/u16-ct-totitle: Likewise.
66711         * modules/unicase/u16-ct-toupper: Likewise.
66712         * modules/unicase/u16-is-cased: Likewise.
66713         * modules/unicase/u16-is-casefolded: Likewise.
66714         * modules/unicase/u16-is-lowercase: Likewise.
66715         * modules/unicase/u16-is-titlecase: Likewise.
66716         * modules/unicase/u16-is-uppercase: Likewise.
66717         * modules/unicase/u16-prefix-context: Likewise.
66718         * modules/unicase/u16-suffix-context: Likewise.
66719         * modules/unicase/u16-tolower: Likewise.
66720         * modules/unicase/u16-totitle: Likewise.
66721         * modules/unicase/u16-toupper: Likewise.
66722         * modules/unicase/u32-casecmp: Likewise.
66723         * modules/unicase/u32-casecoll: Likewise.
66724         * modules/unicase/u32-casefold: Likewise.
66725         * modules/unicase/u32-casexfrm: Likewise.
66726         * modules/unicase/u32-ct-casefold: Likewise.
66727         * modules/unicase/u32-ct-tolower: Likewise.
66728         * modules/unicase/u32-ct-totitle: Likewise.
66729         * modules/unicase/u32-ct-toupper: Likewise.
66730         * modules/unicase/u32-is-cased: Likewise.
66731         * modules/unicase/u32-is-casefolded: Likewise.
66732         * modules/unicase/u32-is-lowercase: Likewise.
66733         * modules/unicase/u32-is-titlecase: Likewise.
66734         * modules/unicase/u32-is-uppercase: Likewise.
66735         * modules/unicase/u32-prefix-context: Likewise.
66736         * modules/unicase/u32-suffix-context: Likewise.
66737         * modules/unicase/u32-tolower: Likewise.
66738         * modules/unicase/u32-totitle: Likewise.
66739         * modules/unicase/u32-toupper: Likewise.
66740         * modules/unicase/ulc-casecmp: Likewise.
66741         * modules/unicase/ulc-casecoll: Likewise.
66742         * modules/unicase/ulc-casexfrm: Likewise.
66743         * modules/uniconv/u8-conv-from-enc: Likewise.
66744         * modules/uniconv/u8-conv-to-enc: Likewise.
66745         * modules/uniconv/u8-strconv-from-enc: Likewise.
66746         * modules/uniconv/u8-strconv-from-locale: Likewise.
66747         * modules/uniconv/u8-strconv-to-enc: Likewise.
66748         * modules/uniconv/u8-strconv-to-locale: Likewise.
66749         * modules/uniconv/u16-conv-from-enc: Likewise.
66750         * modules/uniconv/u16-conv-to-enc: Likewise.
66751         * modules/uniconv/u16-strconv-from-enc: Likewise.
66752         * modules/uniconv/u16-strconv-from-locale: Likewise.
66753         * modules/uniconv/u16-strconv-to-enc: Likewise.
66754         * modules/uniconv/u16-strconv-to-locale: Likewise.
66755         * modules/uniconv/u32-conv-from-enc: Likewise.
66756         * modules/uniconv/u32-conv-to-enc: Likewise.
66757         * modules/uniconv/u32-strconv-from-enc: Likewise.
66758         * modules/uniconv/u32-strconv-from-locale: Likewise.
66759         * modules/uniconv/u32-strconv-to-enc: Likewise.
66760         * modules/uniconv/u32-strconv-to-locale: Likewise.
66761         * modules/unictype/bidicategory-byname: Likewise.
66762         * modules/unictype/bidicategory-name: Likewise.
66763         * modules/unictype/bidicategory-of: Likewise.
66764         * modules/unictype/bidicategory-test: Likewise.
66765         * modules/unictype/block-list: Likewise.
66766         * modules/unictype/block-test: Likewise.
66767         * modules/unictype/category-C: Likewise.
66768         * modules/unictype/category-Cc: Likewise.
66769         * modules/unictype/category-Cf: Likewise.
66770         * modules/unictype/category-Cn: Likewise.
66771         * modules/unictype/category-Co: Likewise.
66772         * modules/unictype/category-Cs: Likewise.
66773         * modules/unictype/category-L: Likewise.
66774         * modules/unictype/category-Ll: Likewise.
66775         * modules/unictype/category-Lm: Likewise.
66776         * modules/unictype/category-Lo: Likewise.
66777         * modules/unictype/category-Lt: Likewise.
66778         * modules/unictype/category-Lu: Likewise.
66779         * modules/unictype/category-M: Likewise.
66780         * modules/unictype/category-Mc: Likewise.
66781         * modules/unictype/category-Me: Likewise.
66782         * modules/unictype/category-Mn: Likewise.
66783         * modules/unictype/category-N: Likewise.
66784         * modules/unictype/category-Nd: Likewise.
66785         * modules/unictype/category-Nl: Likewise.
66786         * modules/unictype/category-No: Likewise.
66787         * modules/unictype/category-P: Likewise.
66788         * modules/unictype/category-Pc: Likewise.
66789         * modules/unictype/category-Pd: Likewise.
66790         * modules/unictype/category-Pe: Likewise.
66791         * modules/unictype/category-Pf: Likewise.
66792         * modules/unictype/category-Pi: Likewise.
66793         * modules/unictype/category-Po: Likewise.
66794         * modules/unictype/category-Ps: Likewise.
66795         * modules/unictype/category-S: Likewise.
66796         * modules/unictype/category-Sc: Likewise.
66797         * modules/unictype/category-Sk: Likewise.
66798         * modules/unictype/category-Sm: Likewise.
66799         * modules/unictype/category-So: Likewise.
66800         * modules/unictype/category-Z: Likewise.
66801         * modules/unictype/category-Zl: Likewise.
66802         * modules/unictype/category-Zp: Likewise.
66803         * modules/unictype/category-Zs: Likewise.
66804         * modules/unictype/category-and: Likewise.
66805         * modules/unictype/category-and-not: Likewise.
66806         * modules/unictype/category-byname: Likewise.
66807         * modules/unictype/category-name: Likewise.
66808         * modules/unictype/category-none: Likewise.
66809         * modules/unictype/category-of: Likewise.
66810         * modules/unictype/category-or: Likewise.
66811         * modules/unictype/category-test: Likewise.
66812         * modules/unictype/combining-class: Likewise.
66813         * modules/unictype/ctype-alnum: Likewise.
66814         * modules/unictype/ctype-alpha: Likewise.
66815         * modules/unictype/ctype-blank: Likewise.
66816         * modules/unictype/ctype-cntrl: Likewise.
66817         * modules/unictype/ctype-digit: Likewise.
66818         * modules/unictype/ctype-graph: Likewise.
66819         * modules/unictype/ctype-lower: Likewise.
66820         * modules/unictype/ctype-print: Likewise.
66821         * modules/unictype/ctype-punct: Likewise.
66822         * modules/unictype/ctype-space: Likewise.
66823         * modules/unictype/ctype-upper: Likewise.
66824         * modules/unictype/ctype-xdigit: Likewise.
66825         * modules/unictype/decimal-digit: Likewise.
66826         * modules/unictype/digit: Likewise.
66827         * modules/unictype/mirror: Likewise.
66828         * modules/unictype/numeric: Likewise.
66829         * modules/unictype/property-alphabetic: Likewise.
66830         * modules/unictype/property-ascii-hex-digit: Likewise.
66831         * modules/unictype/property-bidi-arabic-digit: Likewise.
66832         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
66833         * modules/unictype/property-bidi-block-separator: Likewise.
66834         * modules/unictype/property-bidi-boundary-neutral: Likewise.
66835         * modules/unictype/property-bidi-common-separator: Likewise.
66836         * modules/unictype/property-bidi-control: Likewise.
66837         * modules/unictype/property-bidi-embedding-or-override: Likewise.
66838         * modules/unictype/property-bidi-eur-num-separator: Likewise.
66839         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
66840         * modules/unictype/property-bidi-european-digit: Likewise.
66841         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
66842         * modules/unictype/property-bidi-left-to-right: Likewise.
66843         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
66844         * modules/unictype/property-bidi-other-neutral: Likewise.
66845         * modules/unictype/property-bidi-pdf: Likewise.
66846         * modules/unictype/property-bidi-segment-separator: Likewise.
66847         * modules/unictype/property-bidi-whitespace: Likewise.
66848         * modules/unictype/property-byname: Likewise.
66849         * modules/unictype/property-combining: Likewise.
66850         * modules/unictype/property-composite: Likewise.
66851         * modules/unictype/property-currency-symbol: Likewise.
66852         * modules/unictype/property-dash: Likewise.
66853         * modules/unictype/property-decimal-digit: Likewise.
66854         * modules/unictype/property-default-ignorable-code-point: Likewise.
66855         * modules/unictype/property-deprecated: Likewise.
66856         * modules/unictype/property-diacritic: Likewise.
66857         * modules/unictype/property-extender: Likewise.
66858         * modules/unictype/property-format-control: Likewise.
66859         * modules/unictype/property-grapheme-base: Likewise.
66860         * modules/unictype/property-grapheme-extend: Likewise.
66861         * modules/unictype/property-grapheme-link: Likewise.
66862         * modules/unictype/property-hex-digit: Likewise.
66863         * modules/unictype/property-hyphen: Likewise.
66864         * modules/unictype/property-id-continue: Likewise.
66865         * modules/unictype/property-id-start: Likewise.
66866         * modules/unictype/property-ideographic: Likewise.
66867         * modules/unictype/property-ids-binary-operator: Likewise.
66868         * modules/unictype/property-ids-trinary-operator: Likewise.
66869         * modules/unictype/property-ignorable-control: Likewise.
66870         * modules/unictype/property-iso-control: Likewise.
66871         * modules/unictype/property-join-control: Likewise.
66872         * modules/unictype/property-left-of-pair: Likewise.
66873         * modules/unictype/property-line-separator: Likewise.
66874         * modules/unictype/property-logical-order-exception: Likewise.
66875         * modules/unictype/property-lowercase: Likewise.
66876         * modules/unictype/property-math: Likewise.
66877         * modules/unictype/property-non-break: Likewise.
66878         * modules/unictype/property-not-a-character: Likewise.
66879         * modules/unictype/property-numeric: Likewise.
66880         * modules/unictype/property-other-alphabetic: Likewise.
66881         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
66882         * modules/unictype/property-other-grapheme-extend: Likewise.
66883         * modules/unictype/property-other-id-continue: Likewise.
66884         * modules/unictype/property-other-id-start: Likewise.
66885         * modules/unictype/property-other-lowercase: Likewise.
66886         * modules/unictype/property-other-math: Likewise.
66887         * modules/unictype/property-other-uppercase: Likewise.
66888         * modules/unictype/property-paired-punctuation: Likewise.
66889         * modules/unictype/property-paragraph-separator: Likewise.
66890         * modules/unictype/property-pattern-syntax: Likewise.
66891         * modules/unictype/property-pattern-white-space: Likewise.
66892         * modules/unictype/property-private-use: Likewise.
66893         * modules/unictype/property-punctuation: Likewise.
66894         * modules/unictype/property-quotation-mark: Likewise.
66895         * modules/unictype/property-radical: Likewise.
66896         * modules/unictype/property-sentence-terminal: Likewise.
66897         * modules/unictype/property-soft-dotted: Likewise.
66898         * modules/unictype/property-space: Likewise.
66899         * modules/unictype/property-terminal-punctuation: Likewise.
66900         * modules/unictype/property-test: Likewise.
66901         * modules/unictype/property-titlecase: Likewise.
66902         * modules/unictype/property-unassigned-code-value: Likewise.
66903         * modules/unictype/property-unified-ideograph: Likewise.
66904         * modules/unictype/property-uppercase: Likewise.
66905         * modules/unictype/property-variation-selector: Likewise.
66906         * modules/unictype/property-white-space: Likewise.
66907         * modules/unictype/property-xid-continue: Likewise.
66908         * modules/unictype/property-xid-start: Likewise.
66909         * modules/unictype/property-zero-width: Likewise.
66910         * modules/unictype/scripts: Likewise.
66911         * modules/unictype/syntax-c-ident: Likewise.
66912         * modules/unictype/syntax-c-whitespace: Likewise.
66913         * modules/unictype/syntax-java-ident: Likewise.
66914         * modules/unictype/syntax-java-whitespace: Likewise.
66915         * modules/unilbrk/u8-possible-linebreaks: Likewise.
66916         * modules/unilbrk/u8-width-linebreaks: Likewise.
66917         * modules/unilbrk/u16-possible-linebreaks: Likewise.
66918         * modules/unilbrk/u16-width-linebreaks: Likewise.
66919         * modules/unilbrk/u32-possible-linebreaks: Likewise.
66920         * modules/unilbrk/u32-width-linebreaks: Likewise.
66921         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
66922         * modules/unilbrk/ulc-width-linebreaks: Likewise.
66923         * modules/uniname/uniname: Likewise.
66924         * modules/uninorm/canonical-decomposition: Likewise.
66925         * modules/uninorm/composition: Likewise.
66926         * modules/uninorm/decomposing-form: Likewise.
66927         * modules/uninorm/decomposition: Likewise.
66928         * modules/uninorm/filter: Likewise.
66929         * modules/uninorm/nfc: Likewise.
66930         * modules/uninorm/nfd: Likewise.
66931         * modules/uninorm/nfkc: Likewise.
66932         * modules/uninorm/nfkd: Likewise.
66933         * modules/uninorm/u8-normalize: Likewise.
66934         * modules/uninorm/u8-normcmp: Likewise.
66935         * modules/uninorm/u8-normcoll: Likewise.
66936         * modules/uninorm/u8-normxfrm: Likewise.
66937         * modules/uninorm/u16-normalize: Likewise.
66938         * modules/uninorm/u16-normcmp: Likewise.
66939         * modules/uninorm/u16-normcoll: Likewise.
66940         * modules/uninorm/u16-normxfrm: Likewise.
66941         * modules/uninorm/u32-normalize: Likewise.
66942         * modules/uninorm/u32-normcmp: Likewise.
66943         * modules/uninorm/u32-normcoll: Likewise.
66944         * modules/uninorm/u32-normxfrm: Likewise.
66945         * modules/unistdio/u8-asnprintf: Likewise.
66946         * modules/unistdio/u8-asprintf: Likewise.
66947         * modules/unistdio/u8-snprintf: Likewise.
66948         * modules/unistdio/u8-sprintf: Likewise.
66949         * modules/unistdio/u8-u8-asnprintf: Likewise.
66950         * modules/unistdio/u8-u8-asprintf: Likewise.
66951         * modules/unistdio/u8-u8-snprintf: Likewise.
66952         * modules/unistdio/u8-u8-sprintf: Likewise.
66953         * modules/unistdio/u8-u8-vasnprintf: Likewise.
66954         * modules/unistdio/u8-u8-vasprintf: Likewise.
66955         * modules/unistdio/u8-u8-vsnprintf: Likewise.
66956         * modules/unistdio/u8-u8-vsprintf: Likewise.
66957         * modules/unistdio/u8-vasnprintf: Likewise.
66958         * modules/unistdio/u8-vasprintf: Likewise.
66959         * modules/unistdio/u8-vsnprintf: Likewise.
66960         * modules/unistdio/u8-vsprintf: Likewise.
66961         * modules/unistdio/u16-asnprintf: Likewise.
66962         * modules/unistdio/u16-asprintf: Likewise.
66963         * modules/unistdio/u16-snprintf: Likewise.
66964         * modules/unistdio/u16-sprintf: Likewise.
66965         * modules/unistdio/u16-u16-asnprintf: Likewise.
66966         * modules/unistdio/u16-u16-asprintf: Likewise.
66967         * modules/unistdio/u16-u16-snprintf: Likewise.
66968         * modules/unistdio/u16-u16-sprintf: Likewise.
66969         * modules/unistdio/u16-u16-vasnprintf: Likewise.
66970         * modules/unistdio/u16-u16-vasprintf: Likewise.
66971         * modules/unistdio/u16-u16-vsnprintf: Likewise.
66972         * modules/unistdio/u16-u16-vsprintf: Likewise.
66973         * modules/unistdio/u16-vasnprintf: Likewise.
66974         * modules/unistdio/u16-vasprintf: Likewise.
66975         * modules/unistdio/u16-vsnprintf: Likewise.
66976         * modules/unistdio/u16-vsprintf: Likewise.
66977         * modules/unistdio/u32-asnprintf: Likewise.
66978         * modules/unistdio/u32-asprintf: Likewise.
66979         * modules/unistdio/u32-snprintf: Likewise.
66980         * modules/unistdio/u32-sprintf: Likewise.
66981         * modules/unistdio/u32-u32-asnprintf: Likewise.
66982         * modules/unistdio/u32-u32-asprintf: Likewise.
66983         * modules/unistdio/u32-u32-snprintf: Likewise.
66984         * modules/unistdio/u32-u32-sprintf: Likewise.
66985         * modules/unistdio/u32-u32-vasnprintf: Likewise.
66986         * modules/unistdio/u32-u32-vasprintf: Likewise.
66987         * modules/unistdio/u32-u32-vsnprintf: Likewise.
66988         * modules/unistdio/u32-u32-vsprintf: Likewise.
66989         * modules/unistdio/u32-vasnprintf: Likewise.
66990         * modules/unistdio/u32-vasprintf: Likewise.
66991         * modules/unistdio/u32-vsnprintf: Likewise.
66992         * modules/unistdio/u32-vsprintf: Likewise.
66993         * modules/unistdio/ulc-asnprintf: Likewise.
66994         * modules/unistdio/ulc-asprintf: Likewise.
66995         * modules/unistdio/ulc-fprintf: Likewise.
66996         * modules/unistdio/ulc-snprintf: Likewise.
66997         * modules/unistdio/ulc-sprintf: Likewise.
66998         * modules/unistdio/ulc-vasnprintf: Likewise.
66999         * modules/unistdio/ulc-vasprintf: Likewise.
67000         * modules/unistdio/ulc-vfprintf: Likewise.
67001         * modules/unistdio/ulc-vsnprintf: Likewise.
67002         * modules/unistdio/ulc-vsprintf: Likewise.
67003         * modules/unistr/u8-check: Likewise.
67004         * modules/unistr/u8-chr: Likewise.
67005         * modules/unistr/u8-cmp: Likewise.
67006         * modules/unistr/u8-cmp2: Likewise.
67007         * modules/unistr/u8-cpy: Likewise.
67008         * modules/unistr/u8-cpy-alloc: Likewise.
67009         * modules/unistr/u8-endswith: Likewise.
67010         * modules/unistr/u8-mblen: Likewise.
67011         * modules/unistr/u8-mbsnlen: Likewise.
67012         * modules/unistr/u8-mbtouc: Likewise.
67013         * modules/unistr/u8-mbtouc-unsafe: Likewise.
67014         * modules/unistr/u8-mbtoucr: Likewise.
67015         * modules/unistr/u8-move: Likewise.
67016         * modules/unistr/u8-next: Likewise.
67017         * modules/unistr/u8-prev: Likewise.
67018         * modules/unistr/u8-set: Likewise.
67019         * modules/unistr/u8-startswith: Likewise.
67020         * modules/unistr/u8-stpcpy: Likewise.
67021         * modules/unistr/u8-stpncpy: Likewise.
67022         * modules/unistr/u8-strcat: Likewise.
67023         * modules/unistr/u8-strchr: Likewise.
67024         * modules/unistr/u8-strcmp: Likewise.
67025         * modules/unistr/u8-strcoll: Likewise.
67026         * modules/unistr/u8-strcpy: Likewise.
67027         * modules/unistr/u8-strcspn: Likewise.
67028         * modules/unistr/u8-strdup: Likewise.
67029         * modules/unistr/u8-strlen: Likewise.
67030         * modules/unistr/u8-strmblen: Likewise.
67031         * modules/unistr/u8-strmbtouc: Likewise.
67032         * modules/unistr/u8-strncat: Likewise.
67033         * modules/unistr/u8-strncmp: Likewise.
67034         * modules/unistr/u8-strncpy: Likewise.
67035         * modules/unistr/u8-strnlen: Likewise.
67036         * modules/unistr/u8-strpbrk: Likewise.
67037         * modules/unistr/u8-strrchr: Likewise.
67038         * modules/unistr/u8-strspn: Likewise.
67039         * modules/unistr/u8-strstr: Likewise.
67040         * modules/unistr/u8-strtok: Likewise.
67041         * modules/unistr/u8-to-u16: Likewise.
67042         * modules/unistr/u8-to-u32: Likewise.
67043         * modules/unistr/u8-uctomb: Likewise.
67044         * modules/unistr/u16-check: Likewise.
67045         * modules/unistr/u16-chr: Likewise.
67046         * modules/unistr/u16-cmp: Likewise.
67047         * modules/unistr/u16-cmp2: Likewise.
67048         * modules/unistr/u16-cpy: Likewise.
67049         * modules/unistr/u16-cpy-alloc: Likewise.
67050         * modules/unistr/u16-endswith: Likewise.
67051         * modules/unistr/u16-mblen: Likewise.
67052         * modules/unistr/u16-mbsnlen: Likewise.
67053         * modules/unistr/u16-mbtouc: Likewise.
67054         * modules/unistr/u16-mbtouc-unsafe: Likewise.
67055         * modules/unistr/u16-mbtoucr: Likewise.
67056         * modules/unistr/u16-move: Likewise.
67057         * modules/unistr/u16-next: Likewise.
67058         * modules/unistr/u16-prev: Likewise.
67059         * modules/unistr/u16-set: Likewise.
67060         * modules/unistr/u16-startswith: Likewise.
67061         * modules/unistr/u16-stpcpy: Likewise.
67062         * modules/unistr/u16-stpncpy: Likewise.
67063         * modules/unistr/u16-strcat: Likewise.
67064         * modules/unistr/u16-strchr: Likewise.
67065         * modules/unistr/u16-strcmp: Likewise.
67066         * modules/unistr/u16-strcoll: Likewise.
67067         * modules/unistr/u16-strcpy: Likewise.
67068         * modules/unistr/u16-strcspn: Likewise.
67069         * modules/unistr/u16-strdup: Likewise.
67070         * modules/unistr/u16-strlen: Likewise.
67071         * modules/unistr/u16-strmblen: Likewise.
67072         * modules/unistr/u16-strmbtouc: Likewise.
67073         * modules/unistr/u16-strncat: Likewise.
67074         * modules/unistr/u16-strncmp: Likewise.
67075         * modules/unistr/u16-strncpy: Likewise.
67076         * modules/unistr/u16-strnlen: Likewise.
67077         * modules/unistr/u16-strpbrk: Likewise.
67078         * modules/unistr/u16-strrchr: Likewise.
67079         * modules/unistr/u16-strspn: Likewise.
67080         * modules/unistr/u16-strstr: Likewise.
67081         * modules/unistr/u16-strtok: Likewise.
67082         * modules/unistr/u16-to-u32: Likewise.
67083         * modules/unistr/u16-to-u8: Likewise.
67084         * modules/unistr/u16-uctomb: Likewise.
67085         * modules/unistr/u32-check: Likewise.
67086         * modules/unistr/u32-chr: Likewise.
67087         * modules/unistr/u32-cmp: Likewise.
67088         * modules/unistr/u32-cmp2: Likewise.
67089         * modules/unistr/u32-cpy: Likewise.
67090         * modules/unistr/u32-cpy-alloc: Likewise.
67091         * modules/unistr/u32-endswith: Likewise.
67092         * modules/unistr/u32-mblen: Likewise.
67093         * modules/unistr/u32-mbsnlen: Likewise.
67094         * modules/unistr/u32-mbtouc: Likewise.
67095         * modules/unistr/u32-mbtouc-unsafe: Likewise.
67096         * modules/unistr/u32-mbtoucr: Likewise.
67097         * modules/unistr/u32-move: Likewise.
67098         * modules/unistr/u32-next: Likewise.
67099         * modules/unistr/u32-prev: Likewise.
67100         * modules/unistr/u32-set: Likewise.
67101         * modules/unistr/u32-startswith: Likewise.
67102         * modules/unistr/u32-stpcpy: Likewise.
67103         * modules/unistr/u32-stpncpy: Likewise.
67104         * modules/unistr/u32-strcat: Likewise.
67105         * modules/unistr/u32-strchr: Likewise.
67106         * modules/unistr/u32-strcmp: Likewise.
67107         * modules/unistr/u32-strcoll: Likewise.
67108         * modules/unistr/u32-strcpy: Likewise.
67109         * modules/unistr/u32-strcspn: Likewise.
67110         * modules/unistr/u32-strdup: Likewise.
67111         * modules/unistr/u32-strlen: Likewise.
67112         * modules/unistr/u32-strmblen: Likewise.
67113         * modules/unistr/u32-strmbtouc: Likewise.
67114         * modules/unistr/u32-strncat: Likewise.
67115         * modules/unistr/u32-strncmp: Likewise.
67116         * modules/unistr/u32-strncpy: Likewise.
67117         * modules/unistr/u32-strnlen: Likewise.
67118         * modules/unistr/u32-strpbrk: Likewise.
67119         * modules/unistr/u32-strrchr: Likewise.
67120         * modules/unistr/u32-strspn: Likewise.
67121         * modules/unistr/u32-strstr: Likewise.
67122         * modules/unistr/u32-strtok: Likewise.
67123         * modules/unistr/u32-to-u16: Likewise.
67124         * modules/unistr/u32-to-u8: Likewise.
67125         * modules/unistr/u32-uctomb: Likewise.
67126         * modules/uniwbrk/u8-wordbreaks: Likewise.
67127         * modules/uniwbrk/u16-wordbreaks: Likewise.
67128         * modules/uniwbrk/u32-wordbreaks: Likewise.
67129         * modules/uniwbrk/ulc-wordbreaks: Likewise.
67130         * modules/uniwbrk/wordbreak-property: Likewise.
67131         * modules/uniwidth/u8-strwidth: Likewise.
67132         * modules/uniwidth/u8-width: Likewise.
67133         * modules/uniwidth/u16-strwidth: Likewise.
67134         * modules/uniwidth/u16-width: Likewise.
67135         * modules/uniwidth/u32-strwidth: Likewise.
67136         * modules/uniwidth/u32-width: Likewise.
67137         * modules/uniwidth/width: Likewise.
67138         * modules/unicase/cased-tests (Makefile.am): Link all test programs
67139         with $(LIBUNISTRING).
67140         * modules/unicase/ignorable-tests: Likewise.
67141         * modules/unicase/locale-language-tests: Likewise.
67142         * modules/unicase/tolower-tests: Likewise.
67143         * modules/unicase/totitle-tests: Likewise.
67144         * modules/unicase/toupper-tests: Likewise.
67145         * modules/unicase/u8-casecmp-tests: Likewise.
67146         * modules/unicase/u8-casecoll-tests: Likewise.
67147         * modules/unicase/u8-casefold-tests: Likewise.
67148         * modules/unicase/u8-is-cased-tests: Likewise.
67149         * modules/unicase/u8-is-casefolded-tests: Likewise.
67150         * modules/unicase/u8-is-lowercase-tests: Likewise.
67151         * modules/unicase/u8-is-titlecase-tests: Likewise.
67152         * modules/unicase/u8-is-uppercase-tests: Likewise.
67153         * modules/unicase/u8-tolower-tests: Likewise.
67154         * modules/unicase/u8-totitle-tests: Likewise.
67155         * modules/unicase/u8-toupper-tests: Likewise.
67156         * modules/unicase/u16-casecmp-tests: Likewise.
67157         * modules/unicase/u16-casecoll-tests: Likewise.
67158         * modules/unicase/u16-casefold-tests: Likewise.
67159         * modules/unicase/u16-is-cased-tests: Likewise.
67160         * modules/unicase/u16-is-casefolded-tests: Likewise.
67161         * modules/unicase/u16-is-lowercase-tests: Likewise.
67162         * modules/unicase/u16-is-titlecase-tests: Likewise.
67163         * modules/unicase/u16-is-uppercase-tests: Likewise.
67164         * modules/unicase/u16-tolower-tests: Likewise.
67165         * modules/unicase/u16-totitle-tests: Likewise.
67166         * modules/unicase/u16-toupper-tests: Likewise.
67167         * modules/unicase/u32-casecmp-tests: Likewise.
67168         * modules/unicase/u32-casecoll-tests: Likewise.
67169         * modules/unicase/u32-casefold-tests: Likewise.
67170         * modules/unicase/u32-is-cased-tests: Likewise.
67171         * modules/unicase/u32-is-casefolded-tests: Likewise.
67172         * modules/unicase/u32-is-lowercase-tests: Likewise.
67173         * modules/unicase/u32-is-titlecase-tests: Likewise.
67174         * modules/unicase/u32-is-uppercase-tests: Likewise.
67175         * modules/unicase/u32-tolower-tests: Likewise.
67176         * modules/unicase/u32-totitle-tests: Likewise.
67177         * modules/unicase/u32-toupper-tests: Likewise.
67178         * modules/unicase/ulc-casecmp-tests: Likewise.
67179         * modules/unicase/ulc-casecoll-tests: Likewise.
67180         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
67181         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
67182         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
67183         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
67184         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
67185         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
67186         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
67187         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
67188         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
67189         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
67190         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
67191         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
67192         * modules/unictype/bidicategory-byname-tests: Likewise.
67193         * modules/unictype/bidicategory-name-tests: Likewise.
67194         * modules/unictype/bidicategory-of-tests: Likewise.
67195         * modules/unictype/bidicategory-test-tests: Likewise.
67196         * modules/unictype/block-list-tests: Likewise.
67197         * modules/unictype/block-of-tests: Likewise.
67198         * modules/unictype/block-test-tests: Likewise.
67199         * modules/unictype/category-C-tests: Likewise.
67200         * modules/unictype/category-Cc-tests: Likewise.
67201         * modules/unictype/category-Cf-tests: Likewise.
67202         * modules/unictype/category-Cn-tests: Likewise.
67203         * modules/unictype/category-Co-tests: Likewise.
67204         * modules/unictype/category-Cs-tests: Likewise.
67205         * modules/unictype/category-L-tests: Likewise.
67206         * modules/unictype/category-Ll-tests: Likewise.
67207         * modules/unictype/category-Lm-tests: Likewise.
67208         * modules/unictype/category-Lo-tests: Likewise.
67209         * modules/unictype/category-Lt-tests: Likewise.
67210         * modules/unictype/category-Lu-tests: Likewise.
67211         * modules/unictype/category-M-tests: Likewise.
67212         * modules/unictype/category-Mc-tests: Likewise.
67213         * modules/unictype/category-Me-tests: Likewise.
67214         * modules/unictype/category-Mn-tests: Likewise.
67215         * modules/unictype/category-N-tests: Likewise.
67216         * modules/unictype/category-Nd-tests: Likewise.
67217         * modules/unictype/category-Nl-tests: Likewise.
67218         * modules/unictype/category-No-tests: Likewise.
67219         * modules/unictype/category-P-tests: Likewise.
67220         * modules/unictype/category-Pc-tests: Likewise.
67221         * modules/unictype/category-Pd-tests: Likewise.
67222         * modules/unictype/category-Pe-tests: Likewise.
67223         * modules/unictype/category-Pf-tests: Likewise.
67224         * modules/unictype/category-Pi-tests: Likewise.
67225         * modules/unictype/category-Po-tests: Likewise.
67226         * modules/unictype/category-Ps-tests: Likewise.
67227         * modules/unictype/category-S-tests: Likewise.
67228         * modules/unictype/category-Sc-tests: Likewise.
67229         * modules/unictype/category-Sk-tests: Likewise.
67230         * modules/unictype/category-Sm-tests: Likewise.
67231         * modules/unictype/category-So-tests: Likewise.
67232         * modules/unictype/category-Z-tests: Likewise.
67233         * modules/unictype/category-Zl-tests: Likewise.
67234         * modules/unictype/category-Zp-tests: Likewise.
67235         * modules/unictype/category-Zs-tests: Likewise.
67236         * modules/unictype/category-and-not-tests: Likewise.
67237         * modules/unictype/category-and-tests: Likewise.
67238         * modules/unictype/category-byname-tests: Likewise.
67239         * modules/unictype/category-name-tests: Likewise.
67240         * modules/unictype/category-none-tests: Likewise.
67241         * modules/unictype/category-of-tests: Likewise.
67242         * modules/unictype/category-or-tests: Likewise.
67243         * modules/unictype/category-test-withtable-tests: Likewise.
67244         * modules/unictype/combining-class-tests: Likewise.
67245         * modules/unictype/ctype-alnum-tests: Likewise.
67246         * modules/unictype/ctype-alpha-tests: Likewise.
67247         * modules/unictype/ctype-blank-tests: Likewise.
67248         * modules/unictype/ctype-cntrl-tests: Likewise.
67249         * modules/unictype/ctype-digit-tests: Likewise.
67250         * modules/unictype/ctype-graph-tests: Likewise.
67251         * modules/unictype/ctype-lower-tests: Likewise.
67252         * modules/unictype/ctype-print-tests: Likewise.
67253         * modules/unictype/ctype-punct-tests: Likewise.
67254         * modules/unictype/ctype-space-tests: Likewise.
67255         * modules/unictype/ctype-upper-tests: Likewise.
67256         * modules/unictype/ctype-xdigit-tests: Likewise.
67257         * modules/unictype/decimal-digit-tests: Likewise.
67258         * modules/unictype/digit-tests: Likewise.
67259         * modules/unictype/mirror-tests: Likewise.
67260         * modules/unictype/numeric-tests: Likewise.
67261         * modules/unictype/property-alphabetic-tests: Likewise.
67262         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
67263         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
67264         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
67265         * modules/unictype/property-bidi-block-separator-tests: Likewise.
67266         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
67267         * modules/unictype/property-bidi-common-separator-tests: Likewise.
67268         * modules/unictype/property-bidi-control-tests: Likewise.
67269         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
67270         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
67271         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
67272         * modules/unictype/property-bidi-european-digit-tests: Likewise.
67273         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
67274         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
67275         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
67276         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
67277         * modules/unictype/property-bidi-pdf-tests: Likewise.
67278         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
67279         * modules/unictype/property-bidi-whitespace-tests: Likewise.
67280         * modules/unictype/property-byname-tests: Likewise.
67281         * modules/unictype/property-combining-tests: Likewise.
67282         * modules/unictype/property-composite-tests: Likewise.
67283         * modules/unictype/property-currency-symbol-tests: Likewise.
67284         * modules/unictype/property-dash-tests: Likewise.
67285         * modules/unictype/property-decimal-digit-tests: Likewise.
67286         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
67287         * modules/unictype/property-deprecated-tests: Likewise.
67288         * modules/unictype/property-diacritic-tests: Likewise.
67289         * modules/unictype/property-extender-tests: Likewise.
67290         * modules/unictype/property-format-control-tests: Likewise.
67291         * modules/unictype/property-grapheme-base-tests: Likewise.
67292         * modules/unictype/property-grapheme-extend-tests: Likewise.
67293         * modules/unictype/property-grapheme-link-tests: Likewise.
67294         * modules/unictype/property-hex-digit-tests: Likewise.
67295         * modules/unictype/property-hyphen-tests: Likewise.
67296         * modules/unictype/property-id-continue-tests: Likewise.
67297         * modules/unictype/property-id-start-tests: Likewise.
67298         * modules/unictype/property-ideographic-tests: Likewise.
67299         * modules/unictype/property-ids-binary-operator-tests: Likewise.
67300         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
67301         * modules/unictype/property-ignorable-control-tests: Likewise.
67302         * modules/unictype/property-iso-control-tests: Likewise.
67303         * modules/unictype/property-join-control-tests: Likewise.
67304         * modules/unictype/property-left-of-pair-tests: Likewise.
67305         * modules/unictype/property-line-separator-tests: Likewise.
67306         * modules/unictype/property-logical-order-exception-tests: Likewise.
67307         * modules/unictype/property-lowercase-tests: Likewise.
67308         * modules/unictype/property-math-tests: Likewise.
67309         * modules/unictype/property-non-break-tests: Likewise.
67310         * modules/unictype/property-not-a-character-tests: Likewise.
67311         * modules/unictype/property-numeric-tests: Likewise.
67312         * modules/unictype/property-other-alphabetic-tests: Likewise.
67313         * modules/unictype/property-other-default-ignorable-code-point-tests:
67314         Likewise.
67315         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
67316         * modules/unictype/property-other-id-continue-tests: Likewise.
67317         * modules/unictype/property-other-id-start-tests: Likewise.
67318         * modules/unictype/property-other-lowercase-tests: Likewise.
67319         * modules/unictype/property-other-math-tests: Likewise.
67320         * modules/unictype/property-other-uppercase-tests: Likewise.
67321         * modules/unictype/property-paired-punctuation-tests: Likewise.
67322         * modules/unictype/property-paragraph-separator-tests: Likewise.
67323         * modules/unictype/property-pattern-syntax-tests: Likewise.
67324         * modules/unictype/property-pattern-white-space-tests: Likewise.
67325         * modules/unictype/property-private-use-tests: Likewise.
67326         * modules/unictype/property-punctuation-tests: Likewise.
67327         * modules/unictype/property-quotation-mark-tests: Likewise.
67328         * modules/unictype/property-radical-tests: Likewise.
67329         * modules/unictype/property-sentence-terminal-tests: Likewise.
67330         * modules/unictype/property-soft-dotted-tests: Likewise.
67331         * modules/unictype/property-space-tests: Likewise.
67332         * modules/unictype/property-terminal-punctuation-tests: Likewise.
67333         * modules/unictype/property-test-tests: Likewise.
67334         * modules/unictype/property-titlecase-tests: Likewise.
67335         * modules/unictype/property-unassigned-code-value-tests: Likewise.
67336         * modules/unictype/property-unified-ideograph-tests: Likewise.
67337         * modules/unictype/property-uppercase-tests: Likewise.
67338         * modules/unictype/property-variation-selector-tests: Likewise.
67339         * modules/unictype/property-white-space-tests: Likewise.
67340         * modules/unictype/property-xid-continue-tests: Likewise.
67341         * modules/unictype/property-xid-start-tests: Likewise.
67342         * modules/unictype/property-zero-width-tests: Likewise.
67343         * modules/unictype/scripts-tests: Likewise.
67344         * modules/unictype/syntax-c-ident-tests: Likewise.
67345         * modules/unictype/syntax-c-whitespace-tests: Likewise.
67346         * modules/unictype/syntax-java-ident-tests: Likewise.
67347         * modules/unictype/syntax-java-whitespace-tests: Likewise.
67348         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
67349         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
67350         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
67351         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
67352         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
67353         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
67354         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
67355         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
67356         * modules/uniname/uniname-tests: Likewise.
67357         * modules/uninorm/canonical-decomposition-tests: Likewise.
67358         * modules/uninorm/compat-decomposition-tests: Likewise.
67359         * modules/uninorm/composition-tests: Likewise.
67360         * modules/uninorm/decomposing-form-tests: Likewise.
67361         * modules/uninorm/decomposition-tests: Likewise.
67362         * modules/uninorm/filter-tests: Likewise.
67363         * modules/uninorm/nfc-tests: Likewise.
67364         * modules/uninorm/nfd-tests: Likewise.
67365         * modules/uninorm/nfkc-tests: Likewise.
67366         * modules/uninorm/nfkd-tests: Likewise.
67367         * modules/uninorm/u8-normcmp-tests: Likewise.
67368         * modules/uninorm/u8-normcoll-tests: Likewise.
67369         * modules/uninorm/u16-normcmp-tests: Likewise.
67370         * modules/uninorm/u16-normcoll-tests: Likewise.
67371         * modules/uninorm/u32-normcmp-tests: Likewise.
67372         * modules/uninorm/u32-normcoll-tests: Likewise.
67373         * modules/unistdio/u8-asnprintf-tests: Likewise.
67374         * modules/unistdio/u8-vasnprintf-tests: Likewise.
67375         * modules/unistdio/u8-vasprintf-tests: Likewise.
67376         * modules/unistdio/u8-vsnprintf-tests: Likewise.
67377         * modules/unistdio/u8-vsprintf-tests: Likewise.
67378         * modules/unistdio/u16-asnprintf-tests: Likewise.
67379         * modules/unistdio/u16-vasnprintf-tests: Likewise.
67380         * modules/unistdio/u16-vasprintf-tests: Likewise.
67381         * modules/unistdio/u16-vsnprintf-tests: Likewise.
67382         * modules/unistdio/u16-vsprintf-tests: Likewise.
67383         * modules/unistdio/u32-asnprintf-tests: Likewise.
67384         * modules/unistdio/u32-vasnprintf-tests: Likewise.
67385         * modules/unistdio/u32-vasprintf-tests: Likewise.
67386         * modules/unistdio/u32-vsnprintf-tests: Likewise.
67387         * modules/unistdio/u32-vsprintf-tests: Likewise.
67388         * modules/unistdio/ulc-asnprintf-tests: Likewise.
67389         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
67390         * modules/unistdio/ulc-vasprintf-tests: Likewise.
67391         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
67392         * modules/unistdio/ulc-vsprintf-tests: Likewise.
67393         * modules/unistr/u8-check-tests: Likewise.
67394         * modules/unistr/u8-chr-tests: Likewise.
67395         * modules/unistr/u8-cmp-tests: Likewise.
67396         * modules/unistr/u8-cmp2-tests: Likewise.
67397         * modules/unistr/u8-cpy-alloc-tests: Likewise.
67398         * modules/unistr/u8-cpy-tests: Likewise.
67399         * modules/unistr/u8-mblen-tests: Likewise.
67400         * modules/unistr/u8-mbsnlen-tests: Likewise.
67401         * modules/unistr/u8-mbtouc-tests: Likewise.
67402         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
67403         * modules/unistr/u8-mbtoucr-tests: Likewise.
67404         * modules/unistr/u8-move-tests: Likewise.
67405         * modules/unistr/u8-next-tests: Likewise.
67406         * modules/unistr/u8-prev-tests: Likewise.
67407         * modules/unistr/u8-set-tests: Likewise.
67408         * modules/unistr/u8-stpcpy-tests: Likewise.
67409         * modules/unistr/u8-stpncpy-tests: Likewise.
67410         * modules/unistr/u8-strcat-tests: Likewise.
67411         * modules/unistr/u8-strcmp-tests: Likewise.
67412         * modules/unistr/u8-strcoll-tests: Likewise.
67413         * modules/unistr/u8-strcpy-tests: Likewise.
67414         * modules/unistr/u8-strdup-tests: Likewise.
67415         * modules/unistr/u8-strlen-tests: Likewise.
67416         * modules/unistr/u8-strmblen-tests: Likewise.
67417         * modules/unistr/u8-strmbtouc-tests: Likewise.
67418         * modules/unistr/u8-strncat-tests: Likewise.
67419         * modules/unistr/u8-strncmp-tests: Likewise.
67420         * modules/unistr/u8-strncpy-tests: Likewise.
67421         * modules/unistr/u8-strnlen-tests: Likewise.
67422         * modules/unistr/u8-to-u16-tests: Likewise.
67423         * modules/unistr/u8-to-u32-tests: Likewise.
67424         * modules/unistr/u8-uctomb-tests: Likewise.
67425         * modules/unistr/u16-check-tests: Likewise.
67426         * modules/unistr/u16-chr-tests: Likewise.
67427         * modules/unistr/u16-cmp-tests: Likewise.
67428         * modules/unistr/u16-cmp2-tests: Likewise.
67429         * modules/unistr/u16-cpy-alloc-tests: Likewise.
67430         * modules/unistr/u16-cpy-tests: Likewise.
67431         * modules/unistr/u16-mblen-tests: Likewise.
67432         * modules/unistr/u16-mbsnlen-tests: Likewise.
67433         * modules/unistr/u16-mbtouc-tests: Likewise.
67434         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
67435         * modules/unistr/u16-mbtoucr-tests: Likewise.
67436         * modules/unistr/u16-move-tests: Likewise.
67437         * modules/unistr/u16-next-tests: Likewise.
67438         * modules/unistr/u16-prev-tests: Likewise.
67439         * modules/unistr/u16-set-tests: Likewise.
67440         * modules/unistr/u16-stpcpy-tests: Likewise.
67441         * modules/unistr/u16-stpncpy-tests: Likewise.
67442         * modules/unistr/u16-strcat-tests: Likewise.
67443         * modules/unistr/u16-strcmp-tests: Likewise.
67444         * modules/unistr/u16-strcoll-tests: Likewise.
67445         * modules/unistr/u16-strcpy-tests: Likewise.
67446         * modules/unistr/u16-strdup-tests: Likewise.
67447         * modules/unistr/u16-strlen-tests: Likewise.
67448         * modules/unistr/u16-strmblen-tests: Likewise.
67449         * modules/unistr/u16-strmbtouc-tests: Likewise.
67450         * modules/unistr/u16-strncat-tests: Likewise.
67451         * modules/unistr/u16-strncmp-tests: Likewise.
67452         * modules/unistr/u16-strncpy-tests: Likewise.
67453         * modules/unistr/u16-strnlen-tests: Likewise.
67454         * modules/unistr/u16-to-u32-tests: Likewise.
67455         * modules/unistr/u16-to-u8-tests: Likewise.
67456         * modules/unistr/u16-uctomb-tests: Likewise.
67457         * modules/unistr/u32-check-tests: Likewise.
67458         * modules/unistr/u32-chr-tests: Likewise.
67459         * modules/unistr/u32-cmp-tests: Likewise.
67460         * modules/unistr/u32-cmp2-tests: Likewise.
67461         * modules/unistr/u32-cpy-alloc-tests: Likewise.
67462         * modules/unistr/u32-cpy-tests: Likewise.
67463         * modules/unistr/u32-mblen-tests: Likewise.
67464         * modules/unistr/u32-mbsnlen-tests: Likewise.
67465         * modules/unistr/u32-mbtouc-tests: Likewise.
67466         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
67467         * modules/unistr/u32-mbtoucr-tests: Likewise.
67468         * modules/unistr/u32-move-tests: Likewise.
67469         * modules/unistr/u32-next-tests: Likewise.
67470         * modules/unistr/u32-prev-tests: Likewise.
67471         * modules/unistr/u32-set-tests: Likewise.
67472         * modules/unistr/u32-stpcpy-tests: Likewise.
67473         * modules/unistr/u32-stpncpy-tests: Likewise.
67474         * modules/unistr/u32-strcat-tests: Likewise.
67475         * modules/unistr/u32-strcmp-tests: Likewise.
67476         * modules/unistr/u32-strcoll-tests: Likewise.
67477         * modules/unistr/u32-strcpy-tests: Likewise.
67478         * modules/unistr/u32-strdup-tests: Likewise.
67479         * modules/unistr/u32-strlen-tests: Likewise.
67480         * modules/unistr/u32-strmblen-tests: Likewise.
67481         * modules/unistr/u32-strmbtouc-tests: Likewise.
67482         * modules/unistr/u32-strncat-tests: Likewise.
67483         * modules/unistr/u32-strncmp-tests: Likewise.
67484         * modules/unistr/u32-strncpy-tests: Likewise.
67485         * modules/unistr/u32-strnlen-tests: Likewise.
67486         * modules/unistr/u32-to-u16-tests: Likewise.
67487         * modules/unistr/u32-to-u8-tests: Likewise.
67488         * modules/unistr/u32-uctomb-tests: Likewise.
67489         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
67490         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
67491         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
67492         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
67493         * modules/uniwidth/u8-strwidth-tests: Likewise.
67494         * modules/uniwidth/u8-width-tests: Likewise.
67495         * modules/uniwidth/u16-strwidth-tests: Likewise.
67496         * modules/uniwidth/u16-width-tests: Likewise.
67497         * modules/uniwidth/u32-strwidth-tests: Likewise.
67498         * modules/uniwidth/u32-width-tests: Likewise.
67499         * modules/uniwidth/width-tests: Likewise.
67501 2010-05-18  Richard Jones  <rjones@redhat.com>
67503         doc: users.txt: list hivex
67504         * users.txt: Add hivex.
67506 2010-05-18  Richard Jones  <rjones@redhat.com>
67508         doc: users.txt: list febootstrap
67509         * users.txt: Add febootstrap.
67511 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
67513         bootstrap: fix an error when gnulib is not used as a git submodule
67514         * build-aux/bootstrap (gnulib_path): If its length is zero then
67515         assign "gnulib" to it.
67516         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
67518 2010-05-16  Bruno Haible  <bruno@clisp.org>
67520         Avoid autoconf warnings about AM_ICONV.
67521         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
67522         2.64.
67524 2010-05-16  Bruno Haible  <bruno@clisp.org>
67526         absolute-header: Make the macro usable in more situations.
67527         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
67528         from gl_ABSOLUTE_HEADER.
67529         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
67531 2010-05-16  James Youngman  <jay@gnu.org>
67533         doc: update users.txt
67534         * users.txt: Add CSSC.
67536 2010-05-16  Jim Meyering  <meyering@redhat.com>
67538         init.sh: fix an error in the previous change; add more comments
67539         * tests/init.sh: Compare exit code in loop against 9, not 2.
67540         Patch by Bruno Haible.
67541         Make the two tests more similar by adding an empty "then" clause.
67542         Add comments.
67544         init.sh: avoid unnecessary shell re-exec
67545         * tests/init.sh: Improve the re-exec-required check to first test the
67546         current shell.  If it passes the test, do not search for a shell that
67547         does pass, and do not re-exec.  This test is particularly contorted to
67548         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
67549         of $(...) evokes a syntax error and causes immediate shell exit with
67550         status 2.  Bruno Haible reported that the re-exec made it impossible
67551         to single-step through any init.sh-using script.
67553 2010-05-16  Bruno Haible  <bruno@clisp.org>
67555         Fix collision between gnulib's and libintl's printf replacements.
67556         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
67557         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
67558         (printf): When using GNU C, map the __printf__ function to rpl_printf
67559         via __asm__. When not using GNU C, define rpl_printf instead of
67560         __printf__.
67561         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
67562         commit.
67563         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
67564         commit.
67565         * m4/asm-underscore.m4: New file.
67566         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
67567         * modules/stdio (Files): Add m4/asm-underscore.m4.
67568         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
67569         Reported by Ben Pfaff.
67571 2010-05-16  Bruno Haible  <bruno@clisp.org>
67573         verify: Avoid skipping the test on openSUSE 11.0.
67574         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
67576 2010-05-13  Bruno Haible  <bruno@clisp.org>
67578         Avoid useless warnings from G++.
67579         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
67580         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
67581         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
67583 2010-05-11  Jim Meyering  <meyering@redhat.com>
67585         maint.mk: tweak preceding change
67586         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
67587         regexps tighter by anchoring at EOL, and make the new group "shy"
67588         for slightly decreased overhead.
67590 2010-05-11  Eric Blake  <eblake@redhat.com>
67592         maint.mk: gnulib doesn't guarantee NSIG
67593         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
67595 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
67597         test-pwrite.c: Remove unused variable declaration.
67598         * tests/test-pwrite.c (main): Remove read_buf declaration.
67600         Remove useless test-pwrite.sh file.
67601         * tests/test-pwrite.sh: Delete file.
67602         * modules/pwrite-tests: Remove references.
67603         Reported by Bruno Haible.
67605 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
67607         init.sh: fix a typo
67608         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
67610 2010-05-10  Jim Meyering  <meyering@redhat.com>
67612         maint.mk: avoid using a temporary file in the always-defined-macros check
67613         * top/maint.mk (.re-defmac): Remove rule.
67614         (gl_trap_): Remove definition.
67615         (sc_prohibit_always-defined_macros): Rewrite not to create and
67616         depend on a temporary file.  Instead, depend on GNU grep's ability
67617         to read a list of regular expressions from stdin when given "-f -".
67619 2010-05-09  Bruno Haible  <bruno@clisp.org>
67621         Update to GNU gettext 0.18, part 1.
67622         * m4/gettext.m4: Update to GNU gettext 0.18.
67623         * m4/intl.m4: Likewise.
67624         * m4/po.m4: Likewise.
67625         * modules/gettext (Files): Add m4/fcntl-o.m4.
67626         (configure.ac): Require gettext infrastructure from version 0.18.
67628 2010-05-09  Jim Meyering  <meyering@redhat.com>
67630         init.sh: enable MALLOC_PERTURB_
67631         * tests/init.sh: Enable glibc's malloc-perturbing option.
67633         maint.mk: improve sc_cross_check_PATH_usage_in_tests
67634         With my recent change in init.sh from the two-line form:
67635             -#   : ${srcdir=.}
67636             -#   . "$srcdir/init.sh"; path_prepend_ .
67637             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
67638         I noticed that using the one-line form would cause this test
67639         to fail with a false-positive, or to stop working altogether,
67640         depending on whether help-version changed or all the tests did.
67641         * top/maint.mk (_hv_regex): Remove this definition.
67642         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
67643         (_hv_regex_strong): Use a stronger regex to check for conformance.
67644         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
67645         Give a separate diagnostic for lack of conforming use.
67647         maint.mk: prohibit definition of symbols defined by gnulib
67648         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
67649         definition of symbols defined by gnulib.
67651 2010-05-09  Bruno Haible  <bruno@clisp.org>
67653         acl: Avoid test failure on Cygwin-hosted mingw.
67654         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
67656 2010-05-09  Bruno Haible  <bruno@clisp.org>
67658         error: Use system's fcntl function.
67659         * lib/error.c (fcntl): Undefine.
67661 2010-05-09  Jim Meyering  <meyering@redhat.com>
67663         verify: adjust formatting to be more consistent
67664         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
67665         argument-list '('s, and after one comma.
67667 2010-05-09  Bruno Haible  <bruno@clisp.org>
67669         error: More reliable output on mingw.
67670         * lib/error.c: Include <windows.h>.
67671         (is_open): New function.
67672         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
67673         defined.
67675 2010-05-09  Bruno Haible  <bruno@clisp.org>
67677         vasnprintf: Fix syntax errors in libintl build on mingw.
67678         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
67679         pad_ourselves and prec_ourselves after use.
67681 2010-05-08  Bruno Haible  <bruno@clisp.org>
67683         * lib/config.charset: Update comments for Cygwin 1.7.
67684         * lib/localcharset.c: Likewise.
67686 2010-05-07  Jim Meyering  <meyering@redhat.com>
67688         init.sh: improve comments
67689         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
67690         . "${srcdir=.}/init.sh"; path_prepend_ .
67691         Add a note about path_prepend_ and the alternative of using
67692         TESTS_ENVIRONMENT.
67694 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
67696         exclude: Unescape hashed patterns in wildcard mode.
67697         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
67698         to the hash list.
67699         * tests/test-exclude8.sh: New test case.
67700         * modules/exclude-tests: Add new test.
67702 2010-05-05  Eric Blake  <eblake@redhat.com>
67704         verify: automate tests
67705         * modules/verify-tests: New module.
67706         * tests/test-verify.sh: New file.
67707         * tests/test-verify.c: Guard each negative test with a unique id.
67708         Also avoid warning about unused left hand of comma expressions.
67710 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67712         Further improvements to verify.h, suggested by Eric Blake.
67713         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
67714         the GL_* versions, to avoid collision with OpenGL.
67715         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
67716         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
67717         than testing merely whether it's defined.
67719         Modify verify.h to pacify gcc -Wredundant_decls.
67720         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
67721         These use the prefix "GL_" since they're likely to be useful elsewhere.
67722         We may need to break them out into a different .h file.
67723         (__COUNTER__): Define to 0 if the compiler doesn't support it.
67724         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
67725         of verify_function__.
67727 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
67729         Tests for module pwrite.
67730         * modules/pwrite-tests: New file.
67731         * tests/test-pwrite.sh: New file.
67732         * tests/test-pwrite.c: New file.
67734         New module pwrite.
67735         * lib/unistd.in.h (pwrite): New declaration.
67736         * lib/pwrite.c: New file, from glibc with modifications.
67737         * m4/pwrite.m4: New file.
67738         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
67739         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
67740         REPLACE_PWRITE.
67741         * modules/pwrite: New file.
67742         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
67743         REPLACE_PWRITE.
67744         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
67745         * doc/posix-functions/pwrite.texi: Mention the new module.
67747 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
67749         pread: Update documentation.
67750         * doc/posix-functions/pread.texi: Mention the 'pread' module.
67752 2010-05-04  Eric Blake  <eblake@redhat.com>
67754         docs: update cygwin progress
67755         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
67756         this bug.
67757         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
67758         Added in cygwin 1.7.2.
67759         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
67760         Likewise.
67761         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
67762         Likewise.
67763         * doc/glibc-functions/dup3.texi (dup3): Likewise.
67764         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
67765         * doc/glibc-functions/accept4.texi (accept4): Likewise.
67766         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
67767         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
67768         Mention nproc module.
67769         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
67770         bug in cygwin 1.7.5 addition.
67771         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
67772         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
67773         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
67774         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
67775         1.7.5.
67776         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
67777         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
67778         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
67779         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
67780         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
67781         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
67782         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
67783         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
67784         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
67785         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
67786         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
67787         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
67788         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
67789         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
67790         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
67791         Likewise.
67792         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
67793         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
67794         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
67795         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
67796         Likewise.
67797         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
67798         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
67799         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
67800         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
67801         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
67802         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
67803         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
67804         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
67805         Likewise.
67806         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
67807         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
67808         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
67809         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
67810         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
67811         Likewise.
67812         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
67813         Likewise.
67814         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
67815         Likewise.
67816         * doc/glibc-functions/xdrrec_endofrecord.texi
67817         (xdrrec_endofrecord): Likewise.
67818         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
67819         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
67820         Likewise.
67821         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
67822         Likewise.
67824 2010-05-04  Jim Meyering  <meyering@redhat.com>
67826         gendocs.sh: make its "-s FILE" option more useful
67827         * build-aux/gendocs.sh: When honoring the -s FILE option, update
67828         $PACKAGE to reflect the probably-different basename of "FILE".
67830 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67832         bootstrap: don't ignore download_po_files failure
67833         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
67834         failure.
67836 2010-05-03  Jim Meyering  <meyering@redhat.com>
67838         maint.mk: allow to pass options to gendocs.sh
67839         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
67840         (gendocs_options_): New overridable variable.
67842         gnu-web-doc-update: don't ignore configure or build failure
67843         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
67845         announce-gen: backslash-escape '@'s in --help output
67846         * build-aux/announce-gen: Fix syntax errors.
67848         maint.mk, announce-gen: allow project-specific announcement mail headers
67849         * top/maint.mk (translation_project_): Define default.
67850         (announcement_Cc_, announcement_mail_headers_): Likewise.
67851         (announcement): Invoke announce-gen with new --mail-headers option.
67852         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
67854         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
67855         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
67856         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
67857         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
67858         line in the "err2" output file when running "make check" in verbose
67859         mode (i.e., with set -x enabled).
67861 2010-05-03  Bruno Haible  <bruno@clisp.org>
67863         wctob: Fix for weird platforms.
67864         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
67865         argument value.
67867 2010-05-03  Jim Meyering  <meyering@redhat.com>
67869         maint.mk: prohibit unwarranted use of <strings.h>
67870         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
67871         strings.h in a file that does not also use strcasecmp, strncasecmp,
67872         ffs or ffsll.
67874         maint.mk: remove obsolete comments
67875         * top/maint.mk: Remove stale, commented-out rules.
67877 2010-05-02  Bruno Haible  <bruno@clisp.org>
67879         wcwidth: Declare also when it's aliased.
67880         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
67881         macro.
67883 2010-05-02  Bruno Haible  <bruno@clisp.org>
67885         Fix regression from 2010-04-25.
67886         * gnulib-tool (func_modules_transitive_closure): Check the status of
67887         all modules, not only of the tests that are of the form foo-tests where
67888         foo is a module.
67890 2010-05-02  Bruno Haible  <bruno@clisp.org>
67892         wctob: Work around nasty Cygwin 1.7.2 bug.
67893         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
67894         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
67896 2010-05-01  Bruno Haible  <bruno@clisp.org>
67898         fpurge: Sharper test.
67899         * tests/test-fpurge.c (main): Add one more ftell check.
67900         * modules/fpurge-tests (Depends-on): Add ftell.
67901         Suggested by Eric Blake.
67903 2010-05-01  Bruno Haible  <bruno@clisp.org>
67905         ftello: Another test.
67906         * tests/test-ftello3.c: New file.
67907         * modules/ftello-tests (Files): Add it.
67908         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
67909         MOSTLYCLEANFILES.
67911         ftell: Another test.
67912         * tests/test-ftell3.c: New file.
67913         * modules/ftell-tests (Files): Add it.
67914         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
67915         MOSTLYCLEANFILES.
67917 2010-05-01  Bruno Haible  <bruno@clisp.org>
67919         ftell, ftello: Work around Solaris bug.
67920         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
67921         * lib/ftello.c: Include stdio-impl.h.
67922         (ftello): On Solaris, when _IOWRT is set, compute the result without
67923         looking at _IOREAD.
67924         * modules/ftello (Files): Add lib/stdio-impl.h.
67925         * doc/posix-functions/ftell.texi: Mention Solaris bug.
67926         * doc/posix-functions/ftello.texi: Likewise.
67927         Reported by Eric Blake.
67929 2010-05-01  Bruno Haible  <bruno@clisp.org>
67931         freading: Adapt to special meaning of _IOREAD flag on Solaris.
67932         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
67933         the _IOWRT flag is also set.
67935 2010-05-01  Bruno Haible  <bruno@clisp.org>
67937         Fix doc about a HP-UX stdio bug.
67938         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
67939         * doc/posix-functions/ftello.texi: Likewise.
67941 2010-05-01  Bruno Haible  <bruno@clisp.org>
67943         lseek test: Fix failure on Solaris.
67944         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
67945         output.
67947 2010-04-30  Jim Meyering  <meyering@redhat.com>
67949         bootstrap: don't ignore failure to generate po*/Makevars
67950         * build-aux/bootstrap (with_gettext): Don't ignore failure
67951         to create po/Makevars or runtime-po/Makevars.
67953 2010-04-29  Eric Blake  <eblake@redhat.com>
67955         headers: relax license to LGPLv2+
67956         * modules/fcntl-h (License): Relax license.
67957         * modules/getopt-posix (License): Likewise.
67958         * modules/locale (License): Likewise.
67959         * modules/math (License): Likewise.
67960         * modules/pty (License): Likewise.
67961         * modules/sched (License): Likewise.
67962         * modules/search (License): Likewise.
67963         * modules/spawn (License): Likewise.
67964         * modules/stdarg (License): Likewise.
67965         * modules/sysexits (License): Likewise.
67967 2010-04-29  Jim Meyering  <meyering@redhat.com>
67969         inttypes: relax license to LGPLv2+
67970         * modules/inttypes (License): Relax license.
67972 2010-04-29  Simon Josefsson  <simon@josefsson.org>
67974         * top/maint.mk (indent): Run twice to produce idempotent results.
67976 2010-04-28  Bruno Haible  <bruno@clisp.org>
67978         getdate: Generate getdate.c in the source directory.
67979         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
67980         MOSTLYCLEANFILES.
67981         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
67983 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
67985         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
67986         is not declared as a const *; avoid warnings in that case.
67988 2010-04-28  Eric Blake  <eblake@redhat.com>
67990         canonicalize-lgpl: avoid compiler warning
67991         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
67992         declaration' / 'extraneous semicolon' warning with some compilers.
67993         Reported by Andreas Gruenbacher.
67995 2010-04-28  Jim Meyering  <meyering@redhat.com>
67997         init.sh: ensure a more reliable exit status when exiting via trap
67998         * tests/init.sh (setup_): Don't rely on $? in signal handler.
67999         Inspired by patches from Dmitry V. Levin.
68000         Also trap on signal 3 (SIGQUIT).
68002 2010-04-27  Bruno Haible  <bruno@clisp.org>
68004         Update doc about utimes().
68005         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
68006         'utimens' module.
68007         Reported by Andreas Gruenbacher <agruen@suse.de>.
68009 2010-04-27  Eric Blake  <eblake@redhat.com>
68011         full-read, full-write: relax license
68012         * modules/full-read (License): Drop to LGPLv2+.
68013         * modules/full-write (License): Likewise.
68014         * modules/safe-read (License): Likewise.
68015         * modules/safe-write (License): Likewise.
68017         pthread: mention library for linking
68018         * modules/pthread (Link): Mention $(LIB_PTHREAD).
68020 2010-04-27  Jim Meyering  <meyering@redhat.com>
68022         maint.mk: fix a bug introduced in last change
68023         * top/maint.mk (gl_assured_headers_): Now that all names are on
68024         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
68025         is not anchored to end of word, it should be adequate.
68027         maint.mk: avoid side-effect in latest syntax-check
68028         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
68029         to run commands via $(shell...), and hence to incur cost only when
68030         the new rule is actually run.
68032         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
68033         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
68034         and use that to create a regexp used to detect all #if HAVE_..._H uses.
68035         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
68036         (gl_assured_headers_, az_, AZ_): Define.
68037         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
68039 2010-04-26  Jim Meyering  <jim@meyering.net>
68040             Bruno Haible  <bruno@clisp.org>
68042         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
68043         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
68044         Prompted by an exchange with Gilles Espinasse.
68046 2010-04-26  Jim Meyering  <meyering@redhat.com>
68048         git-version-gen: aesthetic tweak
68049         * build-aux/git-version-gen: Use "$nl" rather than a literal,
68050         so that the command remains on a single line.
68052 2010-04-26  Eric Blake  <eblake@redhat.com>
68054         git-version-gen: allow use on EBCDIC hosts
68055         * build-aux/git-version-gen (dirty): Use literal rather than tying
68056         ourselves to ascii.
68057         Reported by Steve Goetze.
68059 2010-04-25  Bruno Haible  <bruno@clisp.org>
68061         netdb: Add support for GNULIB_POSIXCHECK.
68062         * lib/netdb.in.h: Include warn-on-use.h.
68063         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
68064         functions are used when GNULIB_POSIXCHECK is defined and the
68065         getaddrinfo module is not in use.
68066         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
68067         freeaddrinfo, gai_strerror, getnameinfo are declared.
68068         * modules/netdb (Depends-on): Add warn-on-use.
68069         (Makefile.am): Include warn-on-use.h in netdb.h.
68071 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
68073         build: avoid "make check" failure without .git/ directory
68074         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
68075         there is no .git/ directory.
68077 2010-04-25  Bruno Haible  <bruno@clisp.org>
68079         ptsname: Fix misuse of ttyname_r.
68080         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
68081         of errno.
68083 2010-04-25  Bruno Haible  <bruno@clisp.org>
68085         ttyname_r: Make it work on Solaris 10.
68086         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
68087         if the system function has the POSIX declaration. Test whether the
68088         function fails if the buffer is less than 128 bytes large.
68089         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
68090         system's ttyname_r function. Provide a reasonably large buffer.
68091         * modules/ttyname_r (Depends-on): Add extensions.
68092         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
68094 2010-04-25  Bruno Haible  <bruno@clisp.org>
68096         Use the 'extensions' module for some more functions on Solaris.
68097         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
68098         module.
68099         * doc/posix-functions/ctime_r.texi: Likewise.
68100         * doc/posix-functions/getgrgid_r.texi: Likewise.
68101         * doc/posix-functions/getgrnam_r.texi: Likewise.
68102         * doc/posix-functions/getpwnam_r.texi: Likewise.
68103         * doc/posix-functions/getpwuid_r.texi: Likewise.
68104         * doc/posix-functions/readdir_r.texi: Likewise.
68105         * doc/posix-functions/sigwait.texi: Likewise.
68106         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
68107         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
68109 2010-04-25  Bruno Haible  <bruno@clisp.org>
68111         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
68112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
68113         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
68114         * lib/ttyname_r.c: Include <limits.h>.
68115         (ttyname_r): Define using the system's ttyname_r function, if it exists
68116         and not on Solaris.
68117         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
68118         set.
68119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
68120         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
68121         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
68122         Reported by Simon Josefsson.
68124 2010-04-25  Bruno Haible  <bruno@clisp.org>
68126         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
68127         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
68128         * doc/posix-functions/ctime_r.texi: Likewise.
68129         * doc/posix-functions/getgrgid_r.texi: Likewise.
68130         * doc/posix-functions/getgrnam_r.texi: Likewise.
68131         * doc/posix-functions/getlogin_r.texi: Likewise.
68132         * doc/posix-functions/getpwnam_r.texi: Likewise.
68133         * doc/posix-functions/getpwuid_r.texi: Likewise.
68134         * doc/posix-functions/readdir_r.texi: Likewise.
68135         * doc/posix-functions/sigwait.texi: Likewise.
68136         * doc/posix-functions/ttyname_r.texi: Likewise.
68137         Reported by Simon Josefsson.
68139 2010-04-25  Bruno Haible  <bruno@clisp.org>
68141         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
68142         * gnulib-tool (func_usage): Document that --with-*-tests options apply
68143         also to --create-testdir.
68144         (func_acceptable): Don't consider the status of *-tests modules here.
68145         (func_modules_transitive_closure): Consider it here, before including a
68146         test module.
68147         (func_import, func_create_testdir): Set inc_all_direct_tests,
68148         inc_all_indirect_tests.
68149         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
68150         --create-testdir and --create-megatestdir.
68152 2010-04-25  Bruno Haible  <bruno@clisp.org>
68154         gnulib-tool: Add --without-*-tests options.
68155         * gnulib-tool (func_usage): Document the --without-*-tests options.
68156         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
68157         excl_unportable_tests): New variables.
68158         Fail if they are specified with --import or --update.
68159         (func_acceptable): Respect the excl_*_tests variables.
68160         (func_import): Set the excl_*_tests variables to empty.
68162 2010-04-25  Simon Josefsson  <simon@josefsson.org>
68163             Bruno Haible  <bruno@clisp.org>
68165         Work around a MacOS X 10.4 bug with openpty.
68166         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
68167         * tests/test-openpty.c (main): Close the master side explicitly.
68169 2010-04-25  Bruno Haible  <bruno@clisp.org>
68171         strnlen: Fix a C++ test error on MacOS X and Solaris.
68172         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
68173         the function is not declared.
68174         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
68175         Simon Josefsson.
68177 2010-04-24  Bruno Haible  <bruno@clisp.org>
68179         Avoid a gcc warning.
68180         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
68181         of correct type for %08lx directive.
68182         Reported by Eric Blake.
68184 2010-04-24  Bruno Haible  <bruno@clisp.org>
68186         vasnprintf: Correct errno value in case of out-of-memory.
68187         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
68188         or sprintf. Use the errno value from SNPRINTF or sprintf.
68189         Reported by Ian Beckwith <ianb@erislabs.net>.
68191 2010-04-24  Bruno Haible  <bruno@clisp.org>
68193         ansi-c++-opt: Find correct compiler when cross-compiling.
68194         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
68195         AC_CHECK_PROGS.
68196         Reported by Simon Josefsson.
68198 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
68200         vc-list-files: Add support for subversion
68201         * build-aux/vc-list-files: Use "svn list" to generate the list of
68202         files controlled by subversion.
68204 2010-04-23  Jim Meyering  <meyering@redhat.com>
68206         vc-list-files tests: convert to use init.sh
68207         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
68208         path_prepend_.
68209         Use Exit, not exit.
68210         Use skip_ rather than open coding it.
68211         Remove trap set-up and compare definitions.
68212         * tests/test-vc-list-files-git.sh: Likewise.
68213         * modules/vc-list-files-tests (Files): Add tests/init.sh.
68215 2010-04-22  Simon Josefsson  <simon@josefsson.org>
68217         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
68218         backup files.
68220 2010-04-21  Simon Josefsson  <simon@josefsson.org>
68222         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
68224 2010-04-20  Eric Blake  <eblake@redhat.com>
68226         tests: be robust to ignored SIGPIPE
68227         * tests/test-select-in.sh: Consume all output.
68228         * tests/test-lseek.sh: Check correct exit status, while avoiding
68229         EPIPE.
68231 2010-04-20  Simon Josefsson  <simon@josefsson.org>
68232             Bruno Haible  <bruno@clisp.org>
68234         visibility: Don't use -fvisibility if it leads to a warning.
68235         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
68236         yes, don't pretend that visibility works if it leads to a warning.
68237         Reported by Mike Gran <spk121@yahoo.com>.
68239 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
68241         * build-aux/bootstrap: Use "git -h" for testing for supported options
68242         instead of "git --help".  The short-form option only shows a summary,
68243         and doesn't layout the full man page.  Grep for the full option name
68244         in the summary, too.
68246 2010-04-19  Bruno Haible  <bruno@clisp.org>
68248         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
68249         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
68250         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
68251         mention of RELOCATABLE_STRIP.
68252         Reported by Sylvain Beucler <beuc@beuc.net>.
68254 2010-04-19  Bruno Haible  <bruno@clisp.org>
68256         * lib/diffseq.h: Fix typo in comment.
68257         Reported by Eric Blake.
68259 2010-04-19  Bruno Haible  <bruno@clisp.org>
68261         ioctl: Move autoconf macro to a .m4 file.
68262         * m4/ioctl.m4: New file, extracted from modules/ioctl.
68263         * modules/ioctl (Files): Add it.
68264         (configure.ac): Simply invoke gl_FUNC_IOCTL.
68265         Reported by Ian Beckwith <ianb@erislabs.net>.
68267 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
68268             Bruno Haible  <bruno@clisp.org>
68270         diffseq: Accommodate use-case with abstract arrays.
68271         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
68272         is not defined.
68273         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
68274         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
68276 2010-04-18  Bruno Haible  <bruno@clisp.org>
68278         * doc/posix-headers/stdbool.texi: More precise wording.
68280 2010-04-17  Jim Meyering  <meyering@redhat.com>
68282         maint.mk: use gnu-style indentation in an embedded perl script
68283         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
68284         Rename variable: s/two/last_two_bytes/
68286 2010-04-16  Eric Blake  <eblake@redhat.com>
68288         test-stdbool: skip test that fails with Solaris CC
68289         * tests/test-stdbool.c (f): Skip test that causes compilation
68290         error under buggy C++ compiler.
68291         * lib/stdbool.in.h: Document the limitation.
68292         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
68294         setenv: allow compilation with C++
68295         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
68296         register keyword.
68298         stdint: allow test to pass with C++
68299         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
68301         getopt: allow compilation with C++
68302         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
68303         struct.
68304         * lib/getopt.c (_getopt_internal_r): Use correct type.
68305         Reported by Dagobert Michelson, via Joel E. Denny.
68307 2010-04-16  Bruno Haible  <bruno@clisp.org>
68309         Override netdb.h always.
68310         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
68311         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
68312         Reported by Ludovic Courtès <ludo@gnu.org>.
68314 2010-04-15  Bruno Haible  <bruno@clisp.org>
68316         openpty: Fix mistake from 2010-03-21.
68317         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
68318         Reported by Simon Josefsson.
68320 2010-04-15  Eric Blake  <eblake@redhat.com>
68322         test-forkpty: fix expected signature
68323         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
68324         Reported by Simon Josefsson.
68326 2010-04-15  Jim Meyering  <meyering@redhat.com>
68328         maint.mk: texinfo_suffix_re_: correct the default regexp
68329         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
68331         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
68332         make it configurable via texinfo_suffix_re_.
68334 2010-04-14  Eric Blake  <eblake@redhat.com>
68336         strtok_r: relax license to LGPLv2+
68337         * modules/strtok_r (License): Relax license.
68338         Reported by Matthias Bolte.
68340 2010-04-14  Simon Josefsson  <simon@josefsson.org>
68342         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
68343         version 1.4.4 by default instead of requiring the libgcrypt
68344         version used during build.  This makes it possible to use the
68345         application with older but still binary compatible libgcrypt
68346         versions.
68348 2010-04-13  Eric Blake  <eblake@redhat.com>
68350         getopt-gnu: match recent glibc fixes and posix ruling
68351         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
68352         '+' handling, when requesting extensions.
68353         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
68354         'W;' handling.
68355         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
68356         * doc/posix-functions/getopt.texi (getopt): Document this.
68357         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68358         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68359         Likewise.
68361         getopt: merge bug fixes from glibc
68362         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
68363         diagnostics.  Honor '+:' correctly.  Reject ';'.
68365         getopt-posix: detect MacOS bug
68366         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
68367         optind when missing a required argument.
68368         * doc/posix-functions/getopt.texi (getopt): Document the bug.
68369         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68370         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68371         Likewise.
68373         getopt-posix: avoid spurious failure on Solaris
68374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
68375         an indicator that setting optind=1 is sufficient for reset.
68377         getopt-posix: avoid spurious failure on FreeBSD
68378         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
68379         in POSIX mode, since the m4 test uses it.
68381         gnulib-tool: silence warning on BSD sh
68382         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
68384 2010-04-13  Jim Meyering  <meyering@redhat.com>
68386         doc: users.txt: GNU patch now uses gnulib
68387         * users.txt: Add patch.
68389 2010-04-12  Jim Meyering  <meyering@redhat.com>
68391         maint.mk: generate more concise timing data for syntax-check rules
68392         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
68393         " done" from each line that reports a syntax-check test duration.
68395 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
68397         git-version-gen: use "git update-index..." rather than "git status"
68398         * build-aux/git-version-gen: Use git update-index --refresh, not
68399         "git status".  With some versions of git, "git status" would fail
68400         to update the index and result in an unwarranted "-dirty" suffix.
68402 2010-04-11  Jim Meyering  <meyering@redhat.com>
68404         openat: correct formatting (no semantic change)
68405         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
68406         Suggested by Bruno Haible.
68408 2010-04-11  Bruno Haible  <bruno@clisp.org>
68410         Stricter declaration checking in testdirs.
68411         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68412         If for_tests is true, augment AM_CPPFLAGS to define
68413         GNULIB_STRICT_CHECKING.
68414         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
68415         GNULIB_STRICT_CHECKING is defined, verify that the function is
68416         declared.
68418 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
68419             Bruno Haible  <bruno@clisp.org>
68421         libunistring: Improve configure output.
68422         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
68423         Don't say "consider installing GNU libunistring" when checking again
68424         with libiconv.
68426 2010-04-11  Bruno Haible  <bruno@clisp.org>
68428         libunistring: Correct value of $LTLIBUNISTRING.
68429         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
68430         correct the value of $LTLIBUNISTRING.
68432 2010-04-11  Bruno Haible  <bruno@clisp.org>
68434         havelib: Add static libraries to LIBS in the right order.
68435         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
68436         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
68438 2010-04-11  Bruno Haible  <bruno@clisp.org>
68440         libunistring: Detect libunistring also when it depends on libiconv.
68441         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
68442         the second AC_LIB_HAVE_LINKFLAGS invocation.
68444 2010-04-11  James Youngman  <jay@gnu.org>
68446         close-stream: declare local scalars to be "const"
68447         * lib/close-stream.c (close_stream): Make boolean variables const
68448         to document the fact that we set but do not change them.
68450 2010-04-11  Bruno Haible  <bruno@clisp.org>
68452         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
68454 2010-04-11  Jim Meyering  <meyering@redhat.com>
68456         maint.mk: don't include dist-check.mk
68457         * top/maint.mk: Remove bogus include directive.
68459         maint.mk: improve empty-line-at-EOF check
68460         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
68461         solution, rather than tail+Perl-based one.  The latter would read
68462         a few kilobytes from the end of each file, and did not handle empty
68463         files properly.
68465         maint.mk: print the elapsed time for each syntax-check rule
68466         * top/maint.mk (sc_m_rules_): Save start time in a file.
68467         (sc_z_rules_): New rules: remove temp file and print elapsed time.
68468         (local-check): Interpose the .z rules
68470 2010-04-11  Jim Meyering  <meyering@redhat.com>
68472         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
68473         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
68474         empty file with one that ends in an empty line.
68476 2010-04-10  Bruno Haible  <bruno@clisp.org>
68478         mkdir: Make it work on mingw64.
68479         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
68480         * lib/mkdir.c: Update comment.
68481         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
68483 2010-04-10  Bruno Haible  <bruno@clisp.org>
68485         Don't override improved macro from newer autoconf.
68486         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
68487         autoconf >= 2.62.
68488         Reported by Joel E. Denny <jdenny@clemson.edu>.
68490 2010-04-10  Jim Meyering  <meyering@redhat.com>
68492         maint.mk: new syntax-check rule: prohibit empty lines at end of file
68493         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
68495         maint.mk: correct a diagnostic
68496         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
68497         in diagnostic; now use $prohibit.
68499 2010-04-10  Bruno Haible  <address@hidden>
68501         fchownat: Fix a C++ test error on Solaris 8.
68502         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
68503         the function does not exist.
68505 2010-04-10  Bruno Haible  <bruno@clisp.org>
68507         vasnprintf: Add more tests.
68508         * tests/test-vasnprintf-posix.c: Include <errno.h>.
68509         (test_function): Test converting an invalid wide string.
68511         vasnprintf: Correct handling of unconvertible wide string arguments.
68512         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
68513         VASNPRINTF.
68514         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
68515         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
68516         smaller than the expected maximum need for the directive. Set errno to
68517         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
68518         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
68519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
68520         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
68521         * modules/vasnprintf (Files): Add m4/printf.m4.
68522         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68524 2010-04-10  Bruno Haible  <bruno@clisp.org>
68526         vasnprintf: Fix crash in %ls directive.
68527         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
68528         string is passed as argument to %ls, with no precision and no width.
68529         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68531 2010-04-10  Bruno Haible  <bruno@clisp.org>
68533         vasnprintf: Fix multiple test failures on mingw.
68534         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
68535         _snprintf, or snwprintf, not _snwprintf.
68537 2010-04-10  Bruno Haible  <bruno@clisp.org>
68539         write: Fix a C++ test error on mingw.
68540         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
68542 2010-04-10  Bruno Haible  <bruno@clisp.org>
68544         vasnprintf test: Reduce code duplication.
68545         * tests/test-vasnprintf.c (test_function): New function, extracted from
68546         test_vasnprintf.
68547         (test_vasnprintf, test_asnprintf): Invoke it.
68549 2010-04-10  Bruno Haible  <bruno@clisp.org>
68551         strnlen: Fix warning in C++ mode on MacOS X.
68552         * lib/string.in.h (strnlen): Use the modern idiom.
68553         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
68554         defining strnlen as a macro already in <config.h>.
68555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68556         REPLACE_STRNLEN.
68557         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
68558         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68560 2010-04-08  James Youngman  <jay@gnu.org>
68562         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
68563         the example.
68565 2010-04-09  Jim Meyering  <meyering@redhat.com>
68567         maint.mk: print better diagnostic when there is no $(_hv_file)
68568         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
68569         announce that when $(_hv_file) (aka help-version) does not exist.
68571         init.sh: run tr in the "C" locale to avoid multibyte interpretation
68572         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
68573         not try to interpret its random input bytes.  Jarno Rajahalme reported
68574         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
68575         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
68576         (mktempd_): Likewise, just in case.
68578         ftruncate: add two years to projected module removal date: 2012
68579         * m4/ftruncate.m4: Adjust comments.
68581         ftruncate: mark module as obsolete; even MinGW provides it, now
68582         * modules/ftruncate (Status): Obsolete.
68583         (Notice): Say that.
68584         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
68585         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
68587 2010-04-08  Bruno Haible  <bruno@clisp.org>
68589         Fix side effects from tests-related modules.
68590         * modules/dprintf-posix (Comment): New section.
68591         * modules/fprintf-posix (Comment): Likewise.
68592         * modules/obstack-printf-posix (Comment): Likewise.
68593         * modules/printf-posix (Comment): Likewise.
68594         * modules/snprintf-posix (Comment): Likewise.
68595         * modules/sprintf-posix (Comment): Likewise.
68596         * modules/vasnprintf-posix (Comment): Likewise.
68597         * modules/vasprintf-posix (Comment): Likewise.
68598         * modules/vdprintf-posix (Comment): Likewise.
68599         * modules/vfprintf-posix (Comment): Likewise.
68600         * modules/vprintf-posix (Comment): Likewise.
68601         * modules/vsnprintf-posix (Comment): Likewise.
68602         * modules/vsprintf-posix (Comment): Likewise.
68603         * modules/xprintf-posix (Comment): Likewise.
68604         * modules/xvasprintf-posix (Comment): Likewise.
68605         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
68606         * modules/floorf-tests (Depends-on): Likewise.
68607         * modules/round-tests (Depends-on): Likewise.
68608         * modules/roundf-tests (Depends-on): Likewise.
68609         * modules/trunc-tests (Depends-on): Likewise.
68610         * modules/truncf-tests (Depends-on): Likewise.
68611         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
68612         'fprintf-posix' module is not present.
68613         * tests/test-floorf2.c (check): Likewise.
68614         * tests/test-trunc2.c (check): Likewise.
68615         * tests/test-truncf2.c (check): Likewise.
68616         * tests/test-round2.c (equal): Likewise.
68617         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68619 2010-04-07  Karl Berry  <karl@gnu.org>
68621         * config/srclist.txt,
68622         * config/srclistvars.sh,
68623         * config/srclist-update: doc fixes.
68625 2010-04-07  Jim Meyering  <meyering@redhat.com>
68627         maint.mk: add a PATH crosschecking syntax-check rule
68628         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
68629         Useful if you use a test like the one in help-version (coreutils,
68630         diffutils, grep, gzip) that ensures $(VERSION) matches what is
68631         printed by prog --version.
68633 2010-04-06  Bruno Haible  <bruno@clisp.org>
68635         Fix link error on mingw.
68636         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
68637         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
68639 2010-04-06  Bruno Haible  <bruno@clisp.org>
68641         Assume rmdir exists.
68642         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
68644 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
68646         doc: update users.txt
68647         * users.txt: Add gcal.
68649 2010-04-06  Jim Meyering  <meyering@redhat.com>
68651         init.sh: simply unset TMPDIR rather than risking env -i
68652         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
68653         although it probably works fine on all Unix-based systems, some
68654         systems (Cygwin?) cannot tolerate a totally cleared environment.
68655         Suggestion from Eric Blake.
68657 2010-04-06  Jim Meyering  <meyering@redhat.com>
68659         init.sh: portability fix: use env's POSIX-specified -i option not -u
68660         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
68661         than unportable env -u.  Solaris 5.11's env lacks support for -u.
68663 2010-04-05  Bruno Haible  <bruno@clisp.org>
68665         btowc: Work around Cygwin 1.7.2 bug.
68666         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
68667         does not map NUL to 0.
68668         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
68670 2010-04-05  Bruno Haible  <bruno@clisp.org>
68672         Make the multithread modules work on Cygwin 1.7.2.
68673         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
68674         imported symbols can be declared weak, so that it returns "no" on
68675         Cygwin 1.7.2.
68677 2010-04-05  Bruno Haible  <bruno@clisp.org>
68679         Use the module 'strncat'.
68680         * modules/unistr/u8-strncat (Depends-on): Add strncat.
68682         Tests for module 'strncat'.
68683         * modules/strncat-tests: New file.
68684         * tests/test-strncat.c: New file.
68686         New module 'strncat'.
68687         * lib/string.in.h (strncat): New declaration.
68688         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
68689         * m4/strncat.m4: New file, based on m4/memchr.m4.
68690         * modules/strncat: New file.
68691         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
68692         is declared.
68693         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
68694         REPLACE_STRNCAT.
68695         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
68696         REPLACE_STRNCAT.
68697         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
68698         module.
68699         * tests/test-string-c++.cc: Check signature of strncat.
68701 2010-04-05  Jim Meyering  <meyering@redhat.com>
68703         xstrtoumax-tests: convert to use init.sh
68704         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
68705         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68706         Use Exit, not exit.
68707         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68709         xstrtoimax-tests: convert to use init.sh
68710         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
68711         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68712         Use Exit, not exit.
68713         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68715 2010-04-05  Bruno Haible  <bruno@clisp.org>
68717         sys_socket: Avoid #define replacements in C++ mode.
68718         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
68719         warning to the function if possible, rather than #defining the symbol
68720         to a dysfunctional alias.
68722 2010-04-05  Bruno Haible  <bruno@clisp.org>
68724         fseeko: Fix C++ test error on mingw.
68725         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
68726         gl_FUNC_FSEEKO.
68727         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
68728         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
68729         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
68730         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
68732 2010-04-05  Bruno Haible  <bruno@clisp.org>
68734         duplocale: Improve test output.
68735         * tests/test-duplocale.c (main): Print reason for skipped test.
68737 2010-04-05  Bruno Haible  <bruno@clisp.org>
68739         Assume rmdir exists.
68740         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
68741         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
68743 2010-04-05  Bruno Haible  <bruno@clisp.org>
68745         Fix link error on Solaris 8 with cc.
68746         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
68748 2010-04-05  Bruno Haible  <bruno@clisp.org>
68750         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
68751         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
68753 2010-04-05  Bruno Haible  <bruno@clisp.org>
68755         vasprintf: Update documentation.
68756         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
68758 2010-04-05  Bruno Haible  <bruno@clisp.org>
68760         ptsname: Improve test.
68761         * tests/test-ptsname.c (main): Also try the various master names of BSD
68762         systems.
68764 2010-04-05  Bruno Haible  <bruno@clisp.org>
68766         memchr: Avoid a possible C++ test error.
68767         * lib/string.in.h (memchr): Provide declaration if function is missing.
68768         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
68769         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
68770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
68771         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
68773 2010-04-05  Bruno Haible  <bruno@clisp.org>
68775         strtok_r: Improve idiom.
68776         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
68777         AC_LIBOBJ is used.
68779 2010-04-05  Bruno Haible  <bruno@clisp.org>
68781         strdup: Improve idiom.
68782         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
68783         AC_LIBOBJ is used.
68784         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
68785         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
68786         when AC_LIBOBJ is used.
68788 2010-04-05  Bruno Haible  <bruno@clisp.org>
68790         mbsinit, mbrtowc, wcrtomb: Improve idioms.
68791         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
68792         don't set REPLACE_MBSINIT to 1.
68793         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
68794         don't set REPLACE_MBRTOWC to 1.
68795         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
68796         exist, don't set REPLACE_MBSRTOWCS to 1.
68797         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
68798         exist, don't set REPLACE_MBSNRTOWCS to 1.
68799         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
68800         don't set REPLACE_WCRTOMB to 1.
68801         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
68802         exist, don't set REPLACE_WCSRTOMBS to 1.
68803         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
68804         exist, don't set REPLACE_WCSNRTOMBS to 1.
68806 2010-04-05  Bruno Haible  <bruno@clisp.org>
68808         ldexpl: Improve idiom.
68809         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
68810         make sure to set HAVE_DECL_LDEXPL to 0.
68812 2010-04-05  Jim Meyering  <meyering@redhat.com>
68814         xstrtol-tests: convert to use init.sh
68815         * modules/xstrtol-tests (Files): Add tests/init.sh.
68816         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68817         Use Exit, not exit.
68818         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68820         atexit-tests: convert to use init.sh
68821         * modules/atexit-tests (Files): Add tests/init.sh.
68822         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
68823         Use Exit, not exit.
68824         Remove uses of $EXEEXT and "./" to run a program in the current dir.
68826         init.sh: fix typo
68827         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
68829         init.sh: make it easier for a test script to write to the tty, ...
68830         when using automake's parallel-tests mode.
68831         * tests/init.sh (stderr_fileno_): Define overridable variable.
68832         (warn_): New function, to use it.
68833         (fail_, skip_, framework_failure_): Use warn_.
68835 2010-04-04  Bruno Haible  <bruno@clisp.org>
68837         btowc: Avoid warning.
68838         * lib/btowc.c: Include <stdlib.h>.
68839         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
68841 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
68842             Bruno Haible  <bruno@clisp.org>
68844         wchar: Port to NetBSD 1.5.
68845         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
68846         * lib/wctype.in.h (WEOF): Likewise.
68848 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
68849             Bruno Haible  <bruno@clisp.org>
68851         Port extended stdio to NetBSD 1.5.
68852         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
68853         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
68854         older.
68856 2010-04-04  Bruno Haible  <bruno@clisp.org>
68858         string: Remove unused substitution.
68859         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
68860         HAVE_DECL_STRERROR.
68861         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
68863 2010-04-04  Bruno Haible  <bruno@clisp.org>
68865         strtod: Avoid a possible C++ test error.
68866         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
68867         set REPLACE_STRTOD.
68869 2010-04-04  Bruno Haible  <bruno@clisp.org>
68871         strerror: Update documentation.
68872         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
68874 2010-04-04  Bruno Haible  <bruno@clisp.org>
68876         stdio: Fix some C++ test errors on Solaris 8 with GCC.
68877         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
68878         _GL_CXXALIAS_SYS_CAST.
68880 2010-04-04  Bruno Haible  <bruno@clisp.org>
68882         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
68883         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
68884         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
68885         REPLACE_FREXPL to 1.
68886         * doc/posix-functions/frexpl.texi: Update documentation.
68888 2010-04-04  Bruno Haible  <bruno@clisp.org>
68890         math: Fix some C++ test errors on Solaris 8 and Cygwin.
68891         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
68893 2010-04-04  Bruno Haible  <bruno@clisp.org>
68895         Implement nanosleep for native Windows.
68896         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
68898 2010-04-04  Bruno Haible  <bruno@clisp.org>
68900         math: Fix some C++ test errors on Solaris 8.
68901         * lib/math.in.h (truncf, trunc): Use simpler idiom.
68903 2010-04-04  Bruno Haible  <bruno@clisp.org>
68905         math: Fix some C++ test errors on Cygwin.
68906         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
68907         truncl): Provide declaration if the system does not have it.
68908         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
68909         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
68910         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
68911         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
68912         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
68913         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
68914         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
68915         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
68916         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
68917         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
68918         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
68919         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
68920         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
68921         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
68922         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
68923         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
68924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
68925         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
68926         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
68927         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
68928         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
68929         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
68931 2010-04-04  Bruno Haible  <bruno@clisp.org>
68933         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
68934         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
68935         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
68936         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
68937         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68938         * m4/isinf.m4 (gl_ISINF): Likewise.
68939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
68941 2010-04-04  Bruno Haible  <bruno@clisp.org>
68943         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
68944         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
68946 2010-04-04  Bruno Haible  <bruno@clisp.org>
68948         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
68949         * modules/tmpfile (configure.ac): Update.
68951         tmpfile: Fix C++ test error on mingw.
68952         * lib/stdio.in.h (tmpfile): New declaration.
68953         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
68954         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
68955         * modules/tmpfile (Depends-on): Add stdio.
68956         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68957         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
68958         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
68959         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
68960         REPLACE_TMPFILE.
68961         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
68963 2010-04-04  Bruno Haible  <bruno@clisp.org>
68965         ioctl: Fix C++ test error on mingw.
68966         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
68967         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
68968         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
68970 2010-04-03  Bruno Haible  <bruno@clisp.org>
68972         wcwidth: Fix C++ test error on mingw.
68973         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
68974         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
68975         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
68977 2010-04-03  Bruno Haible  <bruno@clisp.org>
68979         nanosleep: Fix C++ test error on mingw.
68980         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
68981         * lib/time.in.h (nanosleep): Use modern idiom.
68982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
68983         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
68984         REPLACE_NANOSLEEP to 1.
68985         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
68986         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
68988 2010-04-03  Bruno Haible  <bruno@clisp.org>
68990         strptime: Fix C++ test error on mingw.
68991         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
68992         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
68993         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
68994         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
68995         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
68996         not REPLACE_STRPTIME.
68997         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
68998         REPLACE_STRPTIME.
69000 2010-04-03  Bruno Haible  <bruno@clisp.org>
69002         timegm: Fix C++ test error on mingw.
69003         * lib/time.in.h (timegm): Use modern idiom.
69004         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
69005         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
69006         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
69007         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
69009 2010-04-03  Bruno Haible  <bruno@clisp.org>
69011         timegm: Assume declaration if function exists.
69012         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
69013         if it exists. Don't clobber ac_cv_func_timegm.
69015 2010-04-03  Bruno Haible  <bruno@clisp.org>
69017         time_r: Fix C++ test error on mingw.
69018         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
69019         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
69020         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
69021         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
69022         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
69024 2010-04-03  Bruno Haible  <bruno@clisp.org>
69026         time_r: Minor updates.
69027         * modules/time_r (Description): Mention the provided functions.
69028         * lib/time_r.c: Don't include <string.h>.
69029         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
69030         * doc/posix-functions/localtime_r.texi: Likewise.
69032 2010-04-03  Bruno Haible  <bruno@clisp.org>
69034         time: Fix regression introduced on 2010-03-08.
69035         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
69036         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
69038 2010-04-03  Jim Meyering  <meyering@redhat.com>
69040         maint.mk: don't silently disable project-specific syntax-check rules
69041         * top/maint.mk (_prohibit_regexp): Define, to help people realize
69042         that they need to convert their project-specific syntax-check rules
69043         to use the new _sc_search_regexp.
69045 2010-04-03  Bruno Haible  <bruno@clisp.org>
69047         fchdir: Fix regression introduced on 2010-03-08.
69048         * lib/unistd.in.h (fchdir): Fix declaration.
69049         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
69050         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
69051         REPLACE_FCHDIR.
69052         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
69053         REPLACE_FCHDIR.
69055 2010-04-03  Bruno Haible  <bruno@clisp.org>
69057         getpagesize: Fix C++ test error on mingw.
69058         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
69059         system does not declare the function.
69060         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
69061         declared.
69062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69063         HAVE_DECL_GETPAGESIZE.
69064         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
69066 2010-04-03  Bruno Haible  <bruno@clisp.org>
69068         stdio: Make C++ tests work on mingw.
69069         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
69070         does not declare the function.
69072 2010-04-03  Bruno Haible  <bruno@clisp.org>
69074         ftello: Fix C++ test error on mingw.
69075         * lib/stdio.in.h (ftello): Use modern idiom.
69076         * lib/ftello.c (ftello): Renamed from rpl_ftello.
69077         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
69078         is missing and that it needs to be replaced.
69079         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
69080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
69081         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
69083 2010-04-03  Bruno Haible  <bruno@clisp.org>
69085         fseeko: Fix C++ test error on mingw.
69086         * lib/stdio.in.h (fseeko): Use modern idiom.
69087         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
69088         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
69089         is missing and that it needs to be replaced.
69090         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
69091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
69092         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
69094 2010-04-03  Bruno Haible  <bruno@clisp.org>
69096         mkstemp: Fix C++ test error on mingw.
69097         * lib/stdlib.in.h (mkstemp): Use modern idiom.
69098         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
69099         function is missing and that it needs to be replaced.
69100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
69101         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
69103 2010-04-03  Bruno Haible  <bruno@clisp.org>
69105         stpncpy: Fix C++ test error on mingw.
69106         * lib/string.in.h (stpncpy): Use modern idiom.
69107         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
69108         function is missing and that it needs to be replaced.
69109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69110         REPLACE_STPNCPY.
69111         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
69113 2010-04-03  Bruno Haible  <bruno@clisp.org>
69115         sys_stat: Fix C++ test error on mingw.
69116         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
69117         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
69119 2010-04-03  Bruno Haible  <bruno@clisp.org>
69121         pty: Update doc.
69122         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
69124 2010-04-03  Bruno Haible  <bruno@clisp.org>
69126         unistd: Fix C++ test error on mingw.
69127         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
69129 2010-04-03  Bruno Haible  <bruno@clisp.org>
69131         Update doc regarding mingw.
69132         * doc/glibc-functions/openpty.texi: Update regarding mingw.
69133         * doc/glibc-functions/login_tty.texi: Likewise.
69134         * doc/glibc-functions/forkpty.texi: Likewise.
69136 2010-04-03  Bruno Haible  <bruno@clisp.org>
69138         stdlib: Avoid compilation failure of c-strtold on mingw.
69139         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
69141 2010-04-03  Bruno Haible  <bruno@clisp.org>
69143         locale: Make C++ tests work on Cygwin and mingw.
69144         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
69145         cannot provide the function.
69146         Reported by Simon Josefsson.
69148 2010-04-03  Bruno Haible  <bruno@clisp.org>
69150         localename: Port to MacOS X 10.6.
69151         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
69152         memory layout of the locales in MacOS X 10.6 as well.
69153         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
69155 2010-04-02  Bruno Haible  <bruno@clisp.org>
69157         gnulib-tool: Ensure that long-running tests are executed last.
69158         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
69159         running tests after the one for the other tests.
69161 2010-04-02  Bruno Haible  <bruno@clisp.org>
69163         gnulib-tool: Ensure the tests in the main directory are executed first.
69164         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
69165         start with the current directory.
69167 2010-04-02  Bruno Haible  <bruno@clisp.org>
69169         Tests for module 'havelib', moved here from GNU gettext.
69170         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
69171         modifications.
69172         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
69173         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
69174         with modifications.
69175         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
69176         modifications.
69177         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
69178         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
69179         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
69180         with modifications.
69181         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
69182         with modifications.
69183         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
69184         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
69185         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
69186         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
69187         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
69188         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
69189         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
69190         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
69191         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
69192         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
69193         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
69194         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
69195         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
69196         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
69197         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
69198         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
69199         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
69200         with modifications.
69201         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
69202         with modifications.
69203         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
69204         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
69205         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
69206         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
69207         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
69208         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
69209         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
69210         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
69211         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
69212         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
69213         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
69214         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
69215         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
69216         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
69217         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
69218         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
69219         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
69220         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
69221         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
69222         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
69223         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
69224         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
69225         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
69226         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
69227         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
69228         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
69229         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
69230         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
69231         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
69232         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
69233         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
69234         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
69235         * tests/havelib/rpathx/rpathx.c: New file, from
69236         gettext/autoconf-lib-link.
69237         * tests/havelib/rpathx/Makefile.am: New file, from
69238         gettext/autoconf-lib-link.
69239         * tests/havelib/rpathx/configure.ac: New file, from
69240         gettext/autoconf-lib-link with modifications.
69241         * tests/havelib/rpathy/rpathy.c: New file, from
69242         gettext/autoconf-lib-link.
69243         * tests/havelib/rpathy/Makefile.am: New file, from
69244         gettext/autoconf-lib-link.
69245         * tests/havelib/rpathy/configure.ac: New file, from
69246         gettext/autoconf-lib-link with modifications.
69247         * tests/havelib/rpathz/rpathz.c: New file, from
69248         gettext/autoconf-lib-link.
69249         * tests/havelib/rpathz/Makefile.am: New file, from
69250         gettext/autoconf-lib-link.
69251         * tests/havelib/rpathz/configure.ac: New file, from
69252         gettext/autoconf-lib-link with modifications.
69253         * tests/havelib/rpathlx/usex.c: New file, from
69254         gettext/autoconf-lib-link.
69255         * tests/havelib/rpathlx/Makefile.am: New file, from
69256         gettext/autoconf-lib-link.
69257         * tests/havelib/rpathlx/configure.ac: New file, from
69258         gettext/autoconf-lib-link with modifications.
69259         * tests/havelib/rpathly/usey.c: New file, from
69260         gettext/autoconf-lib-link.
69261         * tests/havelib/rpathly/Makefile.am: New file, from
69262         gettext/autoconf-lib-link.
69263         * tests/havelib/rpathly/configure.ac: New file, from
69264         gettext/autoconf-lib-link with modifications.
69265         * tests/havelib/rpathlz/usez.c: New file, from
69266         gettext/autoconf-lib-link.
69267         * tests/havelib/rpathlz/Makefile.am: New file, from
69268         gettext/autoconf-lib-link.
69269         * tests/havelib/rpathlz/configure.ac: New file, from
69270         gettext/autoconf-lib-link with modifications.
69271         * tests/havelib/rpathlyx/usey.c: New file, from
69272         gettext/autoconf-lib-link.
69273         * tests/havelib/rpathlyx/Makefile.am: New file, from
69274         gettext/autoconf-lib-link.
69275         * tests/havelib/rpathlyx/configure.ac: New file, from
69276         gettext/autoconf-lib-link with modifications.
69277         * tests/havelib/rpathlzyx/usez.c: New file, from
69278         gettext/autoconf-lib-link.
69279         * tests/havelib/rpathlzyx/Makefile.am: New file, from
69280         gettext/autoconf-lib-link.
69281         * tests/havelib/rpathlzyx/configure.ac: New file, from
69282         gettext/autoconf-lib-link with modifications.
69283         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
69284         with modifications.
69286 2010-04-02  Bruno Haible  <bruno@clisp.org>
69288         gnulib-tool: Create distributed built sources also for the tests.
69289         * gnulib-tool (func_create_testdir): Also generate distributed built
69290         sources in the tests directory.
69292 2010-04-02  Bruno Haible  <bruno@clisp.org>
69294         gnulib-tool: Obey user's environment variables.
69295         * gnulib-tool (func_create_testdir): When creating built sources,
69296         respect the environment variables for autoconf, automake, etc. given by
69297         the user.
69299 2010-04-02  Bruno Haible  <bruno@clisp.org>
69301         gnulib-tool: Provide the value of --m4-base to modules.
69302         * gnulib-tool (func_import, func_create_testdir): Emit a definition
69303         of gl_m4_base.
69305 2010-04-02  Eric Blake  <eblake@redhat.com>
69307         maint.mk: fix some fallout
69308         * NEWS: Document the incompatible change, and its effect on cfg.mk.
69309         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
69311 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69313         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
69314         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
69315         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
69316         (sc_cast_of_x_alloc_return_value): Likewise.
69317         (sc_cast_of_alloca_return_value): Likewise.
69318         (sc_space_tab): Likewise.
69319         (sc_prohibit_atoi_atof): Likewise.
69320         (sc_prohibit_magic_number_exit): Likewise.
69321         (sc_error_exit_success): Likewise.
69322         (sc_file_system): Likewise.
69323         (sc_prohibit_have_config_h): Likewise.
69324         (sc_require_config_h): Likewise.
69325         (sc_prohibit_HAVE_MBRTOWC): Likewise.
69326         (sc_obsolete_symbols): Likewise.
69327         (sc_changelog): Likewise.
69328         (sc_program_name): Likewise.
69329         (sc_the_the): Likewise.
69330         (sc_trailing_blank): Likewise.
69331         (sc_two_space_separator_in_usage): Likewise.
69332         (sc_useless_cpp_parens): Likewise.
69333         (sc_GPL_version): Likewise.
69334         (sc_GFDL_version): Likewise.
69335         (sc_texinfo_acronym): Likewise.
69336         (sc_prohibit_cvs_keyword): Likewise.
69337         (sc_prohibit_stat_st_blocks): Likewise.
69338         (sc_prohibit_S_IS_definition): Likewise.
69339         (sc_redundant_const): Likewise.
69340         (sc_makefile_TAB_only_indentation): Likewise.
69341         (sc_m4_quote_check): Likewise.
69342         (sc_makefile_path_separator_check): Likewise.
69343         (sc_copyright_check): Likewise.
69344         (sc_Wundef_boolean): Likewise.
69345         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
69347         maint.mk: match 0 or more whitespace-before-function-call '('
69348         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
69349         that have zero or two-and-more spaces between the function name
69350         and the open parenthesis.
69351         (sc_error_message_warn_fatal): Likewise.
69352         (sc_error_message_uppercase): Likewise.
69353         (sc_error_message_period): Likewise.
69355 2010-03-31  Eric Blake  <eblake@redhat.com>
69357         maint.mk: check for [ as well as test
69358         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
69359         Based on a libvirt report by Matthias Bolte.
69361         gnumakefile: don't squelch _version output
69362         * top/GNUmakefile (_version): Create one-shot dependency rather
69363         than using $(shell) when version must be regenerated.
69364         (_autoreconf): Run verbosely, by default.
69366         sys_time: avoid compiler warnings
69367         * lib/sys_time.in.h (includes): Ensure gcc pragma is
69368         unconditional, fixing regression from 2010-03-29.
69369         Reported by Simon Josefsson.
69371 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69373         maint.mk: s/_header_without_use/_sc_header_without_use/
69374         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
69375         (sc_prohibit_assert_without_use): Use the new name.
69376         (sc_prohibit_close_stream_without_use): Likewise.
69377         (sc_prohibit_getopt_without_use): Likewise.
69378         (sc_prohibit_quotearg_without_use): Likewise.
69379         (sc_prohibit_quote_without_use): Likewise.
69380         (sc_prohibit_long_options_without_use): Likewise.
69381         (sc_prohibit_inttostr_without_use): Likewise.
69382         (sc_prohibit_ignore_value_without_use): Likewise.
69383         (sc_prohibit_error_without_use): Likewise.
69384         (sc_prohibit_xalloc_without_use): Likewise.
69385         (sc_prohibit_hash_without_use): Likewise.
69386         (sc_prohibit_hash_pjw_without_use): Likewise.
69387         (sc_prohibit_safe_read_without_use): Likewise.
69388         (sc_prohibit_argmatch_without_use): Likewise.
69389         (sc_prohibit_canonicalize_without_use): Likewise.
69390         (sc_prohibit_root_dev_ino_without_use): Likewise.
69391         (sc_prohibit_openat_without_use): Likewise.
69392         (sc_prohibit_c_ctype_without_use): Likewise.
69393         (sc_prohibit_signal_without_use): Likewise.
69394         (sc_prohibit_intprops_without_use): Likewise.
69396 2010-03-30  Eric Blake  <eblake@redhat.com>
69398         maint: improve module indicators
69399         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
69400         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
69401         columns, and avoid extra macro expansion.
69403         fdopendir: work around FreeBSD bug
69404         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
69405         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
69406         * modules/dirent (Makefile.am): Substitute it.
69407         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
69408         declaration.
69409         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
69410         fix.
69411         Reported by Christian Weisgerber <naddy@mips.inka.de>.
69413 2010-03-29  Bruno Haible  <bruno@clisp.org>
69415         Emit #pragma system_header after the inclusion guard, not before.
69416         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
69417         guard that spans the entire file, not before. This enables an
69418         optimization in GCC's preprocessor.
69419         * lib/ctype.in.h: Likewise.
69420         * lib/dirent.in.h: Likewise.
69421         * lib/errno.in.h: Likewise.
69422         * lib/float.in.h: Likewise.
69423         * lib/getopt.in.h: Likewise.
69424         * lib/iconv.in.h: Likewise.
69425         * lib/langinfo.in.h: Likewise.
69426         * lib/locale.in.h: Likewise.
69427         * lib/math.in.h: Likewise.
69428         * lib/netdb.in.h: Likewise.
69429         * lib/netinet_in.in.h: Likewise.
69430         * lib/pty.in.h: Likewise.
69431         * lib/sched.in.h: Likewise.
69432         * lib/se-selinux.in.h: Likewise.
69433         * lib/search.in.h: Likewise.
69434         * lib/spawn.in.h: Likewise.
69435         * lib/stdarg.in.h: Likewise.
69436         * lib/stdint.in.h: Likewise.
69437         * lib/string.in.h: Likewise.
69438         * lib/strings.in.h: Likewise.
69439         * lib/sys_file.in.h: Likewise.
69440         * lib/sys_ioctl.in.h: Likewise.
69441         * lib/sys_time.in.h: Likewise.
69442         * lib/sys_times.in.h: Likewise.
69443         * lib/sys_utsname.in.h: Likewise.
69444         * lib/sys_wait.in.h: Likewise.
69445         * lib/sysexits.in.h: Likewise.
69446         * lib/wctype.in.h: Likewise.
69448 2010-03-28  James Youngman  <jay@gnu.org>
69450         save-cwd: don't leak a file descriptor when the caller execs.
69451         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
69452         saved file descriptor.
69453         * modules/save-cwd (Depends-on): Depend on cloexec.
69455 2010-03-29  Bruno Haible  <bruno@clisp.org>
69457         Remove vestiges of fts-lgpl module.
69458         * lib/fts_.h: Assume GNULIB_FTS is 1.
69459         * lib/fts.c: Likewise.
69460         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69462 2010-03-28  Bruno Haible  <bruno@clisp.org>
69464         Fix definition of tests witness macro.
69465         * gnulib-tool (func_import): Fix definition of witness macro.
69467 2010-03-28  Bruno Haible  <bruno@clisp.org>
69469         Fix ioctl's protoype on glibc systems.
69470         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
69471         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
69472         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
69473         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
69474         signature. If not, arrange to replace the ioctl function.
69475         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
69476         REPLACE_IOCTL.
69477         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
69478         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
69479         Reported by Ludovic Courtès <ludo@gnu.org>.
69481 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
69483         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
69484         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
69485         made it so grep -r --include=GLOB* ... did not work.
69487 2010-03-26  Jim Meyering  <meyering@redhat.com>
69488             Eric Blake  <eblake@redhat.com>
69490         maint.mk: prohibit use of test's -o and -a operators
69491         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
69493 2010-03-28  Bruno Haible  <bruno@clisp.org>
69495         Remove unused GNULIB_XYZ macro definitions.
69496         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
69497         invocation.
69499 2010-03-28  Bruno Haible  <bruno@clisp.org>
69501         Mark privileged tests modules.
69502         * modules/idpriv-drop-tests (Status): New section.
69503         * modules/idpriv-droptemp-tests (Status): New section.
69505 2010-03-28  Bruno Haible  <bruno@clisp.org>
69507         Split C++ tests into separate tests modules.
69508         * modules/dirent-c++-tests: New file, extracted from
69509         modules/dirent-tests.
69510         * modules/dirent-tests: Depend on it.
69511         * modules/fcntl-h-c++-tests: New file, extracted from
69512         modules/fcntl-h-tests.
69513         * modules/fcntl-h-tests: Depend on it.
69514         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
69515         * modules/glob-tests: Depend on it.
69516         * modules/iconv-h-c++-tests: New file, extracted from
69517         modules/iconv-h-tests.
69518         * modules/iconv-h-tests: Depend on it.
69519         * modules/langinfo-c++-tests: New file, extracted from
69520         modules/langinfo-tests.
69521         * modules/langinfo-tests: Depend on it.
69522         * modules/locale-c++-tests: New file, extracted from
69523         modules/locale-tests.
69524         * modules/locale-tests: Depend on it.
69525         * modules/math-c++-tests: New file, extracted from modules/math-tests.
69526         * modules/math-tests: Depend on it.
69527         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
69528         * modules/pty-tests: Depend on it.
69529         * modules/search-c++-tests: New file, extracted from
69530         modules/search-tests.
69531         * modules/search-tests: Depend on it.
69532         * modules/signal-c++-tests: New file, extracted from
69533         modules/signal-tests.
69534         * modules/signal-tests: Depend on it.
69535         * modules/spawn-c++-tests: New file, extracted from
69536         modules/spawn-tests.
69537         * modules/spawn-tests: Depend on it.
69538         * modules/stdio-c++-tests: New file, extracted from
69539         modules/stdio-tests.
69540         * modules/stdio-tests: Depend on it.
69541         * modules/stdlib-c++-tests: New file, extracted from
69542         modules/stdlib-tests.
69543         * modules/stdlib-tests: Depend on it.
69544         * modules/string-c++-tests: New file, extracted from
69545         modules/string-tests.
69546         * modules/string-tests: Depend on it.
69547         * modules/sys_ioctl-c++-tests: New file, extracted from
69548         modules/sys_ioctl-tests.
69549         * modules/sys_ioctl-tests: Depend on it.
69550         * modules/sys_select-c++-tests: New file, extracted from
69551         modules/sys_select-tests.
69552         * modules/sys_select-tests: Depend on it.
69553         * modules/sys_socket-c++-tests: New file, extracted from
69554         modules/sys_socket-tests.
69555         * modules/sys_socket-tests: Depend on it.
69556         * modules/sys_stat-c++-tests: New file, extracted from
69557         modules/sys_stat-tests.
69558         * modules/sys_stat-tests: Depend on it.
69559         * modules/sys_time-c++-tests: New file, extracted from
69560         modules/sys_time-tests.
69561         * modules/sys_time-tests: Depend on it.
69562         * modules/time-c++-tests: New file, extracted from modules/time-tests.
69563         * modules/time-tests: Depend on it.
69564         * modules/unistd-c++-tests: New file, extracted from
69565         modules/unistd-tests.
69566         * modules/unistd-tests: Depend on it.
69567         * modules/wchar-c++-tests: New file, extracted from
69568         modules/wchar-tests.
69569         * modules/wchar-tests: Depend on it.
69570         * modules/wctype-c++-tests: New file, extracted from
69571         modules/wctype-tests.
69572         * modules/wctype-tests: Depend on it.
69573         Reported by Simon Josefsson.
69575 2010-03-28  Bruno Haible  <bruno@clisp.org>
69577         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
69578         * gnulib-tool (func_exists_module): New function, extracted from
69579         func_verify_module.
69580         (func_verify_module): Use it.
69581         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
69582         'foo' only if 'foo' exists.
69583         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
69584         module.
69586 2010-03-28  Bruno Haible  <bruno@clisp.org>
69588         gnulib-tool: Add support for special categories of tests.
69589         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
69590         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
69591         (func_usage): Document them.
69592         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
69593         inc_unportable_tests, inc_all_tests): New variables.
69594         (func_acceptable): Consider these variables.
69595         (func_modules_transitive_closure): Make it work when the 'Status' field
69596         consists of multiple words.
69597         (func_import): Store and restore the values of inc_cxx_tests,
69598         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
69599         inc_all_tests in gnulib-comp.m4.
69600         (func_create_testdir): Set inc_all_tests to true.
69601         * doc/gnulib.texi (Extra tests modules): New section.
69602         Suggested by Jim Meyering.
69604 2010-03-28  Bruno Haible  <bruno@clisp.org>
69606         ansi-c++-opt: Allow turning off the C++ build by default.
69607         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
69608         gl_CXX_CHOICE_DEFAULT_NO is defined.
69609         Requested by Eric Blake.
69611 2010-03-28  Bruno Haible  <bruno@clisp.org>
69613         unistd: Avoid #define replacements in C++ mode.
69614         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
69615         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
69616         setsockopt, shutdown, select): In C++, attach a warning to the function
69617         if possible, rather than #defining the symbol to a dysfunctional alias.
69618         Reported by John W. Eaton <jwe@gnu.org>.
69620 2010-03-28  Bruno Haible  <bruno@clisp.org>
69622         Fix link errors on mingw.
69623         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
69624         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
69625         $(LIBSOCKET).
69626         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
69627         $(LIBSOCKET).
69629 2010-03-28  Bruno Haible  <bruno@clisp.org>
69630             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69632         lib-ignore: Determine different options for different compilers.
69633         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
69634         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
69635         Add comments.
69636         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
69637         * NEWS: Mention the change.
69639 2010-03-27  Bruno Haible  <bruno@clisp.org>
69641         Remove unused GNULIB_XYZ macro definitions.
69642         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69643         * modules/fseek (configure.ac): Likewise.
69644         * modules/ioctl (configure.ac): Likewise.
69645         * modules/open (configure.ac): Likewise.
69646         * modules/stdlib-safer (configure.ac): Likewise.
69648 2010-03-27  Bruno Haible  <bruno@clisp.org>
69650         Add a remark about certain modules.
69651         * modules/malloc (Comment): New section.
69652         * modules/realloc (Comment): Likewise.
69653         * modules/sigpipe (Comment): Likewise.
69655 2010-03-27  Bruno Haible  <bruno@clisp.org>
69657         Resolve conflict between the two kinds of module indicators.
69658         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
69659         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
69660         * modules/canonicalize (configure.ac): Invoke
69661         gl_MODULE_INDICATOR_FOR_TESTS.
69662         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
69663         GNULIB_XYZ.
69664         * tests/test-dirent-c++.cc: Likewise.
69665         * tests/test-dirent-safer.c: Likewise.
69666         * tests/test-dup2.c: Likewise.
69667         * tests/test-fchdir.c: Likewise.
69668         * tests/test-fcntl-h-c++.cc: Likewise.
69669         * tests/test-getopt.c: Likewise.
69670         * tests/test-getopt.h: Likewise.
69671         * tests/test-langinfo-c++.cc: Likewise.
69672         * tests/test-locale-c++.cc: Likewise.
69673         * tests/test-math-c++.cc: Likewise.
69674         * tests/test-pty-c++.cc: Likewise.
69675         * tests/test-search-c++.cc: Likewise.
69676         * tests/test-signal-c++.cc: Likewise.
69677         * tests/test-spawn-c++.cc: Likewise.
69678         * tests/test-stdio-c++.cc: Likewise.
69679         * tests/test-stdlib-c++.cc: Likewise.
69680         * tests/test-string-c++.cc: Likewise.
69681         * tests/test-sys_ioctl-c++.cc: Likewise.
69682         * tests/test-sys_select-c++.cc: Likewise.
69683         * tests/test-sys_socket-c++.cc: Likewise.
69684         * tests/test-sys_stat-c++.cc: Likewise.
69685         * tests/test-sys_time-c++.cc: Likewise.
69686         * tests/test-time-c++.cc: Likewise.
69687         * tests/test-unistd-c++.cc: Likewise.
69688         * tests/test-wchar-c++.cc: Likewise.
69689         * tests/uninorm/test-u8-nfc.c: Likewise.
69690         * tests/uninorm/test-u8-nfd.c: Likewise.
69691         * tests/uninorm/test-u8-nfkc.c: Likewise.
69692         * tests/uninorm/test-u8-nfkd.c: Likewise.
69693         * tests/uninorm/test-u16-nfc.c: Likewise.
69694         * tests/uninorm/test-u16-nfd.c: Likewise.
69695         * tests/uninorm/test-u16-nfkc.c: Likewise.
69696         * tests/uninorm/test-u16-nfkd.c: Likewise.
69697         * tests/uninorm/test-u32-nfc.c: Likewise.
69698         * tests/uninorm/test-u32-nfc-big.c: Likewise.
69699         * tests/uninorm/test-u32-nfd.c: Likewise.
69700         * tests/uninorm/test-u32-nfd-big.c: Likewise.
69701         * tests/uninorm/test-u32-nfkc.c: Likewise.
69702         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
69703         * tests/uninorm/test-u32-nfkd.c: Likewise.
69704         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
69705         * tests/uninorm/test-u32-normalize-big.c: Likewise.
69707 2010-03-27  Bruno Haible  <bruno@clisp.org>
69709         Distinguish two kinds of module indicators.
69710         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
69711         gl_MODULE_INDICATOR.
69712         (gl_MODULE_INDICATOR): New macro.
69713         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
69714         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
69715         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
69716         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
69717         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
69718         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
69719         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
69720         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
69721         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
69722         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
69723         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
69724         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
69725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
69726         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
69727         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
69728         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
69729         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
69730         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
69731         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
69732         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
69733         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
69734         * modules/cloexec (configure.ac): Likewise.
69735         * modules/getopt-gnu (configure.ac): Likewise.
69736         * modules/uninorm/u8-normalize (configure.ac): Likewise.
69737         * modules/uninorm/u16-normalize (configure.ac): Likewise.
69738         * modules/uninorm/u32-normalize (configure.ac): Likewise.
69739         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
69741 2010-03-27  Bruno Haible  <bruno@clisp.org>
69743         New module description field 'Comment'.
69744         * gnulib-tool: New option --extract-comment.
69745         (func_usage): Document it.
69746         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
69747         (func_get_comment): New function.
69748         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
69750 2010-03-27  Bruno Haible  <bruno@clisp.org>
69752         Addendum to 2010-02-07 commit.
69753         * gnulib-tool (func_usage): Document --extract-applicability option.
69755 2010-03-27  Bruno Haible  <bruno@clisp.org>
69757         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
69758         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
69759         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
69760         rather than link errors.
69762 2010-03-27  Bruno Haible  <bruno@clisp.org>
69764         Avoid side effects from tests-related modules on the compilation of lib.
69765         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
69766         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
69767         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
69768         parameter. Emit into AM_CPPFLAGS a definition of the designated C
69769         macro.
69770         (func_import): Define a witness macro. Assign it a value that depends
69771         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
69772         tests-related modules.
69773         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
69774         Reported by Jim Meyering.
69776 2010-03-27  Bruno Haible  <bruno@clisp.org>
69778         Factorize common .m4 code.
69779         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
69780         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
69781         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
69782         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
69783         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
69784         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
69785         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
69786         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
69787         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
69788         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
69789         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
69790         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
69791         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
69792         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
69793         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
69794         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
69795         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
69796         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
69797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
69798         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
69799         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
69800         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
69801         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
69802         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
69803         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
69804         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
69805         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
69806         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
69807         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
69808         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
69809         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
69810         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
69812 2010-03-27  Bruno Haible  <bruno@clisp.org>
69814         Fix a compilation error on Cygwin with g++ >= 4.3.
69815         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
69816         if it is undefined or if we alias it to chmod.
69817         (lstat): Don't warn about the use of this function if it is undefined
69818         or if we alias it to stat.
69819         Reported by Simon Josefsson.
69821 2010-03-27  Bruno Haible  <bruno@clisp.org>
69823         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
69824         * modules/getlogin (configure.ac): Update.
69826         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
69827         * modules/getlogin_r (configure.ac): Update.
69829         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
69830         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
69831         * modules/inet_ntop (configure.ac): Update.
69833         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
69834         * modules/inet_pton (configure.ac): Update.
69836         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
69837         * modules/mbslen (configure.ac): Update.
69839         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
69840         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
69841         * modules/forkpty (configure.ac): Update.
69842         * modules/openpty (configure.ac): Update.
69844 2010-03-26  Simon Josefsson  <simon@josefsson.org>
69846         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
69847         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
69849 2010-03-25  Eric Blake  <eblake@redhat.com>
69851         maint: use pragma consistently across replacement headers
69852         * lib/ctype.in.h (system_header): Hoist for consistent placement.
69853         * lib/dirent.in.h (system_header): Likewise.
69854         * lib/errno.in.h (system_header): Likewise.
69855         * lib/float.in.h (system_header): Likewise.
69856         * lib/getopt.in.h (system_header): Likewise.
69857         * lib/iconv.in.h (system_header): Likewise.
69858         * lib/inttypes.in.h (system_header): Likewise.
69859         * lib/langinfo.in.h (system_header): Likewise.
69860         * lib/locale.in.h (system_header): Likewise.
69861         * lib/math.in.h (system_header): Likewise.
69862         * lib/netdb.in.h (system_header): Likewise.
69863         * lib/netinet_in.in.h (system_header): Likewise.
69864         * lib/pty.in.h (system_header): Likewise.
69865         * lib/sched.in.h (system_header): Likewise.
69866         * lib/se-selinux.in.h (system_header): Likewise.
69867         * lib/search.in.h (system_header): Likewise.
69868         * lib/spawn.in.h (system_header): Likewise.
69869         * lib/stdarg.in.h (system_header): Likewise.
69870         * lib/stdint.in.h (system_header): Likewise.
69871         * lib/string.in.h (system_header): Likewise.
69872         * lib/strings.in.h (system_header): Likewise.
69873         * lib/sys_file.in.h (system_header): Likewise.
69874         * lib/sys_ioctl.in.h (system_header): Likewise.
69875         * lib/sys_socket.in.h (system_header): Likewise.
69876         * lib/sys_times.in.h (system_header): Likewise.
69877         * lib/sys_utsname.in.h (system_header): Likewise.
69878         * lib/sys_wait.in.h (system_header): Likewise.
69879         * lib/sysexits.in.h (system_header): Likewise.
69880         * lib/unistd.in.h (system_header): Likewise.
69881         * lib/wctype.in.h (system_header): Likewise.
69883         arpa/inet: fix mingw compilation warning
69884         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
69885         Reported by Matthew Bolte.
69887 2010-03-25  Bruno Haible  <bruno@clisp.org>
69889         Avoid collision between gnulib wrapper and libintl wrapper.
69890         * lib/printf.c (printf): Don't define if a printf wrapper is already
69891         defined in intl/printf.c.
69892         Reported by Michel Boaventura <michel@michelboaventura.com>.
69894 2010-03-25  Bruno Haible  <bruno@clisp.org>
69896         Use ANSI C.
69897         * lib/readutmp.h (getutent): Provide ANSI C prototype.
69899 2010-03-25  Bruno Haible  <bruno@clisp.org>
69901         Minor formatting changes.
69902         * lib/acosl.c: Insert space before function argument list.
69903         * lib/argz.c: Likewise.
69904         * lib/asinl.c: Likewise.
69905         * lib/expl.c: Likewise.
69906         * lib/gen-uni-tables.c: Likewise.
69907         * lib/gettext.h: Likewise.
69908         * lib/glthread/lock.h: Likewise.
69909         * lib/tanl.c: Likewise.
69910         * lib/uniname/uniname.c: Likewise.
69911         * tests/test-idpriv-drop.c: Likewise.
69912         * tests/test-idpriv-droptemp.c: Likewise.
69913         * tests/test-lock.c: Likewise.
69914         * tests/test-tls.c: Likewise.
69915         * lib/argp-help.c: Insert space before function-like macro argument
69916         list.
69917         * lib/memcmp.c: Likewise.
69918         * tests/test-base64.c: Likewise.
69919         * lib/localename.c: Insert space before sizeof's argument list.
69920         * lib/safe-alloc.h: Likewise.
69921         * lib/file-set.h: Insert space before macro argument list.
69922         * tests/test-argp.c: Likewise.
69923         * lib/argp-namefrob.h: Insert space before function parameter list.
69924         * lib/getaddrinfo.c: Likewise.
69925         * lib/netdb.in.h: Likewise.
69926         * lib/parse-duration.h: Likewise.
69927         * lib/parse-duration.c: Likewise.
69928         * lib/poll.c: Likewise.
69929         * lib/select.c: Likewise.
69930         * lib/trim.h: Likewise.
69931         * tests/test-usleep.c: Likewise.
69932         * lib/ldexpl.c: Insert space before function parameter list and before
69933         function argument list.
69934         * lib/logl.c: Likewise.
69935         * lib/sqrtl.c: Likewise.
69936         * lib/trim.c: Likewise.
69937         * lib/cosl.c: Use GNU style indentation. Insert space before function
69938         argument list.
69939         * lib/sinl.c: Likewise.
69940         * lib/tsearch.c: Insert space after 'for'.
69941         Reported by Jim Meyering.
69943 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
69945         * maint.mk (sc_Wundef_boolean): Check for the presence of the
69946         config header before grepping, as it's not present before
69947         autoreconf/configure are run.  Reported by Simon Josefsson.
69949 2010-03-23  Bruno Haible  <bruno@clisp.org>
69951         pt_chown: Make it work with automake < 1.11.
69952         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
69953         Reported by Simon Josefsson.
69955 2010-03-23  Bruno Haible  <bruno@clisp.org>
69957         pt_chown: Don't depend on GPLed modules.
69958         * lib/pt_chown.c: Don't include idpriv.h.
69959         (main): Don't drop privileges.
69960         * modules/pt_chown (Depends-on): Remove idpriv-drop.
69961         Reported by Simon Josefsson.
69963 2010-03-24  Simon Josefsson  <simon@josefsson.org>
69965         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
69966         suggestions from karl@freefriends.org (Karl Berry).
69968 2010-03-22  Eric Blake  <eblake@redhat.com>
69970         gethostname: further tweaks
69971         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
69972         are overriding gethostname.
69973         Suggested by Bruno Haible.
69975 2010-03-21  Bruno Haible  <bruno@clisp.org>
69977         Fix comments.
69978         * lib/forkpty.c (rpl_forkpty): Fix comment.
69979         * lib/openpty.c (rpl_openpty): Likewise.
69980         Reported by Eric Blake.
69982 2010-03-22  Eric Blake  <eblake@redhat.com>
69984         gethostname: fix build on mingw
69985         * lib/unistd.in.h (includes): Work around fact that mingw
69986         <winsock2.h> re-includes <unistd.h>, by avoiding any
69987         redeclarations if we are being included by <winsock2.h>.
69988         Reported by Matthias Bolte.
69990 2010-03-21  Bruno Haible  <bruno@clisp.org>
69992         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
69993         * lib/forkpty.c (forkpty): New replacement function, from glibc with
69994         modifications.
69995         * lib/pty.in.h (forkpty): Update declaration. Add comments.
69996         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
69997         provide the replacement.
69998         * modules/forkpty (Depends-on): Add openpty, login_tty.
69999         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
70000         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
70001         * doc/glibc-functions/forkpty.texi: More supported platforms.
70002         * config/srclist.txt: Add forkpty.c (commented).
70004 2010-03-21  Bruno Haible  <bruno@clisp.org>
70006         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
70007         (Makefile.am): Verify that PTY_LIB is defined.
70009         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
70011 2010-03-21  Bruno Haible  <bruno@clisp.org>
70013         Tests for module 'login_tty'.
70014         * modules/login_tty-tests: New file.
70015         * tests/test-login_tty.c: New file.
70017         New module 'login_tty'.
70018         * lib/login_tty.c: New file.
70019         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
70020         * modules/login_tty: New file.
70021         * doc/glibc-functions/login_tty.texi: Mention the new module.
70023 2010-03-21  Bruno Haible  <bruno@clisp.org>
70025         login_tty: Documentation.
70026         * doc/glibc-functions/login_tty.texi: New file.
70027         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
70029 2010-03-21  Bruno Haible  <bruno@clisp.org>
70031         pty: Consistent macro naming.
70032         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
70033         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
70034         * modules/pty (configure.ac): Update.
70036 2010-03-21  Bruno Haible  <bruno@clisp.org>
70038         Tests for openpty: Make stricter.
70039         * tests/test-openpty.c (main): Add test of canonical processing and
70040         erase.
70041         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
70043         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70044         * lib/openpty.c (openpty): New replacement function.
70045         * lib/pty.in.h: Include <termios.h>.
70046         (openpty): Update declaration. Add comments.
70047         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
70048         is not declared, arrange to provide the replacement. Check for _getpty
70049         and posix_openpt.
70050         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
70051         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
70052         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
70053         * modules/pty-tests (test_pty_c___LDADD): New variable.
70054         * doc/glibc-functions/openpty.texi: More supported platforms.
70056 2010-03-21  Bruno Haible  <bruno@clisp.org>
70058         setenv: Tweaks.
70059         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
70060         the test program.
70061         * doc/posix-functions/setenv.texi: Update platforms list.
70063 2010-03-21  Bruno Haible  <bruno@clisp.org>
70065         New module 'unlockpt'.
70066         * lib/unlockpt.c: New file, from glibc with modifications.
70067         * m4/unlockpt.m4: New file.
70068         * modules/unlockpt: New file.
70069         * lib/stdlib.in.h (unlockpt): New declaration.
70070         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
70071         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
70072         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
70073         HAVE_UNLOCKPT.
70074         * doc/posix-functions/unlockpt.texi: Mention the new module.
70075         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
70076         * config/srclist.txt: Add unlockpt.c (commented).
70078 2010-03-21  Jim Meyering  <meyering@redhat.com>
70080         maint.mk: prohibit inclusion of "intprops.h" without use
70081         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
70083 2010-03-21  Bruno Haible  <bruno@clisp.org>
70085         New module 'grantpt'.
70086         * lib/grantpt.c: New file, from glibc with modifications.
70087         * m4/grantpt.m4: New file.
70088         * modules/grantpt: New file.
70089         * lib/stdlib.in.h (grantpt): New declaration.
70090         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
70091         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
70092         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
70093         HAVE_GRANTPT.
70094         * doc/posix-functions/grantpt.texi: Mention the new module.
70095         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
70096         * config/srclist.txt: Add grantpt.c (commented).
70098 2010-03-21  Bruno Haible  <bruno@clisp.org>
70100         New module 'pt_chown'.
70101         * lib/pt_chown.c: New file, from glibc with modifications.
70102         * lib/pty-private.h: New file, from glibc with modifications.
70103         * modules/pt_chown: New file.
70104         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
70106 2010-03-21  Bruno Haible  <bruno@clisp.org>
70108         Tests for module 'ptsname'.
70109         * modules/ptsname-tests: New file.
70110         * tests/test-ptsname.c: New file.
70112         New module 'ptsname'.
70113         * lib/ptsname.c: New file, from glibc with modifications.
70114         * m4/ptsname.m4: New file.
70115         * modules/ptsname: New file.
70116         * lib/stdlib.in.h (ptsname): New declaration.
70117         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
70118         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
70119         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
70120         HAVE_PTSNAME.
70121         * doc/posix-functions/ptsname.texi: Mention the new module.
70122         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
70123         * config/srclist.txt: Add ptsname.c (commented).
70125 2010-03-21  Bruno Haible  <bruno@clisp.org>
70127         Tests for module 'ttyname_r'.
70128         * modules/ttyname_r-tests: New file.
70129         * tests/test-ttyname_r.c: New file.
70131         New module 'ttyname_r'.
70132         * lib/ttyname_r.c: New file.
70133         * m4/ttyname_r.m4: New file.
70134         * modules/ttyname_r: New file.
70135         * lib/unistd.in.h (ttyname_r): New declaration.
70136         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
70137         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
70138         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
70139         HAVE_TTYNAME_R.
70140         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
70141         * doc/posix-functions/ttyname_r.texi: Mention the new module.
70143 2010-03-20  Bruno Haible  <bruno@clisp.org>
70145         signal: Undefine macro definitions in C++ mode.
70146         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
70147         sigfillset): Undefine macro definitions from the system header in C++
70148         mode.
70149         Reported by John W. Eaton <jwe@gnu.org>.
70151 2010-03-20  Bruno Haible  <bruno@clisp.org>
70153         Ensure no #include statements inside extern "C" { ... }.
70154         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
70155         contain #include statements.
70156         * lib/time.in.h: Likewise.
70158 2010-03-20  Bruno Haible  <bruno@clisp.org>
70160         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
70161         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
70162         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
70163         Reported by John W. Eaton <jwe@gnu.org>.
70165 2010-03-20  Bruno Haible  <bruno@clisp.org>
70167         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
70168         Reported by Jim Meyering.
70170 2010-03-20  Bruno Haible  <bruno@clisp.org>
70172         pipe: Set errno upon failure.
70173         * lib/pipe.h: Specify that when -1 is returned, errno is set.
70174         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
70175         errno value in error message.
70177 2010-03-20  Bruno Haible  <bruno@clisp.org>
70178             Jim Meyering  <meyering@redhat.com>
70180         lchown: Avoid "unused variable" warning.
70181         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
70183 2010-03-20  Bruno Haible  <bruno@clisp.org>
70185         Work around unlink() bug on MacOS X 10.5.6.
70186         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
70187         attempting to unlink a parent directory.
70188         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
70189         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
70190         activate for the replacement function.
70191         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
70193 2010-03-20  Bruno Haible  <bruno@clisp.org>
70195         Fix link errors on Solaris 8.
70196         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
70197         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
70199 2010-03-19  Jim Meyering  <meyering@redhat.com>
70201         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
70202         The _LIBC implementation of build_range_exp correctly honors the
70203         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
70204         However, the non-_LIBC implementation would ignore that syntax-bit
70205         flag and return REG_ERANGE unconditionally.
70206         This change makes it honor that flag.
70207         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
70208         Make two pointer parameters "const".
70209         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
70210         (parse_bracket_exp): Update caller.
70212         regex.m4: correct the reversed range endpoint ([b-a]) test
70213         * m4/regex.m4: When requiring that [b-a] evoke failure,
70214         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
70215         test pass once again for x86-based systems.
70217 2010-03-19  Bruno Haible  <bruno@clisp.org>
70219         scandir: Fix link error on Solaris 8.
70220         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
70221         macros.
70223 2010-03-19  Bruno Haible  <bruno@clisp.org>
70225         getusershell: Fix documentation.
70226         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
70227         module.
70228         * doc/glibc-functions/setusershell.texi: Likewise.
70230         getusershell: Provide declaration, missing on Solaris 9.
70231         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
70232         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
70233         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
70234         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
70235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70236         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
70237         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
70238         HAVE_GETUSERSHELL.
70239         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
70241 2010-03-19  Bruno Haible  <bruno@clisp.org>
70243         wctype: Provide iswblank function.
70244         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
70245         exists and is fine.
70246         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
70247         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
70248         * tests/test-wctype.c (main): Re-enable the iswblank tests.
70249         * doc/posix-functions/iswblank.texi: Update.
70251 2010-03-19  Bruno Haible  <bruno@clisp.org>
70253         Tests of module 'pty' in C++ mode.
70254         * modules/pty-tests: New file.
70255         * tests/test-pty-c++.cc: New file.
70256         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70258 2010-03-19  Eric Blake  <eblake@redhat.com>
70260         logb: fix documentation
70261         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
70262         1.5 declaration bug.
70264         forkpty, openpty: prefer glibc's const-safe prototype
70265         * lib/forkpty.c (rpl_forkpty): New file.
70266         * lib/openpty.c (rpl_openpty): Likewise.
70267         * modules/forkpty (Files): Distribute it.
70268         * modules/openpty (Files): Likewise.
70269         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
70270         check...
70271         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
70272         replacement for non-const BSD signature.
70273         * modules/pty (Makefile.am): Substitute witnesses.
70274         * lib/pty.in.h (forkpty, openpty): Declare replacements.
70275         * tests/test-forkpty.c: Update signature check.
70276         * tests/test-openpty.c: Likewise.
70277         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
70278         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70280         forkpty, openpty: split functions into new modules
70281         * modules/pty (Makefile.am): Substitute new witnesses.
70282         (Libraries): Move library detection...
70283         * modules/forkpty: ...into new module.
70284         * modules/openpty: Another new module.
70285         * modules/pty-tests: Rename and split...
70286         * modules/forkpty-tests: ...to this...
70287         * modules/openpty-tests: ...and this.
70288         * tests/test-pty.c: Rename and split...
70289         * tests/test-forkpty.c: ...to this...
70290         * tests/test-openpty.c: ...and this.
70291         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
70292         (gl_PTY): Split library searching...
70293         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
70294         (gl_FORKPTY, gl_OPENPTY): New macros.
70295         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
70296         * NEWS: Mention the split.
70297         * MODULES.html.sh (Misc): Document the modules.
70298         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
70299         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70301         pty: improve replacement header
70302         * lib/pty.in.h: New file.
70303         * modules/pty (Files): Ship it.
70304         (Makefile.am): Always build replacement.
70305         * m4/pty.m4: Rename...
70306         * m4/pty_h.m4: ...to this.
70307         (gl_PTY): Modernize setting of witness macros; update check of
70308         forkpty to take proper advantage of cache.
70309         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
70311         getopt: avoid compiler warning
70312         * lib/getopt.c (attribute_hidden): Remove unused macro.
70314 2010-03-18  Bruno Haible  <bruno@clisp.org>
70316         Fix link errors on Solaris 8.
70317         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
70318         * modules/search-tests (test_search_c___LDADD): Likewise.
70319         * modules/signal-tests (test_signal_c___LDADD): Likewise.
70320         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
70321         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
70322         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
70323         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
70324         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
70325         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
70327 2010-03-18  Bruno Haible  <bruno@clisp.org>
70329         Fix bug introduced on 2010-03-14.
70330         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
70331         (gl_SPAWN_H): Require it.
70332         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
70333         Reported by Simon Josefsson.
70335 2010-03-18  Bruno Haible  <bruno@clisp.org>
70337         Fix typo introduced on 2009-12-31.
70338         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
70339         posix_spawn_file_actions_adddup2.
70341 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
70342         and Eric Blake  <eblake@redhat.com>
70344         test-vc-list-files-git: make more robust
70345         * tests/test-vc-list-files-git.sh: Unset problematic environment
70346         variables.  Chain commands together.
70348 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
70350         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
70351         `AC_CHECK_DECL' invocation.
70353 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
70355         * lib/inttostr.c (inttostr): Make sure the invocation of verify
70356         appears before executable statements. Suggested by Petr Sumbera
70357         <Petr.Sumbera@Sun.COM>.
70359 2010-03-14  Bruno Haible  <bruno@clisp.org>
70361         * tests/test-flock.c (test_exclusive): Comment out a test that causes
70362         portability problems. Instead use a simpler test.
70363         (main): Check that invalid arguments are rejected only on Linux.
70365 2010-03-14  Bruno Haible  <bruno@clisp.org>
70367         Fix bug introduced on 2009-12-31.
70368         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
70369         gl_PREREQ_SYS_H_WINSOCK2 always.
70370         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
70371         SYS_SOCKET_H variable.
70372         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
70373         Update comments.
70374         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
70375         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
70376         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
70377         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
70378         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
70380 2010-03-14  Bruno Haible  <bruno@clisp.org>
70382         Fix values returned by sinl, cosl.
70383         * lib/trigl.h: Add specification comments.
70384         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
70385         that combines the values from the precomputed table with the values of
70386         the Chebyshev polynomials.
70388 2010-03-14  Bruno Haible  <bruno@clisp.org>
70390         Fix compilation error when modules 'posix_spawn[p]' are not used.
70391         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
70392         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
70394 2010-03-14  Bruno Haible  <bruno@clisp.org>
70396         Fix compilation error on mingw when module 'time_r' is not used.
70397         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
70398         is 1.
70399         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
70400         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70401         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
70402         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
70404 2010-03-14  Bruno Haible  <bruno@clisp.org>
70406         Fix compilation error with Sun C.
70407         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
70408         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
70409         instead of GCC specific ULONG_LONG_MAX.
70410         * lib/xstrtoll.c: Likewise.
70411         * lib/xstrtoull.c: Likewise.
70413 2010-03-13  Bruno Haible  <bruno@clisp.org>
70415         Allow the user to disable C++ code and tests.
70416         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
70417         (gl_PROG_ANSI_CXX): Require it.
70419 2010-03-13  Bruno Haible  <bruno@clisp.org>
70421         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
70422         cases.
70424 2010-03-13  Bruno Haible  <bruno@clisp.org>
70426         Test that gnulib does not break the standard C++ headers.
70427         * tests/test-locale-c++2.cc: New file.
70428         * modules/locale-tests (Files): Add it.
70429         (Makefile.am): Compile it for test-locale-c++.
70430         * tests/test-math-c++2.cc: New file.
70431         * modules/math-tests (Files): Add it.
70432         (Makefile.am): Compile it for test-math-c++.
70433         * tests/test-signal-c++2.cc: New file.
70434         * modules/signal-tests (Files): Add it.
70435         (Makefile.am): Compile it for test-signal-c++.
70436         * tests/test-stdio-c++2.cc: New file.
70437         * modules/stdio-tests (Files): Add it.
70438         (Makefile.am): Compile it for test-stdio-c++.
70439         * tests/test-stdlib-c++2.cc: New file.
70440         * modules/stdlib-tests (Files): Add it.
70441         (Makefile.am): Compile it for test-stdlib-c++.
70442         * tests/test-string-c++2.cc: New file.
70443         * modules/string-tests (Files): Add it.
70444         (Makefile.am): Compile it for test-string-c++.
70445         * tests/test-time-c++2.cc: New file.
70446         * modules/time-tests (Files): Add it.
70447         (Makefile.am): Compile it for test-time-c++.
70448         Reported by John W. Eaton <jwe@gnu.org>.
70450 2010-03-13  Bruno Haible  <bruno@clisp.org>
70452         * gnulib-tool (func_usage): Clarify which options are available for
70453         --create-testdir and --create-megatestdir.
70455 2010-03-13  Bruno Haible  <bruno@clisp.org>
70457         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
70458         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
70459         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
70460         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
70461         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
70462         when appropriate.
70463         Reported by Jim Meyering.
70465 2010-03-12  Simon Josefsson  <simon@josefsson.org>
70467         * gnulib-tool (func_import): Explain origin of code.
70469 2010-03-12  Bruno Haible  <bruno@clisp.org>
70471         Fix problem with automake's definition of CXXLINK.
70472         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
70473         Reported by Simon Josefsson and Ludovic Courtès.
70475 2010-03-12  Bruno Haible  <bruno@clisp.org>
70477         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
70478         stable releases.
70480 2010-03-11  Bruno Haible  <bruno@clisp.org>
70482         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
70483         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
70484         whether the system provides one variant or multiple variants of the
70485         function.
70486         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
70487         C++ compilers.
70488         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
70489         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
70490         Reported by Jim Meyering.
70492 2010-03-09  Simon Josefsson  <simon@josefsson.org>
70494         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
70496 2010-03-08  Bruno Haible  <bruno@clisp.org>
70498         gnulib-tool: Add support for --libtool in --create-testdir.
70499         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
70500         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
70502 2010-03-08  Eric Blake  <eblake@redhat.com>
70504         gnulib-tool.texi: mention possibility of git submodule
70505         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
70506         submodules.
70507         * doc/.gitignore: Ignore another generated file.
70509 2010-03-08  Karl Berry  <karl@gnu.org>
70511         * doc/gnulib-tool.texi (VCS Issues): Mention third option
70512         of committing gnulib files while skipping others.
70514 2010-03-07  Bruno Haible  <bruno@clisp.org>
70516         Tests of module 'wctype' in C++ mode.
70517         * tests/test-wctype-c++.cc: New file.
70518         * modules/wctype-tests (Files): Add it and tests/signature.h.
70519         (Depends-on): Add ansi-c++-opt.
70520         (Makefile.am): Arrange to compile and run test-wctype-c++.
70522         Tests of module 'wchar' in C++ mode.
70523         * tests/test-wchar-c++.cc: New file.
70524         * modules/wchar-tests (Files): Add it and tests/signature.h.
70525         (Depends-on): Add ansi-c++-opt.
70526         (Makefile.am): Arrange to compile and run test-wchar-c++.
70527         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
70528         gl_MODULE_INDICATOR.
70530         Tests of module 'unistd' in C++ mode.
70531         * tests/test-unistd-c++.cc: New file.
70532         * modules/unistd-tests (Files): Add it and tests/signature.h.
70533         (Depends-on): Add ansi-c++-opt.
70534         (Makefile.am): Arrange to compile and run test-unistd-c++.
70535         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
70536         gl_MODULE_INDICATOR.
70538         Tests of module 'time' in C++ mode.
70539         * tests/test-time-c++.cc: New file.
70540         * modules/time-tests (Files): Add it and tests/signature.h.
70541         (Depends-on): Add ansi-c++-opt.
70542         (Makefile.am): Arrange to compile and run test-time-c++.
70543         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70545         Tests of module 'sys_time' in C++ mode.
70546         * tests/test-sys_time-c++.cc: New file.
70547         * modules/sys_time-tests (Files): Add it and tests/signature.h.
70548         (Depends-on): Add ansi-c++-opt.
70549         (Makefile.am): Arrange to compile and run test-sys_time-c++.
70550         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
70551         gl_MODULE_INDICATOR.
70553         Tests of module 'sys_stat' in C++ mode.
70554         * tests/test-sys_stat-c++.cc: New file.
70555         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
70556         (Depends-on): Add ansi-c++-opt.
70557         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
70558         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
70559         gl_MODULE_INDICATOR.
70561         Tests of module 'sys_socket' in C++ mode.
70562         * tests/test-sys_socket-c++.cc: New file.
70563         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
70564         (Depends-on): Add ansi-c++-opt.
70565         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
70566         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
70567         gl_MODULE_INDICATOR.
70569         Tests of module 'sys_select' in C++ mode.
70570         * tests/test-sys_select-c++.cc: New file.
70571         * modules/sys_select-tests (Files): Add it and tests/signature.h.
70572         (Depends-on): Add ansi-c++-opt.
70573         (Makefile.am): Arrange to compile and run test-sys_select-c++.
70574         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
70575         gl_MODULE_INDICATOR.
70577         Tests of module 'sys_ioctl' in C++ mode.
70578         * tests/test-sys_ioctl-c++.cc: New file.
70579         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
70580         (Depends-on): Add ansi-c++-opt.
70581         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
70582         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
70583         gl_MODULE_INDICATOR.
70585         Tests of module 'string' in C++ mode.
70586         * tests/test-string-c++.cc: New file.
70587         * modules/string-tests (Files): Add it and tests/signature.h.
70588         (Depends-on): Add ansi-c++-opt.
70589         (Makefile.am): Arrange to compile and run test-string-c++.
70590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
70591         gl_MODULE_INDICATOR.
70593         Tests of module 'stdlib' in C++ mode.
70594         * tests/test-stdlib-c++.cc: New file.
70595         * modules/stdlib-tests (Files): Add it and tests/signature.h.
70596         (Depends-on): Add ansi-c++-opt.
70597         (Makefile.am): Arrange to compile and run test-stdlib-c++.
70598         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
70599         gl_MODULE_INDICATOR.
70601         Tests of module 'stdio' in C++ mode.
70602         * tests/test-stdio-c++.cc: New file.
70603         * modules/stdio-tests (Files): Add it and tests/signature.h.
70604         (Depends-on): Add ansi-c++-opt.
70605         (Makefile.am): Arrange to compile and run test-stdio-c++.
70606         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
70607         gl_MODULE_INDICATOR.
70609         Tests of module 'spawn' in C++ mode.
70610         * tests/test-spawn-c++.cc: New file.
70611         * modules/spawn-tests (Files): Add it and tests/signature.h.
70612         (Depends-on): Add ansi-c++-opt.
70613         (Makefile.am): Arrange to compile and run test-spawn-c++.
70614         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
70615         gl_MODULE_INDICATOR.
70617         Tests of module 'signal' in C++ mode.
70618         * tests/test-signal-c++.cc: New file.
70619         * modules/signal-tests (Files): Add it and tests/signature.h.
70620         (Depends-on): Add ansi-c++-opt.
70621         (Makefile.am): Arrange to compile and run test-signal-c++.
70622         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
70623         gl_MODULE_INDICATOR.
70625         Tests of module 'search' in C++ mode.
70626         * tests/test-search-c++.cc: New file.
70627         * modules/search-tests (Files): Add it and tests/signature.h.
70628         (Depends-on): Add ansi-c++-opt.
70629         (Makefile.am): Arrange to compile and run test-search-c++.
70630         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
70631         gl_MODULE_INDICATOR.
70633         Tests of module 'math' in C++ mode.
70634         * tests/test-math-c++.cc: New file.
70635         * modules/math-tests (Files): Add it and tests/signature.h.
70636         (Depends-on): Add ansi-c++-opt.
70637         (Makefile.am): Arrange to compile and run test-math-c++.
70638         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70640         Tests of module 'locale' in C++ mode.
70641         * tests/test-locale-c++.cc: New file.
70642         * modules/locale-tests (Files): Add it and tests/signature.h.
70643         (Depends-on): Add ansi-c++-opt.
70644         (Makefile.am): Arrange to compile and run test-locale-c++.
70645         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
70646         gl_MODULE_INDICATOR.
70648         Tests of module 'langinfo' in C++ mode.
70649         * tests/test-langinfo-c++.cc: New file.
70650         * modules/langinfo-tests (Files): Add it and tests/signature.h.
70651         (Depends-on): Add ansi-c++-opt.
70652         (Makefile.am): Arrange to compile and run test-langinfo-c++.
70653         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
70654         gl_MODULE_INDICATOR.
70656         Tests of module 'iconv-h' in C++ mode.
70657         * tests/test-iconv-h-c++.cc: New file.
70658         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
70659         (Depends-on): Add ansi-c++-opt.
70660         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
70662         Tests of module 'glob' in C++ mode.
70663         * tests/test-glob-c++.cc: New file.
70664         * modules/glob-tests (Files): Add it.
70665         (Depends-on): Add ansi-c++-opt.
70666         (Makefile.am): Arrange to compile and run test-glob-c++.
70668         Tests of module 'fcntl-h' in C++ mode.
70669         * tests/test-fcntl-h-c++.cc: New file.
70670         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
70671         (Depends-on): Add ansi-c++-opt.
70672         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
70673         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
70674         gl_MODULE_INDICATOR.
70676         Tests of module 'dirent' in C++ mode.
70677         * tests/test-dirent-c++.cc: New file.
70678         * modules/dirent-tests (Files): Add it and tests/signature.h.
70679         (Depends-on): Add ansi-c++-opt.
70680         (Makefile.am): Arrange to compile and run test-dirent-c++.
70681         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70682         gl_MODULE_INDICATOR.
70684         New module 'ansi-c++-opt'.
70685         * modules/ansi-c++-opt: New file.
70686         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
70688         Document C++ namespace mode.
70689         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
70691         wctype: Avoid #define replacements in C++ mode.
70692         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
70693         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
70694         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
70695         In C++, define a namespaced alias symbol.
70696         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
70697         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
70698         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
70699         rule.
70701         wchar: Avoid #define replacements in C++ mode.
70702         * lib/wchar.in.h: Include c++defs.h.
70703         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
70704         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
70705         symbol.
70706         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
70707         * modules/wchar (Depends-on): Add c++defs.
70708         (Makefile.am): Update wchar.h rule.
70710         unistd: Avoid #define replacements in C++ mode.
70711         * lib/unistd.in.h: Include c++defs.h.
70712         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
70713         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
70714         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
70715         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
70716         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
70717         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
70718         symbol.
70719         (environ): Update.
70720         * modules/unistd (Depends-on): Add c++defs.
70721         (Makefile.am): Update unistd.h rule.
70723         time: Avoid #define replacements in C++ mode.
70724         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
70725         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
70726         define a namespaced alias symbol.
70727         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
70728         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
70729         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
70730         * modules/time (Depends-on): Add c++defs, warn-on-use.
70731         (Makefile.am): Update time.h rule.
70732         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70733         * modules/nanosleep (configure.ac): Likewise.
70734         * modules/strptime (configure.ac): Likewise.
70735         * modules/timegm (configure.ac): Likewise.
70737         sys_time: Avoid #define replacements in C++ mode.
70738         * lib/sys_time.in.h: Include c++defs.h.
70739         (gettimeofday): In C++, define a namespaced alias symbol.
70740         * modules/sys_time (Depends-on): Add c++defs.
70741         (Makefile.am): Update sys/time.h rule.
70743         sys_stat: Avoid #define replacements in C++ mode.
70744         * lib/sys_stat.in.h: Include c++defs.h.
70745         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
70746         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
70747         namespaced alias symbol.
70748         In C++, define a namespaced alias symbol.
70749         * modules/sys_stat (Depends-on): Add c++defs.
70750         (Makefile.am): Update sys/stat.h rule.
70752         sys_socket: Avoid #define replacements in C++ mode.
70753         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
70754         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
70755         definitions also when the system has a <sys/socket.h>.
70756         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
70757         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
70758         In C++, define a namespaced alias symbol.
70759         * modules/sys_socket (Depends-on): Add c++defs.
70760         (Makefile.am): Update sys/socket.h rule.
70762         sys_select: Avoid #define replacements in C++ mode.
70763         * lib/sys_select.in.h: Include c++defs.h. Enable the function
70764         definitions also when the system has a <sys/select.h>.
70765         (select): In C++, define a namespaced alias symbol.
70766         * modules/sys_select (Depends-on): Add c++defs.
70767         (Makefile.am): Update sys/select.h rule.
70769         sys_ioctl: Avoid #define replacements in C++ mode.
70770         * lib/sys_ioctl.in.h: Include c++defs.h.
70771         (ioctl): In C++, define a namespaced alias symbol.
70772         * modules/sys_ioctl (Depends-on): Add c++defs.
70773         (Makefile.am): Update sys/ioctl.h rule.
70775         string: Avoid #define replacements in C++ mode.
70776         * lib/string.in.h: Include c++defs.h.
70777         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
70778         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
70779         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
70780         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
70781         strsignal, strverscmp): In C++, define a namespaced alias symbol.
70782         * modules/string (Depends-on): Add c++defs.
70783         (Makefile.am): Update string.h rule.
70785         stdlib: Avoid #define replacements in C++ mode.
70786         * lib/stdlib.in.h: Include c++defs.h.
70787         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
70788         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
70789         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
70790         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
70791         symbol.
70792         * modules/stdlib (Depends-on): Add c++defs.
70793         (Makefile.am): Update stdlib.h rule.
70795         stdio: Avoid #define replacements in C++ mode.
70796         * lib/stdio.in.h: Include c++defs.h.
70797         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
70798         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
70799         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
70800         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
70801         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
70802         namespaced alias symbol.
70803         * modules/stdio (Depends-on): Add c++defs.
70804         (Makefile.am): Update stdio.h rule.
70806         spawn: Avoid #define replacements in C++ mode.
70807         * lib/spawn.in.h: Include c++defs.h.
70808         (posix_spawn, posix_spawnp, posix_spawnattr_init,
70809         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
70810         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
70811         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
70812         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
70813         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
70814         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
70815         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
70816         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
70817         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
70818         In C++, define a namespaced alias symbol.
70819         * modules/spawn (Depends-on): Add c++defs.
70820         (Makefile.am): Update spawn.h rule.
70822         signal: Avoid #define replacements in C++ mode.
70823         * lib/signal.in.h: Include c++defs.h.
70824         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
70825         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
70826         namespaced alias symbol.
70827         * modules/signal (Depends-on): Add c++defs.
70828         (Makefile.am): Update signal.h rule.
70830         search: Avoid #define replacements in C++ mode.
70831         * lib/search.in.h: Include c++defs.h.
70832         (_gl_search_compar_fn, _gl_search_action_fn): New types.
70833         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
70834         symbol.
70835         * modules/search (Depends-on): Add c++defs.
70836         (Makefile.am): Update search.h rule.
70838         math: Avoid #define replacements in C++ mode.
70839         * lib/math.in.h: Include c++defs.h.
70840         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
70841         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
70842         trunc, truncl): In C++, define a namespaced alias symbol.
70843         * modules/math (Depends-on): Add c++defs.
70844         (Makefile.am): Update math.h rule.
70846         locale: Avoid #define replacements in C++ mode.
70847         * lib/locale.in.h: Include c++defs.h.
70848         (duplocale): In C++, define a namespaced alias symbol.
70849         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
70850         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
70851         * modules/locale (Depends-on): Add c++defs.
70852         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
70854         langinfo: Avoid #define replacements in C++ mode.
70855         * lib/langinfo.in.h: Include c++defs.h.
70856         (nl_langinfo): In C++, define a namespaced alias symbol.
70857         * modules/langinfo (Depends-on): Add c++defs.
70858         (Makefile.am): Update langinfo.h rule.
70860         iconv-h: Avoid #define replacements in C++ mode.
70861         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
70862         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
70863         symbol.
70864         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
70865         whenever iconv is present.
70866         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
70867         (Makefile.am): Update iconv.h rule.
70869         glob: Avoid #define replacements in C++ mode.
70870         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
70871         (_gl_glob_errfunc_fn): New type.
70872         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
70873         symbol.
70874         * modules/glob (Depends-on): Add c++defs, warn-on-use.
70875         (Makefile.am): Update glob.h rule.
70877         fcntl-h: Avoid #define replacements in C++ mode.
70878         * lib/fcntl.in.h: Include c++defs.h.
70879         (fcntl, open, openat): In C++, define a namespaced alias symbol.
70880         * modules/fcntl-h (Depends-on): Add c++defs.
70881         (Makefile.am): Update fcntl.h rule.
70883         dirent: Avoid #define replacements in C++ mode.
70884         * lib/dirent.in.h: Include c++defs.h.
70885         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
70886         namespaced alias symbol.
70887         (dirfd): Update declaration.
70888         * modules/dirent (Depends-on): Add c++defs.
70889         (Makefile.am): Update dirent.h rule.
70891         ctype: Make it usable in C++ code.
70892         * lib/ctype.in.h: Include c++defs.h.
70893         (isblank): Declare as extern "C".
70894         * modules/ctype (Depends-on): Add c++defs.
70895         (Makefile.am): Update ctype.h rule.
70897         New module 'c++defs'.
70898         * modules/c++defs: New file.
70899         * build-aux/c++defs.h: New file.
70900         Reported by John W. Eaton <jwe@gnu.org>.
70902 2010-03-07  Bruno Haible  <bruno@clisp.org>
70904         logb: Provide missing declaration for Cygwin.
70905         * lib/math.in.h (logb): New declaration.
70906         * m4/logb.m4: New file.
70907         * modules/logb (Files): Add m4/logb.m4.
70908         (Depends-on): Add math.
70909         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
70910         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
70911         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
70912         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
70913         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
70915 2010-03-07  Bruno Haible  <bruno@clisp.org>
70917         Fix test-cond link error.
70918         * tests/test-cond.c: Include <stdio.h>.
70920 2010-03-07  Bruno Haible  <bruno@clisp.org>
70922         Fix test-dirent-safer link error.
70923         * modules/dirent-safer-tests (Makefile.am): Define
70924         test_dirent_safer_LDADD.
70926 2010-03-07  Bruno Haible  <bruno@clisp.org>
70928         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
70929         among default module list.
70931 2010-03-07  Bruno Haible  <bruno@clisp.org>
70933         Fix link error on platforms with GNU libiconv.
70934         * modules/unistr/u8-strcoll-tests (Makefile): Define
70935         test_u8_strcoll_LDADD.
70936         * modules/unistr/u16-strcoll-tests (Makefile): Define
70937         test_u16_strcoll_LDADD.
70938         * modules/unistr/u32-strcoll-tests (Makefile): Define
70939         test_u32_strcoll_LDADD.
70941 2010-03-07  Bruno Haible  <bruno@clisp.org>
70943         Use POSIX declarations for socket functions.
70944         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
70945         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
70946         rpl_sendto): Change declaration to match POSIX.
70947         * lib/connect.c (rpl_connect): Likewise.
70948         * lib/accept.c (rpl_accept): Likewise.
70949         * lib/bind.c (rpl_bind): Likewise.
70950         * lib/getpeername.c (rpl_getpeername): Likewise.
70951         * lib/getsockname.c (rpl_getsockname): Likewise.
70952         * lib/recv.c (rpl_recv): Likewise.
70953         * lib/send.c (rpl_send): Likewise.
70954         * lib/recvfrom.c (rpl_recvfrom): Likewise.
70955         * lib/sendto.c (rpl_sendto): Likewise.
70957 2010-03-06  Bruno Haible  <bruno@clisp.org>
70959         Clarify access, euidaccess, faccessat.
70960         * doc/posix-functions/faccessat.texi: Mention security problem under
70961         "Other problems", not "Portability problems".
70962         * doc/posix-functions/access.texi: Likewise. Mention a related security
70963         problem.
70964         * doc/glibc-functions/euidaccess.texi: Mention security problems.
70965         * lib/euidaccess.c: Add comments about platforms.
70966         * lib/unistd.in.h (access, euidaccess): Add warnings.
70968 2010-03-07  Bruno Haible  <bruno@clisp.org>
70970         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
70971         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
70972         (POSIX_SPAWN_SETSCHEDULER): Likewise.
70973         (POSIX_SPAWN_USEVFORK): Define in a way that works when
70974         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
70975         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
70976         declare when POSIX_SPAWN_SETSCHEDULER is zero.
70977         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
70978         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
70979         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
70980         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
70981         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
70982         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
70983         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
70984         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
70985         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
70986         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
70987         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
70988         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
70989         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
70990         Likewise.
70991         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
70992         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
70993         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
70994         Likewise.
70995         * tests/test-spawn.c (main): Make it work when
70996         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
70998 2010-03-07  Bruno Haible  <bruno@clisp.org>
71000         Fix incorrect Makefile.am generation in German locale.
71001         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71002         Execute sed command with character range in C locale.
71004 2010-03-06  Bruno Haible  <bruno@clisp.org>
71006         Tests for module 'iconv-h'.
71007         * modules/iconv-h-tests: New file.
71008         * tests/test-iconv-h.c: New file.
71010         New module 'iconv-h'.
71011         * modules/iconv-h: New file.
71012         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
71013         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
71014         (configure.ac): Remove gl_ICONV_H.
71015         (Makefile.am): Remove rule for iconv.h.
71017 2010-03-06  Bruno Haible  <bruno@clisp.org>
71019         More consistent naming of *.m4 files.
71020         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
71021         * modules/wctype (Files): Update.
71023         More consistent naming of *.m4 files.
71024         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
71025         * modules/wchar (Files): Update.
71027 2010-03-06  Jim Meyering  <meyering@redhat.com>
71029         euidaccess: relax license to LGPLv2+
71030         * modules/euidaccess (License): Relax to LGPLv2+.
71032 2010-03-06  Bruno Haible  <bruno@clisp.org>
71034         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
71035         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
71036         (Makefile.am): Augment lib_SOURCES instead.
71038 2010-03-04  Jim Meyering  <meyering@redhat.com>
71040         utime: remove obsolete module
71041         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
71042         unnecessary for years, and has been marked as obsolete for 10 months.
71043         * modules/utime: Remove file.
71044         * lib/utime.c: Remove file.
71045         * m4/utime.m4: Remove file.
71046         * m4/utimes-null.m4: Remove file.
71047         * doc/posix-functions/utime.texi (utime): Remove reference to
71048         the module.  Move the sole "fixed by gnulib" item into the
71049         "problems not fixed by Gnulib" list.
71050         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
71052 2010-03-05  Simon Josefsson  <simon@josefsson.org>
71054         * modules/exit (License): Relax license to LGPLv2+.
71055         (Status): Mark as obsolete.
71056         * NEWS: Mention deprecated 'exit' module.
71057         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
71058         of now obsolete 'exit'.
71060 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71062         fts-lgpl: remove unused module
71063         * modules/fts-lgpl: Remove.
71064         * MODULES.html.sh (func_all_modules): Adjust.
71065         * check-module (find_included_lib_files): Adjust.
71066         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
71068 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
71070         copy-acl: enhance Solaris ACL error handling
71071         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
71072         * lib/set-mode-acl.c (qset_acl): Likewise.
71074 2010-03-02  Bruno Haible  <bruno@clisp.org>
71076         spawn: Don't override the system defined values on FreeBSD 8.
71077         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
71078         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
71079         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
71080         if HAVE_POSIX_SPAWN is 1.
71081         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
71083 2010-03-01  Bruno Haible  <bruno@clisp.org>
71085         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
71086         regarding Automake.
71088 2010-02-25  Bruno Haible  <bruno@clisp.org>
71090         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
71091         * gnulib-tool: Define 'echo' as a function only before the ksh alias
71092         setting, not afterwards.
71093         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
71095 2010-02-24  Eric Blake  <eblake@redhat.com>
71097         bootstrap, git-version-gen: use timestamp
71098         * build-aux/git-version-gen (scriptversion): Force UTC.
71099         * build-aux/bootstrap (scriptversion): New variable.
71101         bootstrap: allow older git
71102         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
71103         older than 1.6.4.  Requested by the libvirt project.
71105 2010-02-23  Eric Blake  <eblake@redhat.com>
71107         warn-on-use: work with old autoconf
71108         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
71109         AS_VAR semantics of autoconf 2.60.
71110         Reported by Bruno Haible.
71112         bootstrap: improve some comments
71113         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
71114         clarification comments.
71116         gettimeofday: provide correct function
71117         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
71118         when replacement is declared, otherwise provide gettimeofday.
71119         Reported by Michael Goffioul.
71121 2010-02-23  Jim Meyering  <meyering@redhat.com>
71123         lib-ignore: relax license to "unlimited", not LGPLv2+
71124         * modules/lib-ignore (License): Relax to "unlimited".
71126 2010-02-23  Jim Meyering  <meyering@redhat.com>
71128         lib-ignore: relax license to LGPLv2+
71129         * modules/lib-ignore (License): Relax to LGPLv2+.
71131 2010-02-22  Eric Blake  <eblake@redhat.com>
71133         lseek: avoid bash 3.2 broken pipe bug
71134         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
71135         warning from bash 3.2.
71136         Reported by Ben Pfaff, with analysis from Bruno Haible.
71138         bootstrap: support non-FSF copyright holder
71139         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
71140         bootstrap.conf override of COPYRIGHT_HOLDER.
71141         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
71143         bootstrap: interoperate with gettext 0.14.1
71144         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
71146         bootstrap: allow for alternate submodule location
71147         * build-aux/bootstrap (gnulib_path): New variable; use instead of
71148         hardcoding submodule location.
71149         (gnulib_mk): Allow direct use of Makefile.am.
71151         bootstrap: use GNULIB_SRCDIR to reduce disk usage
71152         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
71153         rather than reconfiguring where the submodule points.
71155         gettimeofday: restore support for platforms that lack function
71156         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
71157         replacement if function is missing.
71158         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
71159         * modules/sys_time (Makefile.am): Substitute it.
71160         * lib/sys_time.in.h (gettimeofday): Check it.
71161         Reported by Michael Goffioul.
71163 2010-02-21  Bruno Haible  <bruno@clisp.org>
71165         * lib/stdio.in.h (obstack_printf): Fix typo.
71167 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
71169         vc-list-files: use bzr ls's -R option
71170         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
71171         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
71173 2010-02-21  Jim Meyering  <meyering@redhat.com>
71175         init.sh: fix EXEEXT shims to work also for names like test-prog
71176         * tests/init.sh: Re-exec a better shell, when needed.
71177         If the current shell lacks support for posix $(...), an init.sh-using
71178         test will now try to find a shell that supports that.  If EXEEXT is
71179         nonempty, we also require support for hyphen-in-alias-name and shell
71180         substitutions like ${var#glob}.  Failure to find such a shell results
71181         in a skipped test.
71183 2010-02-21  Bruno Haible  <bruno@clisp.org>
71185         Really work around "broken pipe" error message from bash 3.2.
71186         * gnulib-tool (func_reset_sigpipe): Remove function.
71187         (echo): In bash 3.2, define to a function that uses printf.
71188         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
71190 2010-02-20  Bruno Haible  <bruno@clisp.org>
71192         Restore support for automake 1.9.6 with autoconf 2.61.
71193         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
71194         Reported by James Youngman <jay@gnu.org>.
71196 2010-02-20  Bruno Haible  <bruno@clisp.org>
71198         Improve *printf warning condition.
71199         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
71200         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
71201         and the function is overridden due to SIGPIPE emulation.
71203 2010-02-20  Bruno Haible  <bruno@clisp.org>
71205         * lib/stdio.in.h: Tweak comments.
71207 2010-02-19  Bruno Haible  <bruno@clisp.org>
71209         Make it easier to find modules. New gnulib-tool option '--find'.
71210         * gnulib-tool: New option --find.
71211         (func_usage): Document it.
71212         (func_sanitize_modulelist): New function, extracted from
71213         func_all_modules.
71214         (func_all_modules): Invoke it.
71215         * doc/gnulib-tool.texi (Which modules?): New node.
71217 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
71219         * lib/sys_select.in.h: Provide select replacement even if
71220         sys/select.h exists on a system, for Interix.
71222 2010-02-18  Jim Meyering  <meyering@redhat.com>
71224         init.sh: don't use $(...) just yet
71225         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
71226         to accommodate e.g., Solaris' /bin/sh.
71228 2010-02-17  Bruno Haible  <bruno@clisp.org>
71230         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
71231         Reported by Ludovic Courtès <ludo@gnu.org>.
71233 2010-02-16  Simon Josefsson  <simon@josefsson.org>
71235         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
71236         linking with -lintl.
71238 2010-02-17  Simon Josefsson  <simon@josefsson.org>
71240         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
71241         if not provided by the system's netdb.h.  Reported by
71242         ludo@gnu.org (Ludovic Courtès).
71244 2010-02-15  Jim Meyering  <meyering@redhat.com>
71246         init.sh: improve portability and efficiency
71247         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
71248         "dummy" in a for loop.
71249         Use '!', not '^' to select the complement of a character set used
71250         in a "case" statement.
71251         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
71252         Suggestions from Eric Blake.
71254         init.sh: automatically accommodate programs with the .exe suffix
71255         Automatically arrange for an invocation of "prog" to execute the
71256         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
71257         may use the simpler "prog", yet still work when built on a system
71258         that requires specifying the added suffix.
71259         Do this by constructing a function named "prog" that invokes
71260         "prog.exe" for each .exe file in selected directories.
71261         * tests/init.sh (find_exe_basenames_): New function.
71262         (create_exe_shim_functions_): New function.
71263         (path_prepend_): Use it.
71265         maint.mk: mark syntax-check sc_*.m rules as .PHONY
71266         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
71267         "make -t syntax-check" doesn't create a ton of sc_*.m files.
71269 2010-02-14  Jim Meyering  <meyering@redhat.com>
71271         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
71272         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
71273         (sc_prohibit_hash_pjw_without_use): New rule.
71275         maint.mk: allow the default upload destination dir to be overridden
71276         * top/maint.mk (upload_dest_dir_): Define with a default that
71277         preserves the status quo.
71278         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
71279         Reported by Peter Simons.
71281         maint.mk: prohibit inclusion of "hash.h" without_use
71282         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
71284 2010-02-10  Jim Meyering  <meyering@redhat.com>
71286         maint.mk: prohibit inclusion of "ignore-value.h" without_use
71287         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
71289 2010-02-09  Eric Blake  <ebb9@byu.net>
71290         and Bruno Haible  <bruno@clisp.org>
71292         obstack-printf-posix: ensure declaration
71293         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
71294         extracted from gl_FUNC_OBSTACK_PRINTF.
71295         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
71296         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
71297         Likewise.
71298         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
71299         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
71300         0.
71302 2010-02-08  Bruno Haible  <bruno@clisp.org>
71304         gnulib-tool: Fix typo in 2010-02-07 commit.
71305         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
71306         Reported by Eric Blake.
71308 2010-02-07  Bruno Haible  <bruno@clisp.org>
71310         gnulib-tool: Fix up caching patches.
71311         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
71312         option --no-cache. Use associative arrays when supported by the shell.
71313         (sed_comments): New variable.
71314         (modcache): Renamed from do_cache.
71315         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
71316         abbreviate unnecessarily.
71317         (have_associative): New variable.
71318         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
71319         way also for ksh and zsh.
71320         (func_init_sed_convert_to_cache_statements): New function, extracted
71321         from func_cache_lookup_module. Add support for associative arrays.
71322         Don't set the c_MODULE_cached variable here. Ignore all lines before
71323         the first field header. Remove only the final newline, not all trailing
71324         newlines. Support empty fields correctly. Limit the use of 'eval' to
71325         assignments.
71326         (func_get_description, func_get_status, func_get_notice,
71327         func_get_applicability, func_get_filelist, func_get_dependencies,
71328         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
71329         func_get_automake_snippet, func_get_include_directive,
71330         func_get_link_directive, func_get_license, func_get_maintainer):
71331         Update documentation. List the unoptimized code first. Add support for
71332         associative arrays. Limit the use of 'eval' to assignments.
71333         (func_get_applicability): Undo stylistic pessimisations.
71334         (func_get_automake_snippet, func_get_include_directive): Reduce code
71335         duplication.
71336         (func_modules_transitive_closure, func_modules_add_dummy,
71337         func_modules_notice, func_modules_to_filelist, func_add_file,
71338         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
71339         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
71340         func_create_testdir, func_create_megatestdir): Update documentation.
71342 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71344         * gnulib-tool (func_cache_lookup_module): Store the module name
71345         belonging to the cache variable; error out if two different
71346         module names map to the same cache variable name.
71348 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71350         gnulib-tool: Make caching optional.
71351         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
71352         Update matching short versions of --no-changelog.
71353         (func_usage): Update.
71354         (sed_extract_cache_prog): Renamed from ...
71355         (sed_extract_prog): ... this; revert to old extraction script.
71356         (func_get_description, func_get_status)
71357         (func_get_notice, func_get_applicability, func_get_filelist)
71358         (func_get_dependencies, func_get_autoconf_early_snippet)
71359         (func_get_autoconf_snippet, func_get_automake_snippet)
71360         (func_get_include_directive, func_get_link_directive)
71361         (func_get_license, func_get_maintainer): If $do_cache is false,
71362         use old, non-caching extraction scripts.
71363         Suggestion by Bruno Haible.
71365 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71367         gnulib-tool: cache module metainformation.
71368         * gnulib-tool (sed_extract_prog): Match newline before each
71369         header, and rewrite header to a shell variable suffix.
71370         (func_cache_var, func_cache_lookup_module): New functions,
71371         to turn a module name into a cache variable prefix, and to
71372         look up and cache module metainformation.
71373         (func_get_description, func_get_status)
71374         (func_get_notice, func_get_applicability, func_get_filelist)
71375         (func_get_dependencies, func_get_autoconf_early_snippet)
71376         (func_get_autoconf_snippet, func_get_automake_snippet)
71377         (func_get_include_directive, func_get_link_directive)
71378         (func_get_license, func_get_maintainer): Use
71379         func_cache_lookup_module.
71381 2010-02-07  Bruno Haible  <bruno@clisp.org>
71383         fnctl: Fix missing dependency.
71384         * modules/fcntl (Depends-on): Add getdtablesize.
71385         Reported by John W. Eaton <jwe@gnu.org>.
71387 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71389         Argp: fix recognition of short alias options.
71391         * lib/argp-parse.c (convert_options): Fix improper use of
71392         `|' between character values.
71393         * tests/test-argp.c (group1_option): New alias option
71394         --read (-r).
71395         (group1_parser): Special handling for 'r'.
71396         (test15): New test case.
71397         (test_fun): Add test15.
71398         * tests/test-argp-2.sh: Update expected --help and --usage
71399         outputs.
71401 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71403         * tests/test-argp.c: Fix indentation.
71405 2010-02-04  Eric Blake  <ebb9@byu.net>
71407         gettimeofday: expose type of second argument
71408         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
71409         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
71410         * tests/test-gettimeofday.c: Use it to silence warning.
71411         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
71412         the issue.
71414 2010-02-03  Jim Meyering  <meyering@redhat.com>
71416         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
71417         * lib/regcomp.c (TYPE_SIGNED): Define.
71418         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
71420         regcomp.c: avoid a new -Wshadow warning
71421         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
71423 2010-02-01  Jim Meyering  <meyering@redhat.com>
71425         removing useless parentheses in cpp #define directives
71426         For motivation, see commit c0221df4, "define STREQ(a,b)
71427         consistently, removing useless parentheses"
71428         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
71429         * lib/mountlist.c (MNT_IGNORE): Likewise.
71430         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
71432 2010-02-01  Eric Blake  <ebb9@byu.net>
71434         sys_time: use link-warning
71435         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
71436         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
71437         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
71438         * modules/sys_time (Depends-on): Add warn-on-use.
71439         (Makefile.am): Always build replacement.
71440         (configure.ac): Update substitutions.
71441         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
71442         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
71443         bother with SYS_TIME_H.
71444         * modules/gettimeofday (configure.ac): Declare indicator.
71445         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
71446         in use.
71448         closein-tests: silence compiler warning
71449         * tests/test-closein.c (main): Ignore fread result.
71450         * modules/closein-tests (Depends-on): Add ignore-value.
71452         tests: silence warning about system return
71453         * tests/test-areadlink-with-size.c (main): Ignore system result.
71454         * tests/test-areadlink.c (main): Likewise.
71455         * tests/test-areadlinkat-with-size.c (main): Likewise.
71456         * tests/test-areadlinkat.c (main): Likewise.
71457         * tests/test-canonicalize-lgpl.c (main): Likewise.
71458         * tests/test-canonicalize.c (main): Likewise.
71459         * tests/test-chown.c (main): Likewise.
71460         * tests/test-fchownat.c (main): Likewise.
71461         * tests/test-fdutimensat.c (main): Likewise.
71462         * tests/test-fstatat.c (main): Likewise.
71463         * tests/test-futimens.c (main): Likewise.
71464         * tests/test-lchown.c (main): Likewise.
71465         * tests/test-link.c (main): Likewise.
71466         * tests/test-linkat.c (main): Likewise.
71467         * tests/test-lstat.c (main): Likewise.
71468         * tests/test-mkdir.c (main): Likewise.
71469         * tests/test-mkdirat.c (main): Likewise.
71470         * tests/test-mkfifo.c (main): Likewise.
71471         * tests/test-mkfifoat.c (main): Likewise.
71472         * tests/test-mknod.c (main): Likewise.
71473         * tests/test-readlink.c (main): Likewise.
71474         * tests/test-remove.c (main): Likewise.
71475         * tests/test-rename.c (main): Likewise.
71476         * tests/test-renameat.c (main): Likewise.
71477         * tests/test-rmdir.c (main): Likewise.
71478         * tests/test-symlink.c (main): Likewise.
71479         * tests/test-symlinkat.c (main): Likewise.
71480         * tests/test-unlink.c (main): Likewise.
71481         * tests/test-unlinkat.c (main): Likewise.
71482         * tests/test-utimens.c (main): Likewise.
71483         * tests/test-utimensat.c (main): Likewise.
71484         * modules/areadlink-tests (Depends-on): Add ignore-value.
71485         * modules/areadlink-with-size-tests (Depends-on): Likewise.
71486         * modules/areadlinkat-tests (Depends-on): Likewise.
71487         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
71488         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
71489         * modules/canonicalize-tests (Depends-on): Likewise.
71490         * modules/chown-tests (Depends-on): Likewise.
71491         * modules/fdutimensat-tests (Depends-on): Likewise.
71492         * modules/futimens-tests (Depends-on): Likewise.
71493         * modules/lchown-tests (Depends-on): Likewise.
71494         * modules/link-tests (Depends-on): Likewise.
71495         * modules/linkat-tests (Depends-on): Likewise.
71496         * modules/lstat-tests (Depends-on): Likewise.
71497         * modules/mkdir-tests (Depends-on): Likewise.
71498         * modules/mkfifo-tests (Depends-on): Likewise.
71499         * modules/mkfifoat-tests (Depends-on): Likewise.
71500         * modules/mknod-tests (Depends-on): Likewise.
71501         * modules/openat-tests (Depends-on): Likewise.
71502         * modules/readlink-tests (Depends-on): Likewise.
71503         * modules/remove-tests (Depends-on): Likewise.
71504         * modules/rename-tests (Depends-on): Likewise.
71505         * modules/renameat-tests (Depends-on): Likewise.
71506         * modules/rmdir-tests (Depends-on): Likewise.
71507         * modules/symlink-tests (Depends-on): Likewise.
71508         * modules/symlinkat-tests (Depends-on): Likewise.
71509         * modules/unlink-tests (Depends-on): Likewise.
71510         * modules/utimens-tests (Depends-on): Likewise.
71511         * modules/utimensat-tests (Depends-on): Likewise.
71513 2010-01-31  Bruno Haible  <bruno@clisp.org>
71515         Perform the same test for many <math.h> functions.
71516         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
71517         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
71518         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
71519         of gl_MATHFUNC.
71520         * modules/acos (configure.ac): Likewise.
71521         * modules/asin (configure.ac): Likewise.
71522         * modules/atan (configure.ac): Likewise.
71523         * modules/atan2 (configure.ac): Likewise.
71524         * modules/cbrt (configure.ac): Likewise.
71525         * modules/copysign (configure.ac): Likewise.
71526         * modules/cos (configure.ac): Likewise.
71527         * modules/cosh (configure.ac): Likewise.
71528         * modules/erf (configure.ac): Likewise.
71529         * modules/erfc (configure.ac): Likewise.
71530         * modules/exp (configure.ac): Likewise.
71531         * modules/fmod (configure.ac): Likewise.
71532         * modules/hypot (configure.ac): Likewise.
71533         * modules/j0 (configure.ac): Likewise.
71534         * modules/j1 (configure.ac): Likewise.
71535         * modules/jn (configure.ac): Likewise.
71536         * modules/lgamma (configure.ac): Likewise.
71537         * modules/log (configure.ac): Likewise.
71538         * modules/log10 (configure.ac): Likewise.
71539         * modules/log1p (configure.ac): Likewise.
71540         * modules/pow (configure.ac): Likewise.
71541         * modules/remainder (configure.ac): Likewise.
71542         * modules/sin (configure.ac): Likewise.
71543         * modules/sinh (configure.ac): Likewise.
71544         * modules/tan (configure.ac): Likewise.
71545         * modules/tanh (configure.ac): Likewise.
71546         * modules/y0 (configure.ac): Likewise.
71547         * modules/y1 (configure.ac): Likewise.
71548         * modules/yn (configure.ac): Likewise.
71549         Suggested by Paolo Bonzini.
71551 2010-01-31  Bruno Haible  <bruno@clisp.org>
71553         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
71555 2010-01-31  Bruno Haible  <bruno@clisp.org>
71557         Work around getdelim() bug on FreeBSD 8.0.
71558         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
71559         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
71560         not work.
71561         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
71562         is 1.
71563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
71564         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
71565         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
71566         a non-zero size.
71567         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
71569 2010-01-31  Bruno Haible  <bruno@clisp.org>
71571         Work around getline() bug on FreeBSD 8.0.
71572         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
71573         and a non-zero size.
71574         * tests/test-getline.c (main): Likewise.
71575         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
71576         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
71578 2010-01-28  Eric Blake  <ebb9@byu.net>
71580         regex: fix build failure
71581         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
71582         platforms.
71584 2010-01-28  Jim Meyering  <meyering@redhat.com>
71586         regex: do not ignore memory allocation failure
71587         * lib/regex_internal.c (create_cd_newstate): Detect
71588         re_node_set_init_copy failure.   Extracted from glibc commit
71589         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71591         regex: sync more white-space changes from libc
71592         * lib/regex_internal.c: White-space only changes.
71593         * lib/regexec.c: Likewise.
71595         regex: add many uses of __attribute_warn_unused_result__
71596         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
71597         * lib/regexec.c: Likewise.
71598         Extracted from a messy glibc commit.
71600         regcomp.c: spelling and merge-artifact from glibc
71601         * lib/regcomp.c: Merge remainder of glibc's
71602         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71604         regcomp.c: sync white-space changes from glibc
71605         * lib/regcomp.c: Merge to accommodate white space
71606         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
71608         regcomp.c: do not ignore internal return values
71609         * lib/regcomp.c: Do not ignore internal return values.
71610         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
71611         but without its white-space changes and spelling fixes.
71613         regex_internal.h: define __attribute_warn_unused_result__
71614         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
71616         maint: add a syntax-check rule to check for vulnerable Makefile.in
71617         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
71619 2010-01-27  Jim Meyering  <meyering@redhat.com>
71621         ncftpput-ftp: clean up spaces
71622         * build-aux/ncftpput-ftp: Make Copyright line consistent.
71623         Remove trailing blanks.
71625 2010-01-27  Simon Josefsson  <simon@josefsson.org>
71627         * build-aux/git-version-gen: Fix copyright statement.
71628         * build-aux/gnupload: Likewise.
71629         * tests/test-arcfour.c: Likewise.
71630         * tests/test-arctwo.c: Likewise.
71631         * tests/test-count-one-bits.c: Likewise.
71632         * tests/test-crc.c: Likewise.
71633         * tests/test-des.c: Likewise.
71634         * tests/test-gc-arcfour.c: Likewise.
71635         * tests/test-gc-arctwo.c: Likewise.
71636         * tests/test-gc-des.c: Likewise.
71637         * tests/test-gc-hmac-md5.c: Likewise.
71638         * tests/test-gc-hmac-sha1.c: Likewise.
71639         * tests/test-gc-md2.c: Likewise.
71640         * tests/test-gc-md4.c: Likewise.
71641         * tests/test-gc-md5.c: Likewise.
71642         * tests/test-gc-pbkdf2-sha1.c: Likewise.
71643         * tests/test-gc-rijndael.c: Likewise.
71644         * tests/test-gc-sha1.c: Likewise.
71645         * tests/test-gc.c: Likewise.
71646         * tests/test-gethostname.c: Likewise.
71647         * tests/test-gettimeofday.c: Likewise.
71648         * tests/test-hash.c: Likewise.
71649         * tests/test-hmac-md5.c: Likewise.
71650         * tests/test-hmac-sha1.c: Likewise.
71651         * tests/test-md2.c: Likewise.
71652         * tests/test-md4.c: Likewise.
71653         * tests/test-md5.c: Likewise.
71654         * tests/test-memchr.c: Likewise.
71655         * tests/test-memchr2.c: Likewise.
71656         * tests/test-memcmp.c: Likewise.
71657         * tests/test-memmem.c: Likewise.
71658         * tests/test-memrchr.c: Likewise.
71659         * tests/test-rawmemchr.c: Likewise.
71660         * tests/test-read-file.c: Likewise.
71661         * tests/test-rijndael.c: Likewise.
71662         * tests/test-sockets.c: Likewise.
71663         * tests/test-strchrnul.c: Likewise.
71664         * tests/test-strstr.c: Likewise.
71665         * tests/test-strtod.c: Likewise.
71666         * build-aux/ncftpput-ftp: Likewise.
71668 2010-01-26  Eric Blake  <ebb9@byu.net>
71670         ignore-value: update recommended header name
71671         * modules/ignore-value (Include): Only use <> for headers that
71672         exist in glibc.
71674 2010-01-26  Jim Meyering  <meyering@redhat.com>
71676         test-userspec.c: avoid compiler warnings
71677         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
71678         and "initialization discards qualifiers..." warnings.
71679         Put the first "uid" in its own scope, and make char* members "const".
71681 2010-01-25  Bruno Haible  <bruno@clisp.org>
71683         gnulib-tool: Make warning diagnostics consistent.
71684         * gnulib-tool (func_warning): New function.
71685         Use it everywhere where gnulib-tool produces output to stderr and it is
71686         not a fatal error.
71688 2010-01-25  Bruno Haible  <bruno@clisp.org>
71690         Fix test dependencies.
71691         * modules/xstrtol-tests (Depends-on): Add inttypes.
71692         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
71694 2010-01-25  Pádraig Brady  <P@draigBrady.com>
71696         syntax-check: detect incorrect boolean macro values in config.h
71697         * modules/maintainer-makefile (configure.ac): Parameterize the location
71698         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
71699         The logic is from Eric Blake and the location indicated by Jim Meyering.
71700         Note the more natural CONFIG_HEADER name is prohibited by automake
71701         for backwards compatibility reasons.
71702         * top/maint.mk (sc_Wundef_boolean): New rule.
71704 2010-01-25  Jim Meyering  <meyering@redhat.com>
71706         bootstrap: detect MacOS 10.6's shasum, too
71707         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
71708         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
71710 2010-01-23  Jim Meyering  <meyering@redhat.com>
71712         xstrtoll: new module
71713         * modules/xstrtoll: New file.
71714         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
71715         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
71716         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
71717         ./configure fails if you use this module and lack "long long".
71718         * modules/xstrtoll-tests: New module.
71719         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
71720         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
71721         new init.sh-based test framework.
71723 2010-01-24  Bruno Haible  <bruno@clisp.org>
71725         Tests for module 'yn'.
71726         * modules/yn-tests: New file.
71727         * tests/test-yn.c: New file.
71729         Tests for module 'y1'.
71730         * modules/y1-tests: New file.
71731         * tests/test-y1.c: New file.
71733         Tests for module 'y0'.
71734         * modules/y0-tests: New file.
71735         * tests/test-y0.c: New file.
71737         Tests for module 'tanh'.
71738         * modules/tanh-tests: New file.
71739         * tests/test-tanh.c: New file.
71741         Tests for module 'tan'.
71742         * modules/tan-tests: New file.
71743         * tests/test-tan.c: New file.
71745         Tests for module 'sqrt'.
71746         * modules/sqrt-tests: New file.
71747         * tests/test-sqrt.c: New file.
71749         Tests for module 'sinh'.
71750         * modules/sinh-tests: New file.
71751         * tests/test-sinh.c: New file.
71753         Tests for module 'sin'.
71754         * modules/sin-tests: New file.
71755         * tests/test-sin.c: New file.
71757         Tests for module 'rint'.
71758         * modules/rint-tests: New file.
71759         * tests/test-rint.c: New file.
71761         Tests for module 'remainder'.
71762         * modules/remainder-tests: New file.
71763         * tests/test-remainder.c: New file.
71765         Tests for module 'pow'.
71766         * modules/pow-tests: New file.
71767         * tests/test-pow.c: New file.
71769         Tests for module 'nextafter'.
71770         * modules/nextafter-tests: New file.
71771         * tests/test-nextafter.c: New file.
71773         Tests for module 'modf'.
71774         * modules/modf-tests: New file.
71775         * tests/test-modf.c: New file.
71777         Tests for module 'logb'.
71778         * modules/logb-tests: New file.
71779         * tests/test-logb.c: New file.
71781         Tests for module 'log1p'.
71782         * modules/log1p-tests: New file.
71783         * tests/test-log1p.c: New file.
71785         Tests for module 'log10'.
71786         * modules/log10-tests: New file.
71787         * tests/test-log10.c: New file.
71789         Tests for module 'log'.
71790         * modules/log-tests: New file.
71791         * tests/test-log.c: New file.
71793         Tests for module 'lgamma'.
71794         * modules/lgamma-tests: New file.
71795         * tests/test-lgamma.c: New file.
71797         Tests for module 'ldexp'.
71798         * modules/ldexp-tests: New file.
71799         * tests/test-ldexp.c: New file.
71801         Tests for module 'jn'.
71802         * modules/jn-tests: New file.
71803         * tests/test-jn.c: New file.
71805         Tests for module 'j1'.
71806         * modules/j1-tests: New file.
71807         * tests/test-j1.c: New file.
71809         Tests for module 'j0'.
71810         * modules/j0-tests: New file.
71811         * tests/test-j0.c: New file.
71813         Tests for module 'hypot'.
71814         * modules/hypot-tests: New file.
71815         * tests/test-hypot.c: New file.
71817         Tests for module 'fmod'.
71818         * modules/fmod-tests: New file.
71819         * tests/test-fmod.c: New file.
71821         Tests for module 'fabs'.
71822         * modules/fabs-tests: New file.
71823         * tests/test-fabs.c: New file.
71825         Tests for module 'exp'.
71826         * modules/exp-tests: New file.
71827         * tests/test-exp.c: New file.
71829         Tests for module 'erfc'.
71830         * modules/erfc-tests: New file.
71831         * tests/test-erfc.c: New file.
71833         Tests for module 'erf'.
71834         * modules/erf-tests: New file.
71835         * tests/test-erf.c: New file.
71837         Tests for module 'cosh'.
71838         * modules/cosh-tests: New file.
71839         * tests/test-cosh.c: New file.
71841         Tests for module 'cos'.
71842         * modules/cos-tests: New file.
71843         * tests/test-cos.c: New file.
71845         Tests for module 'copysign'.
71846         * modules/copysign-tests: New file.
71847         * tests/test-copysign.c: New file.
71849         Tests for module 'cbrt'.
71850         * modules/cbrt-tests: New file.
71851         * tests/test-cbrt.c: New file.
71853         Tests for module 'atan2'.
71854         * modules/atan2-tests: New file.
71855         * tests/test-atan2.c: New file.
71857         Tests for module 'atan'.
71858         * modules/atan-tests: New file.
71859         * tests/test-atan.c: New file.
71861         Tests for module 'asin'.
71862         * modules/asin-tests: New file.
71863         * tests/test-asin.c: New file.
71865         Tests for module 'acos'.
71866         * modules/acos-tests: New file.
71867         * tests/test-acos.c: New file.
71869 2010-01-24  Bruno Haible  <bruno@clisp.org>
71871         Fix tests for common <math.h> functions.
71872         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
71873         code snippet that references the function pointer, rather than merely
71874         calling the function. Substitute the FUNC_LIBM variable.
71875         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
71876         * modules/acos (configure.ac): Likewise.
71877         * modules/asin (configure.ac): Likewise.
71878         * modules/atan (configure.ac): Likewise.
71879         * modules/atan2 (configure.ac): Likewise.
71880         * modules/cbrt (configure.ac): Likewise.
71881         * modules/copysign (configure.ac): Likewise.
71882         * modules/cos (configure.ac): Likewise.
71883         * modules/cosh (configure.ac): Likewise.
71884         * modules/erf (configure.ac): Likewise.
71885         * modules/erfc (configure.ac): Likewise.
71886         * modules/exp (configure.ac): Likewise.
71887         * modules/fabs (configure.ac): Likewise.
71888         * modules/fmod (configure.ac): Likewise.
71889         * modules/hypot (configure.ac): Likewise.
71890         * modules/j0 (configure.ac): Likewise.
71891         * modules/j1 (configure.ac): Likewise.
71892         * modules/jn (configure.ac): Likewise.
71893         * modules/ldexp (configure.ac): Likewise.
71894         * modules/lgamma (configure.ac): Likewise.
71895         * modules/log (configure.ac): Likewise.
71896         * modules/log10 (configure.ac): Likewise.
71897         * modules/log1p (configure.ac): Likewise.
71898         * modules/logb (configure.ac): Likewise.
71899         * modules/modf (configure.ac): Likewise.
71900         * modules/nextafter (configure.ac): Likewise.
71901         * modules/pow (configure.ac): Likewise.
71902         * modules/remainder (configure.ac): Likewise.
71903         * modules/rint (configure.ac): Likewise.
71904         * modules/sin (configure.ac): Likewise.
71905         * modules/sinh (configure.ac): Likewise.
71906         * modules/tan (configure.ac): Likewise.
71907         * modules/tanh (configure.ac): Likewise.
71908         * modules/y0 (configure.ac): Likewise.
71909         * modules/y1 (configure.ac): Likewise.
71910         * modules/yn (configure.ac): Likewise.
71912 2010-01-24  Bruno Haible  <bruno@clisp.org>
71914         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
71915         * tests/test-acosl.c (x): New variable.
71916         (main): Store argument in x and fetch it from x.
71917         * tests/test-asinl.c (x): New variable.
71918         (main): Store argument in x and fetch it from x.
71919         * tests/test-atanl.c (x): New variable.
71920         (main): Store argument in x and fetch it from x.
71921         * tests/test-cosl.c (x): New variable.
71922         (main): Store argument in x and fetch it from x.
71923         * tests/test-expl.c (x): New variable.
71924         (main): Store argument in x and fetch it from x.
71925         * tests/test-logl.c (x): New variable.
71926         (main): Store argument in x and fetch it from x.
71927         * tests/test-sinl.c (x): New variable.
71928         (main): Store argument in x and fetch it from x.
71929         * tests/test-sqrtl.c (x): New variable.
71930         (main): Store argument in x and fetch it from x.
71931         * tests/test-tanl.c (x): New variable.
71932         (main): Store argument in x and fetch it from x.
71934 2010-01-24  Bruno Haible  <bruno@clisp.org>
71936         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
71937         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
71938         assignments to the initial TESTS_ENVIRONMENT.
71939         * doc/gnulib.texi (Unit test modules): Document it.
71940         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
71941         TESTS_ENVIRONMENT.
71942         * modules/btowc-tests (Makefile.am): Likewise.
71943         * modules/c-stack-tests (Makefile.am): Likewise.
71944         * modules/c-strcase-tests (Makefile.am): Likewise.
71945         * modules/copy-file-tests (Makefile.am): Likewise.
71946         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
71947         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
71948         * modules/mbrtowc-tests (Makefile.am): Likewise.
71949         * modules/mbscasecmp-tests (Makefile.am): Likewise.
71950         * modules/mbscasestr-tests (Makefile.am): Likewise.
71951         * modules/mbschr-tests (Makefile.am): Likewise.
71952         * modules/mbscspn-tests (Makefile.am): Likewise.
71953         * modules/mbsinit-tests (Makefile.am): Likewise.
71954         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
71955         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
71956         * modules/mbspbrk-tests (Makefile.am): Likewise.
71957         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
71958         * modules/mbsrchr-tests (Makefile.am): Likewise.
71959         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
71960         * modules/mbsspn-tests (Makefile.am): Likewise.
71961         * modules/mbsstr-tests (Makefile.am): Likewise.
71962         * modules/nl_langinfo-tests (Makefile.am): Likewise.
71963         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
71964         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
71965         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
71966         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
71967         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
71968         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
71969         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
71970         * modules/wcrtomb-tests (Makefile.am): Likewise.
71971         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
71972         * modules/wcsrtombs-tests (Makefile.am): Likewise.
71973         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
71974         assignments from TESTS_ENVIRONMENT.
71975         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
71976         augmentation.
71977         * modules/argp-version-etc-tests (Makefile.am): Likewise.
71978         * modules/atexit-tests (Makefile.am): Likewise.
71979         * modules/binary-io-tests (Makefile.am): Likewise.
71980         * modules/closein-tests (Makefile.am): Likewise.
71981         * modules/dprintf-posix-tests (Makefile.am): Likewise.
71982         * modules/exclude-tests (Makefile.am): Likewise.
71983         * modules/fflush-tests (Makefile.am): Likewise.
71984         * modules/fpending-tests (Makefile.am): Likewise.
71985         * modules/fprintf-posix-tests (Makefile.am): Likewise.
71986         * modules/freadahead-tests (Makefile.am): Likewise.
71987         * modules/freadptr-tests (Makefile.am): Likewise.
71988         * modules/freadseek-tests (Makefile.am): Likewise.
71989         * modules/fseek-tests (Makefile.am): Likewise.
71990         * modules/fseeko-tests (Makefile.am): Likewise.
71991         * modules/ftell-tests (Makefile.am): Likewise.
71992         * modules/ftello-tests (Makefile.am): Likewise.
71993         * modules/idpriv-drop-tests (Makefile.am): Likewise.
71994         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
71995         * modules/lseek-tests (Makefile.am): Likewise.
71996         * modules/parse-duration-tests (Makefile.am): Likewise.
71997         * modules/perror-tests (Makefile.am): Likewise.
71998         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
71999         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
72000         * modules/pipe-tests (Makefile.am): Likewise.
72001         * modules/pread-tests (Makefile.am): Likewise.
72002         * modules/printf-posix-tests (Makefile.am): Likewise.
72003         * modules/select-tests (Makefile.am): Likewise.
72004         * modules/sigpipe-tests (Makefile.am): Likewise.
72005         * modules/tsearch-tests (Makefile.am): Likewise.
72006         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
72007         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
72008         * modules/uniname/uniname-tests (Makefile.am): Likewise.
72009         * modules/uniwidth/width-tests (Makefile.am): Likewise.
72010         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
72011         * modules/version-etc-tests (Makefile.am): Likewise.
72012         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
72013         * modules/vprintf-posix-tests (Makefile.am): Likewise.
72014         * modules/xalloc-die-tests (Makefile.am): Likewise.
72015         * modules/xprintf-posix-tests (Makefile.am): Likewise.
72016         * modules/xstrtoimax-tests (Makefile.am): Likewise.
72017         * modules/xstrtol-tests (Makefile.am): Likewise.
72018         * modules/xstrtoumax-tests (Makefile.am): Likewise.
72019         * modules/yesno-tests (Makefile.am): Likewise.
72020         Suggested by Jim Meyering.
72022 2010-01-24  Bruno Haible  <bruno@clisp.org>
72024         More documentation.
72025         * doc/gnulib.texi (Writing modules): New chapter.
72026         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
72027         the new chapter.
72029 2010-01-24  Jim Meyering  <meyering@redhat.com>
72031         maint.mk: do not prepend "./" after filtering
72032         * top/maint.mk (_prepend_srcdir_prefix): New variable
72033         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
72034         "./" when $(srcdir) is ".".
72036         define STREQ(a,b) consistently, removing useless parentheses
72037         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
72038         since the only risk is that "a" or "b" contains an unparenthesized
72039         comma, but if either did that, STREQ would have 3 or more arguments.
72040         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
72041         * lib/fts.c (STREQ): Remove unnecessary parentheses.
72042         * lib/hash-triple.c (STREQ): Likewise.
72043         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
72044         * lib/getugroups.c (STREQ): Likewise.
72046 2010-01-23  Jim Meyering  <meyering@redhat.com>
72048         maint.mk: fix syntax-check in a non-srcdir build directory
72049         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
72050         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
72052 2010-01-22  Jim Meyering  <meyering@redhat.com>
72054         userspec: add unit tests
72055         * tests/test-userspec.c: New file.
72056         * modules/userspec-tests: Likewise.
72058 2010-01-21  Jim Meyering  <meyering@redhat.com>
72060         maint.mk: handle source file names containing "." robustly
72061         * top/maint.mk (_dot_escaped_srcdir): Define.
72062         (VC_LIST): Use it in LHS of sed substitution.
72064 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
72066         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
72067         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
72068         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
72069         from a non-srcdir build.
72071 2010-01-20  Eric Blake  <ebb9@byu.net>
72073         warn-on-use: use instead of link-warning
72074         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
72075         * modules/unistd (Depends-on, Makefile.am): Likewise.
72076         * modules/arpa_inet (Depends-on): Replace link-warning with
72077         warn-on-use.
72078         (Makefile.am): Update rules accordingly.
72079         * modules/ctype (Depends-on, Makefile.am): Likewise.
72080         * modules/dirent (Depends-on, Makefile.am): Likewise.
72081         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
72082         * modules/inttypes (Depends-on, Makefile.am): Likewise.
72083         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72084         * modules/locale (Depends-on, Makefile.am): Likewise.
72085         * modules/math (Depends-on, Makefile.am): Likewise.
72086         * modules/search (Depends-on, Makefile.am): Likewise.
72087         * modules/signal (Depends-on, Makefile.am): Likewise.
72088         * modules/spawn (Depends-on, Makefile.am): Likewise.
72089         * modules/stdlib (Depends-on, Makefile.am): Likewise.
72090         * modules/string (Depends-on, Makefile.am): Likewise.
72091         * modules/strings (Depends-on, Makefile.am): Likewise.
72092         * modules/sys_file (Depends-on, Makefile.am): Likewise.
72093         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
72094         * modules/sys_select (Depends-on, Makefile.am): Likewise.
72095         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
72096         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
72097         * modules/sys_times (Depends-on, Makefile.am): Likewise.
72098         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72099         * modules/wchar (Depends-on, Makefile.am): Likewise.
72100         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
72101         should be poisoned.
72102         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
72103         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
72104         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
72105         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72106         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72107         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
72108         * m4/math_h.m4 (gl_MATH_H): Likewise.
72109         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72110         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
72111         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
72112         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
72113         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
72114         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
72115         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
72116         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
72117         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
72118         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72119         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
72120         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
72121         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72122         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72123         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
72124         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72125         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
72126         GL_LINK_WARNING.
72127         * lib/ctype.in.h: Likewise.
72128         * lib/dirent.in.h: Likewise.
72129         * lib/fcntl.in.h: Likewise.
72130         * lib/inttypes.in.h: Likewise.
72131         * lib/langinfo.in.h: Likewise.
72132         * lib/locale.in.h: Likewise.
72133         * lib/math.in.h: Likewise.
72134         * lib/search.in.h: Likewise.
72135         * lib/signal.in.h: Likewise.
72136         * lib/spawn.in.h: Likewise.
72137         * lib/stdio.in.h: Likewise.
72138         * lib/stdlib.in.h: Likewise.
72139         * lib/string.in.h: Likewise.
72140         * lib/strings.in.h: Likewise.
72141         * lib/sys_file.in.h: Likewise.
72142         * lib/sys_ioctl.in.h: Likewise.
72143         * lib/sys_select.in.h: Likewise.
72144         * lib/sys_socket.in.h: Likewise.
72145         * lib/sys_stat.in.h: Likewise.
72146         * lib/sys_times.in.h: Likewise.
72147         * lib/sys_utsname.in.h: Likewise.
72148         * lib/unistd.in.h: Likewise.
72149         * lib/wchar.in.h: Likewise.
72151 2010-01-20  Bruno Haible  <bruno@clisp.org>
72153         Avoid duplicate -lm.
72154         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
72155         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
72156         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
72157         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
72158         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
72159         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
72160         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
72161         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
72162         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
72163         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
72164         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
72165         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
72166         Reported by Paolo Bonzini.
72168 2010-01-19  Bruno Haible  <bruno@clisp.org>
72170         langinfo, nl_langinfo: Relicense under LGPLv2+.
72171         * modules/langinfo (License): Change to LGPLv2+.
72172         * modules/nl_langinfo (License): Likewise.
72173         Patch by David Lutterkort <lutter@redhat.com>.
72175 2010-01-19  Bruno Haible  <bruno@clisp.org>
72177         Avoid compilation error with cc on OSF/1 5.1.
72178         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
72179         statement, not before.
72180         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72182 2010-01-18  Bruno Haible  <bruno@clisp.org>
72184         Avoid a link error due to the __printf__ symbol.
72185         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
72186         and 2.6.x.
72187         (__format__, __printf__): Remove definitions.
72188         * lib/argp-fmtstream.h: Likewise.
72189         * lib/argp.h: Likewise.
72190         * lib/error.h: Likewise.
72191         * lib/vasnprintf.h: Likewise.
72192         * lib/xprintf.h: Likewise.
72193         * lib/xvasprintf.h: Likewise.
72194         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72196 2010-01-18  Bruno Haible  <bruno@clisp.org>
72198         Tests for module 'tanl'.
72199         * modules/tanl-tests: New file.
72200         * tests/test-tanl.c: New file.
72202         Tests for module 'sqrtl'.
72203         * modules/sqrtl-tests: New file.
72204         * tests/test-sqrtl.c: New file.
72206         Tests for module 'sinl'.
72207         * modules/sinl-tests: New file.
72208         * tests/test-sinl.c: New file.
72210         Tests for module 'logl'.
72211         * modules/logl-tests: New file.
72212         * tests/test-logl.c: New file.
72214         Tests for module 'expl'.
72215         * modules/expl-tests: New file.
72216         * tests/test-expl.c: New file.
72218         Tests for module 'cosl'.
72219         * modules/cosl-tests: New file.
72220         * tests/test-cosl.c: New file.
72222         Tests for module 'atanl'.
72223         * modules/atanl-tests: New file.
72224         * tests/test-atanl.c: New file.
72226         Tests for module 'asinl'.
72227         * modules/asinl-tests: New file.
72228         * tests/test-asinl.c: New file.
72230         Tests for module 'acosl'.
72231         * modules/acosl-tests: New file.
72232         * tests/test-acosl.c: New file.
72234         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72235         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
72236         tanl): Use the standard gnulib idiom.
72237         * lib/cosl.c: Don't include trigl.c and sincosl.c.
72238         * lib/sinl.c: Likewise.
72239         * lib/tanl.c: Don't include trigl.c.
72240         (kernel_tanl): Make static.
72241         * lib/sincosl.c: Include trigl.h first.
72242         * lib/trigl.c: Likewise.
72243         * m4/acosl.m4: New file.
72244         * m4/asinl.m4: New file.
72245         * m4/atanl.m4: New file.
72246         * m4/cosl.m4: New file.
72247         * m4/expl.m4: New file.
72248         * m4/logl.m4: New file.
72249         * m4/sinl.m4: New file.
72250         * m4/sqrtl.m4: New file.
72251         * m4/tanl.m4: New file.
72252         * m4/mathl.m4: Remove file.
72253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
72254         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72255         Don't initialize GNULIB_MATHL.
72256         * modules/acosl: New file.
72257         * modules/asinl: New file.
72258         * modules/atanl: New file.
72259         * modules/cosl: New file.
72260         * modules/expl: New file.
72261         * modules/logl: New file.
72262         * modules/sinl: New file.
72263         * modules/sqrtl: New file.
72264         * modules/tanl: New file.
72265         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
72266         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
72267         substitute GNULIB_MATHL.
72268         * modules/mathl: Rewritten.
72269         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
72270         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
72271         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
72272         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
72273         * doc/posix-functions/expl.texi: Mention the 'expl' module.
72274         * doc/posix-functions/logl.texi: Mention the 'logl' module.
72275         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
72276         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
72277         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
72279 2010-01-18  Bruno Haible  <bruno@clisp.org>
72281         sqrt: Make gl_FUNC_SQRT requirable.
72282         * m4/sqrt.m4: New file.
72283         * modules/sqrt (Files): Add it.
72284         (configure.ac): Invoke gl_FUNC_SQRT.
72286 2010-01-18  Bruno Haible  <bruno@clisp.org>
72288         New modules for common <math.h> functions.
72289         * m4/mathfunc.m4: New file.
72290         * modules/acos: New file.
72291         * modules/asin: New file.
72292         * modules/atan: New file.
72293         * modules/atan2: New file.
72294         * modules/cbrt: New file.
72295         * modules/copysign: New file.
72296         * modules/cos: New file.
72297         * modules/cosh: New file.
72298         * modules/erf: New file.
72299         * modules/erfc: New file.
72300         * modules/exp: New file.
72301         * modules/fabs: New file.
72302         * modules/fmod: New file.
72303         * modules/hypot: New file.
72304         * modules/j0: New file.
72305         * modules/j1: New file.
72306         * modules/jn: New file.
72307         * modules/ldexp: New file.
72308         * modules/lgamma: New file.
72309         * modules/log: New file.
72310         * modules/log10: New file.
72311         * modules/log1p: New file.
72312         * modules/logb: New file.
72313         * modules/modf: New file.
72314         * modules/nextafter: New file.
72315         * modules/pow: New file.
72316         * modules/remainder: New file.
72317         * modules/rint: New file.
72318         * modules/sin: New file.
72319         * modules/sinh: New file.
72320         * modules/sqrt: New file.
72321         * modules/tan: New file.
72322         * modules/tanh: New file.
72323         * modules/y0: New file.
72324         * modules/y1: New file.
72325         * modules/yn: New file.
72326         * doc/posix-functions/acos.texi: Mention the 'acos' module.
72327         * doc/posix-functions/asin.texi: Mention the 'asin' module.
72328         * doc/posix-functions/atan.texi: Mention the 'atan' module.
72329         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
72330         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
72331         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
72332         * doc/posix-functions/cos.texi: Mention the 'cos' module.
72333         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
72334         * doc/posix-functions/erf.texi: Mention the 'erf' module.
72335         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
72336         * doc/posix-functions/exp.texi: Mention the 'exp' module.
72337         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
72338         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
72339         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
72340         * doc/posix-functions/j0.texi: Mention the 'j0' module.
72341         * doc/posix-functions/j1.texi: Mention the 'j1' module.
72342         * doc/posix-functions/jn.texi: Mention the 'jn' module.
72343         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
72344         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
72345         * doc/posix-functions/log.texi: Mention the 'log' module.
72346         * doc/posix-functions/log10.texi: Mention the 'log10' module.
72347         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
72348         * doc/posix-functions/logb.texi: Mention the 'logb' module.
72349         * doc/posix-functions/modf.texi: Mention the 'modf' module.
72350         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
72351         * doc/posix-functions/pow.texi: Mention the 'pow' module.
72352         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
72353         * doc/posix-functions/rint.texi: Mention the 'rint' module.
72354         * doc/posix-functions/sin.texi: Mention the 'sin' module.
72355         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
72356         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
72357         * doc/posix-functions/tan.texi: Mention the 'tan' module.
72358         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
72359         * doc/posix-functions/y0.texi: Mention the 'y0' module.
72360         * doc/posix-functions/y1.texi: Mention the 'y1' module.
72361         * doc/posix-functions/yn.texi: Mention the 'yn' module.
72363 2010-01-18  Jim Meyering  <meyering@redhat.com>
72365         ignore-value: relax license to LGPLv2+
72366         * modules/ignore-value (License): Relax to LGPLv2+.
72368         getdate: don't leak when TZ contains two or more '"'s
72369         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
72370         double quote in TZ after the first one.
72372         readtokens: do not leak internal token_lengths buffer
72373         * lib/readtokens.c (readtokens): Free the local, lengths,
72374         when the supplied "token_lengths" parameter is NULL.
72376 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72378         Fix a couple of missing LIBTHREAD link failures on AIX.
72379         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
72380         $(LIBTHREAD).
72381         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
72383         Link test-poll against INET_PTON_LIB.
72384         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
72385         for inet_pton on Solaris 10.
72387 2010-01-17  Bruno Haible  <bruno@clisp.org>
72389         unistdio/*-sprintf: Fix typo in module description.
72390         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
72391         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
72392         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
72393         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
72394         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
72395         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
72396         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
72397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72399 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72401         gnulib-tool: fix filelist for AIX, HP-UX ksh.
72402         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
72403         variables in shell case patterns, for AIX and HP-UX ksh.
72405         Split large sed scripts, for HP-UX sed.
72406         * modules/stdio: Split sed scripts around 50 sed commands,
72407         to avoid HP-UX limit of 99 commands, in the near future.
72408         * modules/string: Likewise.
72409         * modules/unistd: Likewise.
72411         gnulib-tool: avoid writing in the current directory.
72412         * gnulib-tool (func_emit_lib_Makefile_am)
72413         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
72414         not in the current directory, so concurrent gnulib-tool
72415         instances do not interfere.
72417 2010-01-16  Jim Meyering  <meyering@redhat.com>
72419         doc: update users.txt
72420         * users.txt: Add grep.
72421         (diffutils, gzip): Update URLs.
72423 2010-01-12  Bruno Haible  <bruno@clisp.org>
72425         posix_spawn: Avoid test failure on Cygwin.
72426         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
72427         characters.
72428         Reported by Simon Josefsson.
72430 2010-01-12  Bruno Haible  <bruno@clisp.org>
72432         * tests/test-cond.c (main): When skipping the test, show the reason.
72434 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72436         * lib/striconv.c (str_cd_iconv): Avoid if before free.
72438 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72440         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
72441         VC_LIST_ALWAYS_EXCLUDE_REGEX.
72443 2010-01-12  Eric Blake  <ebb9@byu.net>
72445         build: guarantee AS_VAR_IF
72446         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
72447         (gl_AS_VAR_IF): Move...
72448         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
72449         Reported by Simon Josefsson.
72451 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72453         * lib/stdio.in.h: Fix typo.
72455 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72457         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
72458         libgpg-error.
72460 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72462         * tests/test-xalloc-die.sh: Use $EXEEXT.
72464 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72465             Bruno Haible  <bruno@clisp.org>
72467         getlogin, getlogin_r: Avoid test failure.
72468         * tests/test-getlogin.c: Include <stdio.h>.
72469         (main): Skip the test when the function fails because stdin is not a
72470         tty.
72471         * tests/test-getlogin_r.c: Include <stdio.h>.
72472         (main): Skip the test when the function fails because stdin is not a
72473         tty.
72475 2010-01-11  Eric Blake  <ebb9@byu.net>
72477         tests: avoid more large file warnings
72478         * tests/test-fflush.c: Avoid warning about ftell use.
72479         * tests/test-fseek.c: Avoid warning about fseek use.
72481 2010-01-10  Bruno Haible  <bruno@clisp.org>
72483         nproc: Work better on Linux when /proc and /sys are not mounted.
72484         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
72485         as lower bound when, on glibc/Linux systems,
72486         sysconf (_SC_NPROCESSORS_CONF) returns 1.
72487         Suggested by Pádraig Brady <P@draigbrady.com>.
72488         Reported by Dmitry V. Levin <ldv@altlinux.org>.
72490         nproc: Refactor.
72491         * lib/nproc.c (num_processors_via_affinity_mask): New function,
72492         extracted from num_processors.
72493         (num_processors): Call it.
72495 2010-01-11  Jim Meyering  <meyering@redhat.com>
72497         utimecmp: avoid new warning from upcoming gcc-4.5.0
72498         * lib/utimecmp.c (BILLION): Define using #define rather than an
72499         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
72501 2010-01-11  Eric Blake  <ebb9@byu.net>
72503         math: add portability warnings for classification macros
72504         * modules/math (Depends-on): Add warn-on-use.
72505         (Makefile.am): Provide new substitutions.
72506         * m4/math_h.m4 (gl_MATH_H): Require inline.
72507         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
72508         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
72509         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
72510         implement warnings.
72512         unistd: warn on use of environ without module
72513         * modules/unistd (Depends-on): Add warn-on-use.
72514         (Makefile.am): Provide new substitutions.
72515         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
72516         * lib/unistd.in.h (environ): Wrap with a warning helper function.
72518         stdio: warn on suspicious uses
72519         * modules/stdio (Depends-on): Add warn-on-use.
72520         (Makefile.am): Provide new substitutions.
72521         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
72522         fseeko.
72523         * lib/stdio.in.h (gets): Always warn on use.
72524         (fseek, ftell): Adjust when warnings are issued, and honor
72525         _GL_NO_LARGE_FILES as a way to silence the warning.
72526         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
72527         any warning about large file offsets.
72528         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
72529         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
72530         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
72531         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
72532         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
72533         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
72534         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
72535         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
72537         warn-on-use: new module
72538         * modules/warn-on-use: New file.
72539         * build-aux/warn-on-use.h: Likewise.
72540         * m4/warn-on-use.m4: Likewise.
72541         * MODULES.html.sh (Support for building): Mention it.
72543 2010-01-10  Bruno Haible  <bruno@clisp.org>
72545         Tests for module 'unistr/u32-strdup'.
72546         * modules/unistr/u32-strdup-tests: New file.
72547         * tests/unistr/test-u32-strdup.c: New file.
72549         Tests for module 'unistr/u16-strdup'.
72550         * modules/unistr/u16-strdup-tests: New file.
72551         * tests/unistr/test-u16-strdup.c: New file.
72553         Tests for module 'unistr/u8-strdup'.
72554         * modules/unistr/u8-strdup-tests: New file.
72555         * tests/unistr/test-u8-strdup.c: New file.
72556         * tests/unistr/test-strdup.h: New file.
72558         Tests for module 'unistr/u32-strncmp'.
72559         * modules/unistr/u32-strncmp-tests: New file.
72560         * tests/unistr/test-u32-strncmp.c: New file.
72562         Tests for module 'unistr/u16-strncmp'.
72563         * modules/unistr/u16-strncmp-tests: New file.
72564         * tests/unistr/test-u16-strncmp.c: New file.
72566         Tests for module 'unistr/u8-strncmp'.
72567         * modules/unistr/u8-strncmp-tests: New file.
72568         * tests/unistr/test-u8-strncmp.c: New file.
72569         * tests/unistr/test-strncmp.h: New file.
72571         Tests for module 'unistr/u32-strcoll'.
72572         * modules/unistr/u32-strcoll-tests: New file.
72573         * tests/unistr/test-u32-strcoll.c: New file.
72575         Tests for module 'unistr/u16-strcoll'.
72576         * modules/unistr/u16-strcoll-tests: New file.
72577         * tests/unistr/test-u16-strcoll.c: New file.
72579         Tests for module 'unistr/u8-strcoll'.
72580         * modules/unistr/u8-strcoll-tests: New file.
72581         * tests/unistr/test-u8-strcoll.c: New file.
72583         Tests for module 'unistr/u32-strcmp'.
72584         * modules/unistr/u32-strcmp-tests: New file.
72585         * tests/unistr/test-u32-strcmp.c: New file.
72586         * tests/unistr/test-u32-strcmp.h: New file.
72588         Tests for module 'unistr/u16-strcmp'.
72589         * modules/unistr/u16-strcmp-tests: New file.
72590         * tests/unistr/test-u16-strcmp.c: New file.
72591         * tests/unistr/test-u16-strcmp.h: New file.
72593         Tests for module 'unistr/u8-strcmp'.
72594         * modules/unistr/u8-strcmp-tests: New file.
72595         * tests/unistr/test-u8-strcmp.c: New file.
72596         * tests/unistr/test-u8-strcmp.h: New file.
72597         * tests/unistr/test-strcmp.h: New file.
72599         Tests for module 'unistr/u32-strncat'.
72600         * modules/unistr/u32-strncat-tests: New file.
72601         * tests/unistr/test-u32-strncat.c: New file.
72603         Tests for module 'unistr/u16-strncat'.
72604         * modules/unistr/u16-strncat-tests: New file.
72605         * tests/unistr/test-u16-strncat.c: New file.
72607         Tests for module 'unistr/u8-strncat'.
72608         * modules/unistr/u8-strncat-tests: New file.
72609         * tests/unistr/test-u8-strncat.c: New file.
72610         * tests/unistr/test-strncat.h: New file.
72612         Tests for module 'unistr/u32-strcat'.
72613         * modules/unistr/u32-strcat-tests: New file.
72614         * tests/unistr/test-u32-strcat.c: New file.
72616         Tests for module 'unistr/u16-strcat'.
72617         * modules/unistr/u16-strcat-tests: New file.
72618         * tests/unistr/test-u16-strcat.c: New file.
72620         Tests for module 'unistr/u8-strcat'.
72621         * modules/unistr/u8-strcat-tests: New file.
72622         * tests/unistr/test-u8-strcat.c: New file.
72623         * tests/unistr/test-strcat.h: New file.
72625         Tests for module 'unistr/u32-stpncpy'.
72626         * modules/unistr/u32-stpncpy-tests: New file.
72627         * tests/unistr/test-u32-stpncpy.c: New file.
72629         Tests for module 'unistr/u16-stpncpy'.
72630         * modules/unistr/u16-stpncpy-tests: New file.
72631         * tests/unistr/test-u16-stpncpy.c: New file.
72633         Tests for module 'unistr/u8-stpncpy'.
72634         * modules/unistr/u8-stpncpy-tests: New file.
72635         * tests/unistr/test-u8-stpncpy.c: New file.
72636         * tests/unistr/test-stpncpy.h: New file.
72638         Tests for module 'unistr/u32-strncpy'.
72639         * modules/unistr/u32-strncpy-tests: New file.
72640         * tests/unistr/test-u32-strncpy.c: New file.
72642         Tests for module 'unistr/u16-strncpy'.
72643         * modules/unistr/u16-strncpy-tests: New file.
72644         * tests/unistr/test-u16-strncpy.c: New file.
72646         Tests for module 'unistr/u8-strncpy'.
72647         * modules/unistr/u8-strncpy-tests: New file.
72648         * tests/unistr/test-u8-strncpy.c: New file.
72649         * tests/unistr/test-strncpy.h: New file.
72651         Tests for module 'unistr/u32-stpcpy'.
72652         * modules/unistr/u32-stpcpy-tests: New file.
72653         * tests/unistr/test-u32-stpcpy.c: New file.
72655         Tests for module 'unistr/u16-stpcpy'.
72656         * modules/unistr/u16-stpcpy-tests: New file.
72657         * tests/unistr/test-u16-stpcpy.c: New file.
72659         Tests for module 'unistr/u8-stpcpy'.
72660         * modules/unistr/u8-stpcpy-tests: New file.
72661         * tests/unistr/test-u8-stpcpy.c: New file.
72662         * tests/unistr/test-stpcpy.h: New file.
72664         Tests for module 'unistr/u32-strcpy'.
72665         * modules/unistr/u32-strcpy-tests: New file.
72666         * tests/unistr/test-u32-strcpy.c: New file.
72668         Tests for module 'unistr/u16-strcpy'.
72669         * modules/unistr/u16-strcpy-tests: New file.
72670         * tests/unistr/test-u16-strcpy.c: New file.
72672         Tests for module 'unistr/u8-strcpy'.
72673         * modules/unistr/u8-strcpy-tests: New file.
72674         * tests/unistr/test-u8-strcpy.c: New file.
72675         * tests/unistr/test-strcpy.h: New file.
72677         Tests for module 'unistr/u32-strnlen'.
72678         * modules/unistr/u32-strnlen-tests: New file.
72679         * tests/unistr/test-u32-strnlen.c: New file.
72681         Tests for module 'unistr/u16-strnlen'.
72682         * modules/unistr/u16-strnlen-tests: New file.
72683         * tests/unistr/test-u16-strnlen.c: New file.
72685         Tests for module 'unistr/u8-strnlen'.
72686         * modules/unistr/u8-strnlen-tests: New file.
72687         * tests/unistr/test-u8-strnlen.c: New file.
72688         * tests/unistr/test-strnlen.h: New file.
72690         Tests for module 'unistr/u32-strlen'.
72691         * modules/unistr/u32-strlen-tests: New file.
72692         * tests/unistr/test-u32-strlen.c: New file.
72694         Tests for module 'unistr/u16-strlen'.
72695         * modules/unistr/u16-strlen-tests: New file.
72696         * tests/unistr/test-u16-strlen.c: New file.
72698         Tests for module 'unistr/u8-strlen'.
72699         * modules/unistr/u8-strlen-tests: New file.
72700         * tests/unistr/test-u8-strlen.c: New file.
72702         Tests for module 'unistr/u32-prev'.
72703         * modules/unistr/u32-prev-tests: New file.
72704         * tests/unistr/test-u32-prev.c: New file.
72706         Tests for module 'unistr/u16-prev'.
72707         * modules/unistr/u16-prev-tests: New file.
72708         * tests/unistr/test-u16-prev.c: New file.
72710         Tests for module 'unistr/u8-prev'.
72711         * modules/unistr/u8-prev-tests: New file.
72712         * tests/unistr/test-u8-prev.c: New file.
72714         Tests for module 'unistr/u32-next'.
72715         * modules/unistr/u32-next-tests: New file.
72716         * tests/unistr/test-u32-next.c: New file.
72718         Tests for module 'unistr/u16-next'.
72719         * modules/unistr/u16-next-tests: New file.
72720         * tests/unistr/test-u16-next.c: New file.
72722         Tests for module 'unistr/u8-next'.
72723         * modules/unistr/u8-next-tests: New file.
72724         * tests/unistr/test-u8-next.c: New file.
72726         Tests for module 'unistr/u32-strmbtouc'.
72727         * modules/unistr/u32-strmbtouc-tests: New file.
72728         * tests/unistr/test-u32-strmbtouc.c: New file.
72730         Tests for module 'unistr/u16-strmbtouc'.
72731         * modules/unistr/u16-strmbtouc-tests: New file.
72732         * tests/unistr/test-u16-strmbtouc.c: New file.
72734         Tests for module 'unistr/u8-strmbtouc'.
72735         * modules/unistr/u8-strmbtouc-tests: New file.
72736         * tests/unistr/test-u8-strmbtouc.c: New file.
72738         Tests for module 'unistr/u32-strmblen'.
72739         * modules/unistr/u32-strmblen-tests: New file.
72740         * tests/unistr/test-u32-strmblen.c: New file.
72742         Tests for module 'unistr/u16-strmblen'.
72743         * modules/unistr/u16-strmblen-tests: New file.
72744         * tests/unistr/test-u16-strmblen.c: New file.
72746         Tests for module 'unistr/u8-strmblen'.
72747         * modules/unistr/u8-strmblen-tests: New file.
72748         * tests/unistr/test-u8-strmblen.c: New file.
72750         Tests for module 'unistr/u32-cpy-alloc'.
72751         * modules/unistr/u32-cpy-alloc-tests: New file.
72752         * tests/unistr/test-u32-cpy-alloc.c: New file.
72754         Tests for module 'unistr/u16-cpy-alloc'.
72755         * modules/unistr/u16-cpy-alloc-tests: New file.
72756         * tests/unistr/test-u16-cpy-alloc.c: New file.
72758         Tests for module 'unistr/u8-cpy-alloc'.
72759         * modules/unistr/u8-cpy-alloc-tests: New file.
72760         * tests/unistr/test-u8-cpy-alloc.c: New file.
72761         * tests/unistr/test-cpy-alloc.h: New file.
72763         Tests for module 'unistr/u32-mbsnlen'.
72764         * modules/unistr/u32-mbsnlen-tests: New file.
72765         * tests/unistr/test-u32-mbsnlen.c: New file.
72767         Tests for module 'unistr/u16-mbsnlen'.
72768         * modules/unistr/u16-mbsnlen-tests: New file.
72769         * tests/unistr/test-u16-mbsnlen.c: New file.
72771         Tests for module 'unistr/u8-mbsnlen'.
72772         * modules/unistr/u8-mbsnlen-tests: New file.
72773         * tests/unistr/test-u8-mbsnlen.c: New file.
72775         Tests for module 'unistr/u32-chr'.
72776         * modules/unistr/u32-chr-tests: New file.
72777         * tests/unistr/test-u32-chr.c: New file.
72779         Tests for module 'unistr/u16-chr'.
72780         * modules/unistr/u16-chr-tests: New file.
72781         * tests/unistr/test-u16-chr.c: New file.
72783         Tests for module 'unistr/u8-chr'.
72784         * modules/unistr/u8-chr-tests: New file.
72785         * tests/unistr/test-u8-chr.c: New file.
72786         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
72788         Tests for module 'unistr/u32-cmp2'.
72789         * modules/unistr/u32-cmp2-tests: New file.
72790         * tests/unistr/test-u32-cmp2.c: New file.
72792         Tests for module 'unistr/u16-cmp2'.
72793         * modules/unistr/u16-cmp2-tests: New file.
72794         * tests/unistr/test-u16-cmp2.c: New file.
72796         Tests for module 'unistr/u8-cmp2'.
72797         * modules/unistr/u8-cmp2-tests: New file.
72798         * tests/unistr/test-u8-cmp2.c: New file.
72799         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
72801         Tests for module 'unistr/u32-cmp'.
72802         * modules/unistr/u32-cmp-tests: New file.
72803         * tests/unistr/test-u32-cmp.c: New file.
72805         Tests for module 'unistr/u16-cmp'.
72806         * modules/unistr/u16-cmp-tests: New file.
72807         * tests/unistr/test-u16-cmp.c: New file.
72809         Tests for module 'unistr/u8-cmp'.
72810         * modules/unistr/u8-cmp-tests: New file.
72811         * tests/unistr/test-u8-cmp.c: New file.
72812         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
72814         Tests for module 'unistr/u32-set'.
72815         * modules/unistr/u32-set-tests: New file.
72816         * tests/unistr/test-u32-set.c: New file.
72818         Tests for module 'unistr/u16-set'.
72819         * modules/unistr/u16-set-tests: New file.
72820         * tests/unistr/test-u16-set.c: New file.
72822         Tests for module 'unistr/u8-set'.
72823         * modules/unistr/u8-set-tests: New file.
72824         * tests/unistr/test-u8-set.c: New file.
72825         * tests/unistr/test-set.h: New file.
72827         Tests for module 'unistr/u32-move'.
72828         * modules/unistr/u32-move-tests: New file.
72829         * tests/unistr/test-u32-move.c: New file.
72831         Tests for module 'unistr/u16-move'.
72832         * modules/unistr/u16-move-tests: New file.
72833         * tests/unistr/test-u16-move.c: New file.
72835         Tests for module 'unistr/u8-move'.
72836         * modules/unistr/u8-move-tests: New file.
72837         * tests/unistr/test-u8-move.c: New file.
72838         * tests/unistr/test-move.h: New file.
72840         Tests for module 'unistr/u32-cpy'.
72841         * modules/unistr/u32-cpy-tests: New file.
72842         * tests/unistr/test-u32-cpy.c: New file.
72844         Tests for module 'unistr/u16-cpy'.
72845         * modules/unistr/u16-cpy-tests: New file.
72846         * tests/unistr/test-u16-cpy.c: New file.
72848         Tests for module 'unistr/u8-cpy'.
72849         * modules/unistr/u8-cpy-tests: New file.
72850         * tests/unistr/test-u8-cpy.c: New file.
72851         * tests/unistr/test-cpy.h: New file.
72853 2010-01-09  Bruno Haible  <bruno@clisp.org>
72855         Tests for module 'unistr/u32-uctomb'.
72856         * modules/unistr/u32-uctomb-tests: New file.
72857         * tests/unistr/test-u32-uctomb.c: New file.
72859         Tests for module 'unistr/u16-uctomb'.
72860         * modules/unistr/u16-uctomb-tests: New file.
72861         * tests/unistr/test-u16-uctomb.c: New file.
72863         Tests for module 'unistr/u8-uctomb'.
72864         * modules/unistr/u8-uctomb-tests: New file.
72865         * tests/unistr/test-u8-uctomb.c: New file.
72867         Tests for module 'unistr/u32-mbtoucr'.
72868         * modules/unistr/u32-mbtoucr-tests: New file.
72869         * tests/unistr/test-u32-mbtoucr.c: New file.
72871         Tests for module 'unistr/u16-mbtoucr'.
72872         * modules/unistr/u16-mbtoucr-tests: New file.
72873         * tests/unistr/test-u16-mbtoucr.c: New file.
72875         Tests for module 'unistr/u8-mbtoucr'.
72876         * modules/unistr/u8-mbtoucr-tests: New file.
72877         * tests/unistr/test-u8-mbtoucr.c: New file.
72879         Tests for module 'unistr/u32-mbtouc'.
72880         * modules/unistr/u32-mbtouc-tests: New file.
72881         * tests/unistr/test-u32-mbtouc.c: New file.
72883         Tests for module 'unistr/u16-mbtouc'.
72884         * modules/unistr/u16-mbtouc-tests: New file.
72885         * tests/unistr/test-u16-mbtouc.c: New file.
72887         Tests for module 'unistr/u8-mbtouc'.
72888         * modules/unistr/u8-mbtouc-tests: New file.
72889         * tests/unistr/test-u8-mbtouc.c: New file.
72891         Tests for module 'unistr/u32-mbtouc-unsafe'.
72892         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
72893         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
72894         * tests/unistr/test-u32-mbtouc.h: New file.
72896         Tests for module 'unistr/u16-mbtouc-unsafe'.
72897         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
72898         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
72899         * tests/unistr/test-u16-mbtouc.h: New file.
72901         Tests for module 'unistr/u8-mbtouc-unsafe'.
72902         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
72903         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
72904         * tests/unistr/test-u8-mbtouc.h: New file.
72906         Tests for module 'unistr/u32-mblen'.
72907         * modules/unistr/u32-mblen-tests: New file.
72908         * tests/unistr/test-u32-mblen.c: New file.
72910         Tests for module 'unistr/u16-mblen'.
72911         * modules/unistr/u16-mblen-tests: New file.
72912         * tests/unistr/test-u16-mblen.c: New file.
72914         Tests for module 'unistr/u8-mblen'.
72915         * modules/unistr/u8-mblen-tests: New file.
72916         * tests/unistr/test-u8-mblen.c: New file.
72918         Tests for module 'unistr/u32-to-u16'.
72919         * modules/unistr/u32-to-u16-tests: New file.
72920         * tests/unistr/test-u32-to-u16.c: New file.
72922         Tests for module 'unistr/u32-to-u8'.
72923         * modules/unistr/u32-to-u8-tests: New file.
72924         * tests/unistr/test-u32-to-u8.c: New file.
72926         Tests for module 'unistr/u16-to-u32'.
72927         * modules/unistr/u16-to-u32-tests: New file.
72928         * tests/unistr/test-u16-to-u32.c: New file.
72930         Tests for module 'unistr/u16-to-u8'.
72931         * modules/unistr/u16-to-u8-tests: New file.
72932         * tests/unistr/test-u16-to-u8.c: New file.
72934         Tests for module 'unistr/u8-to-u32'.
72935         * modules/unistr/u8-to-u32-tests: New file.
72936         * tests/unistr/test-u8-to-u32.c: New file.
72938         Tests for module 'unistr/u8-to-u16'.
72939         * modules/unistr/u8-to-u16-tests: New file.
72940         * tests/unistr/test-u8-to-u16.c: New file.
72942         Tests for module 'unistr/u32-check'.
72943         * modules/unistr/u32-check-tests: New file.
72944         * tests/unistr/test-u32-check.c: New file.
72946         Tests for module 'unistr/u16-check'.
72947         * modules/unistr/u16-check-tests: New file.
72948         * tests/unistr/test-u16-check.c: New file.
72950         Tests for module 'unistr/u8-check'.
72951         * modules/unistr/u8-check-tests: New file.
72952         * tests/unistr/test-u8-check.c: New file.
72954         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
72955         (category_equals): New function.
72956         (main): Add more tests.
72957         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
72959         * tests/unictype/test-bidi_byname.c (main): Add more tests.
72961 2010-01-10  Bruno Haible  <bruno@clisp.org>
72963         unistr/u*-strcoll: Try harder to distinguish different strings.
72964         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
72965         compare s1 and s2 to see if they are different.
72967 2010-01-10  Bruno Haible  <bruno@clisp.org>
72969         unistr/u*-stpncpy: Fix the return value.
72970         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
72971         description of the return value consistent with stpncpy in glibc.
72972         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
72973         written non-NUL unit.
72975 2010-01-10  Bruno Haible  <bruno@clisp.org>
72977         unistr/u*-next: Add missing dependencies.
72978         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
72979         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
72980         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
72982 2010-01-10  Bruno Haible  <bruno@clisp.org>
72984         unistr/u8-mbsnlen: Fix return value for incomplete character.
72985         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
72986         u8_mblen.
72987         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
72988         Remove unistr/u8-mblen.
72989         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
72990         u16_mblen.
72991         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
72992         Remove unistr/u16-mblen.
72994 2010-01-10  Bruno Haible  <bruno@clisp.org>
72996         wchar: Fix compilation error when <wchar.h> is used from coreutils.
72997         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
72998         Reported by Brian Gough <bjg@gnu.org> and
72999         Chris Clayton <chris2553@googlemail.com> via
73000         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
73002 2010-01-09  Bruno Haible  <bruno@clisp.org>
73004         unistr/u16-to-u32: Reject invalid input.
73005         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
73006         u16_mbtouc.
73007         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
73008         Remove unistr/u16-mbtouc.
73010         unistr/u16-to-u8: Reject invalid input.
73011         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
73012         u16_mbtouc.
73013         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
73014         Remove unistr/u16-mbtouc.
73016         unistr/u8-to-u32: Reject invalid input.
73017         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
73018         u8_mbtouc.
73019         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
73020         Remove unistr/u8-mbtouc.
73022         unistr/u8-to-u16: Reject invalid input.
73023         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
73024         u8_mbtouc.
73025         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
73026         Remove unistr/u8-mbtouc.
73028 2010-01-09  Bruno Haible  <bruno@clisp.org>
73030         Tests for module 'getlogin'.
73031         * modules/getlogin-tests: New file.
73032         * tests/test-getlogin.c: New file.
73034         New module 'getlogin'.
73035         * lib/unistd.in.h (getlogin): New declaration.
73036         * lib/getlogin.c: New file.
73037         * m4/getlogin.m4: New file.
73038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
73039         HAVE_GETLOGIN.
73040         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
73041         HAVE_GETLOGIN.
73042         * modules/getlogin: New file.
73043         * doc/posix-functions/getlogin.texi: Mention the new module.
73044         Reported by John W. Eaton <jwe@gnu.org>.
73046 2010-01-09  Bruno Haible  <bruno@clisp.org>
73048         getlogin_r: Support for native Windows.
73049         * lib/getlogin_r.c: Include <windows.h>
73050         (getlogin_r): Implement for native Windows.
73051         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
73052         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
73053         via John W. Eaton <jwe@gnu.org>.
73055 2010-01-09  Bruno Haible  <bruno@clisp.org>
73057         getlogin_r: Small fixes.
73058         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
73059         succeeds.
73060         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
73061         before testing whether getlogin_r is declared. No need to set
73062         HAVE_DECL_GETLOGIN_R to 1.
73063         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
73065 2010-01-09  Bruno Haible  <bruno@clisp.org>
73067         * lib/unistd.in.h (getlogin_r): Add comment.
73069 2010-01-09  Bruno Haible  <bruno@clisp.org>
73071         Tests for module 'getlogin_r'.
73072         * modules/getlogin_r-tests: New file.
73073         * tests/test-getlogin_r.c: New file.
73075 2010-01-09  Jim Meyering  <meyering@redhat.com>
73077         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
73078         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
73079         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
73081 2010-01-08  Simon Josefsson  <simon@josefsson.org>
73083         * lib/dup2.c (rpl_dup2): Improve comment.
73085 2010-01-08  Eric Blake  <ebb9@byu.net>
73087         maint.mk: allow packages to add makefile @@ exceptions
73088         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
73089         (sc_makefile_check): Rename...
73090         (sc_makefile_at_at_check): ...to this, and use hook.
73092         dup2: work around mingw bug
73093         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
73094         Reported by Simon Josefsson.
73096 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
73098         glob: Fix C++ compilation.
73099         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
73100         C++.
73102 2010-01-07  Bruno Haible  <bruno@clisp.org>
73104         Fix indentation of wctype.in.h, broken since 2007-01-06.
73105         * lib/wctype.in.h: Fix indentation of preprocessor directives.
73107 2010-01-07  Bruno Haible  <bruno@clisp.org>
73109         mbslen: Avoid collision with system function.
73110         * lib/string.in.h [MirBSD]: Include <wchar.h>.
73111         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
73112         * m4/mbslen.m4: New file.
73113         * modules/mbslen (Files): Add it.
73114         (configure.ac): Invoke gl_MBSLEN.
73115         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
73116         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
73117         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
73118         via Ian Beckwith <ianb@erislabs.net>.
73120 2010-01-07  Bruno Haible  <bruno@clisp.org>
73122         dirent: Document the last fix.
73123         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
73125 2010-01-07  Bruno Haible  <bruno@clisp.org>
73127         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
73128         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
73129         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
73130         va_list are defined.
73131         * doc/posix-headers/stdio.texi: Document the bug of missing types.
73132         Reported by Eric Blake.
73134 2010-01-07  Bruno Haible  <bruno@clisp.org>
73136         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
73137         * modules/xlist (Depends-on): Add 'list',
73138         * modules/xoset (Depends-on): Add 'oset'.
73139         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73141 2010-01-07  Bruno Haible  <bruno@clisp.org>
73143         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
73144         * doc/posix-functions/strncasecmp.texi: Likewise.
73146 2010-01-07  Bruno Haible  <bruno@clisp.org>
73148         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
73150 2010-01-07  John W. Eaton  <jwe@octave.org>
73152         wctype: allow C++ use
73153         * lib/wctype.in.h: Add extern "C" block for C++.
73155 2010-01-06  Eric Blake  <ebb9@byu.net>
73157         maint.mk: detect incorrect GFDL usage
73158         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
73160 2010-01-06  Jim Meyering  <meyering@redhat.com>
73161         and Eric Blake  <ebb9@byu.net>
73163         maint.mk: ignore multi-line copyright in NEWS
73164         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
73166 2010-01-06  Eric Blake  <ebb9@byu.net>
73168         select: add missing dependency
73169         * modules/select-tests (Depends-on): Move sockets dependency...
73170         * modules/select (Depends-on): ...here.
73171         Reported by Ian Beckwith.
73173         doc: regenerate INSTALL
73174         * doc/INSTALL: Reflect recent autoconf update.
73175         * doc/INSTALL.ISO: Likewise.
73176         * doc/INSTALL.UTF-8: Likewise.
73178         pread: fix compilation on glibc
73179         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
73180         Reported by Ralf Wildenhues.
73182         dirent: fix test failure
73183         * lib/dirent.in.h (includes): Guarantee ino_t.
73184         Reported by Ralf Wildenhues.
73186 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
73188         linkat, renameat: avoid bad free
73189         * lib/at-func2.c (at_func2): Fix typo.
73190         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
73192 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73194         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
73195         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
73196         to avoid failure of symlink test later.
73198 2010-01-06  Eric Blake  <ebb9@byu.net>
73200         stdio, unistd: guarantee ssize_t
73201         * lib/unistd.in.h (includes): Ensure that types required by POSIX
73202         2008 are exposed when needed.
73203         * lib/stdio.in.h (includes): Likewise.
73204         Reported by Ralf Wildenhues.
73206 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
73208         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
73209         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
73210         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
73212 2010-01-06  Jim Meyering  <meyering@redhat.com>
73214         readtokens: this module *does* require xalloc.h
73215         It uses only functions that were omitted by the old syntax-check rule.
73216         * lib/readtokens.c: Include "xalloc.h" once again.
73217         * modules/readtokens (Depends-on): Add xalloc.
73218         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
73220 2010-01-05  Eric Blake  <ebb9@byu.net>
73222         maint: support 'make announcement' from a VPATH build
73223         * top/maint.mk (announcement): Look for correct NEWS file.
73225 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
73227         utimens (fdutimens): ignore a negative FD, per contract
73228         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
73229         when we have a valid file descriptor.  Otherwise, using a brand
73230         new glibc (with just-patched futimens that now fails with EBADF)
73231         would cause this function to fail with ENOSYS.
73232         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
73233         See also http://bugzilla.redhat.com/552320.
73235 2010-01-05  Eric Blake  <ebb9@byu.net>
73237         strcase: document what it provides
73238         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
73239         gnulib module.
73240         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
73241         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
73243 2010-01-05  Jim Meyering  <meyering@redhat.com>
73245         maint: remove useless inclusions of "xalloc.h"
73246         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
73247         * lib/readtokens.c: Likewise.
73248         * lib/same.c: Likewise.
73249         * modules/getloadavg (Depends-on): Remove xalloc.
73250         * modules/readtokens: Likewise.
73251         * modules/same: Likewise.
73253         maint.mk: include 4 more function names in alloca.h-checking regexp
73254         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
73255         regexp.  Before, we would give a false-positive (saying alloca.h
73256         is included unnecessarily) when the only uses involved omitted symbols.
73258         xalloc.h: use consistent formatting
73259         * lib/xalloc.h: Move declarations to start in the first column.
73261 2010-01-05  Eric Blake  <ebb9@byu.net>
73263         mkdir: avoid xalloc
73264         * lib/mkdir.c (includes): Drop unused header.
73265         Reported by John W. Eaton.
73267 2010-01-04  Jim Meyering  <meyering@redhat.com>
73269         nl_langinfo: avoid configure-time syntax error
73270         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
73271         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
73272         the empty string.  Don't let that provoke a shell syntax error.
73274         regcomp, regexec, fnmatch: avoid array bounds read error
73275         * lib/regcomp.c (build_equiv_class): From glibc:
73276         Use only the low 24 bits of a findidx return value as an index
73277         into the weights array.  Patch by Ulrich Drepper:
73278         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
73279         * lib/regexec.c (check_node_accept_bytes): Likewise.
73280         * lib/fnmatch_loop.c (FCT): Likewise.
73282         regcomp: skip collseq lookup when there are no rules
73283         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
73284         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
73286         regcomp: recognize ill-formed { } expressions
73287         * lib/regcomp.c (parse_dup_op): From glibc:
73288         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
73290         regcomp: fix typo in comment
73291         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
73292         s/satisfy/satisfies/.
73294         regcomp: sync from glibc: remove dead store
73295         * lib/regcomp.c (duplicate_node_closure): Remove useless
73296         search_duplicated_node call and dead store.
73298         regcomp: sync from glibc; always use nl_langinfo
73299         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
73300         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
73301         * modules/regex (Depends-on): Add nl_langinfo.
73303 2010-01-04  Eric Blake  <ebb9@byu.net>
73305         fdopendir: fix configure test
73306         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
73308 2010-01-01  Bruno Haible  <bruno@clisp.org>
73310         wchar: Remove unused configure check.
73311         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
73313 2010-01-01  Eric Blake  <ebb9@byu.net>
73315         headers: make check of system header explicit
73316         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
73317         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
73318         ourselves.
73319         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73321         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
73322         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
73323         internals.
73324         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
73325         missing.
73326         Suggested by Bruno Haible.
73328 2010-01-01  Jim Meyering  <meyering@redhat.com>
73330         ChangeLog: tweak to eliminate unnecessary copyright line
73331         * ChangeLog: Remove a copyright line that was mistakenly updated
73332         by today's update-copyright run.  Reported by Eric Blake.
73334         test-update-copyright: don't let envvar setting cause test failure
73335         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
73337 2010-01-01  Bruno Haible  <bruno@clisp.org>
73339         localename: Avoid gcc warning.
73340         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
73341         function if it is not used.
73343 2010-01-01  Jim Meyering  <meyering@redhat.com>
73345         update nearly all FSF copyright year lists to include 2010
73346         Use the same procedure as for 2009, outlined in
73347         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
73349         version-etc: set COPYRIGHT_YEAR to 2010
73350         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
73352 2009-12-31  Eric Blake  <ebb9@byu.net>
73354         doc: correct availability of cygwin 1.5.x getopt
73355         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
73356         variables.
73357         * doc/posix-functions/opterr.texi (opterr): Likewise.
73358         * doc/posix-functions/optind.texi (optind): Likewise.
73359         * doc/posix-functions/optopt.texi (optopt): Likewise.
73360         * doc/posix-functions/tzname.texi (tzname): Likewise.
73362         openat: update maintainer
73363         * modules/openat (Maintainer): Add myself.
73365         utimens: avoid shadowing warning
73366         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
73367         buffers into one, to avoid shadowing, as well as avoiding a
73368         redundant stat.
73369         Reported by Jim Meyering.
73371         test-dup2: avoid compiler warning
73372         * tests/test-dup2.c (is_inheritable): Only define if used.
73374 2010-01-01  Bruno Haible  <bruno@clisp.org>
73376         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
73377         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
73378         defined, use wctomb instead of wcrtomb.
73380 2010-01-01  Bruno Haible  <bruno@clisp.org>
73382         iconv: Reject native Solaris iconv.
73383         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
73384         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
73386 2009-12-31  Bruno Haible  <bruno@clisp.org>
73388         * tests/test-signal.c (main): Remove test of 'SIG'.
73390 2009-12-31  Bruno Haible  <bruno@clisp.org>
73392         spawn: Fix incomplete fix.
73393         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73394         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73395         warnings for GNULIB_POSIXCHECK again.
73396         Reported by Eric Blake.
73398 2009-12-31  Bruno Haible  <bruno@clisp.org>
73400         Avoid namespace pollution on glibc systems.
73401         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
73402         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
73403         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
73404         glibc systems.
73406 2009-12-31  Bruno Haible  <bruno@clisp.org>
73408         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
73409         (gl_REPLACE_WCHAR_H): Turn into a no-op.
73410         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
73411         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
73412         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
73413         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
73414         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
73416 2009-12-31  Bruno Haible  <bruno@clisp.org>
73418         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
73419         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
73420         afterwards.
73422 2009-12-31  Bruno Haible  <bruno@clisp.org>
73424         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
73425         SYS_UTSNAME_H.
73427 2009-12-31  Bruno Haible  <bruno@clisp.org>
73429         spawn: Fix misapplied patch.
73430         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73431         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73432         warnings for GNULIB_POSIXCHECK.
73434 2009-12-31  Bruno Haible  <bruno@clisp.org>
73436         times: Update after sys_times changed.
73437         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
73438         * modules/times (Files): Add it.
73439         (configure.ac): Invoke gl_FUNC_TIMES.
73441 2009-12-31  Bruno Haible  <bruno@clisp.org>
73443         Use AC_C_INLINE where necessary.
73444         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
73445         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
73446         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73447         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
73448         * m4/mbfile.m4 (gl_MBFILE): Likewise.
73449         * m4/mbiter.m4 (gl_MBITER): Likewise.
73450         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73451         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
73452         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
73453         * modules/u64 (configure.ac): Likewise.
73455 2009-12-31  Bruno Haible  <bruno@clisp.org>
73457         Use AC_C_INLINE instead of module 'inline' where possible.
73458         * modules/inline (Description): Clarify purpose.
73459         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
73460         * modules/count-one-bits (Depends-on): Remove inline.
73461         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
73462         * modules/openat (Depends-on): Remove inline.
73463         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
73464         instead of depending on module 'inline'.
73465         * modules/filevercmp (Depends-on, configure.ac): Likewise.
73466         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
73467         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
73468         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
73469         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
73470         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
73471         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
73472         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
73473         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
73474         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
73475         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
73476         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
73477         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
73478         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
73479         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
73480         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
73481         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
73482         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
73483         Likewise.
73484         * modules/unictype/property-ascii-hex-digit (Depends-on,
73485         configure.ac): Likewise.
73486         * modules/unictype/property-bidi-arabic-digit (Depends-on,
73487         configure.ac): Likewise.
73488         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
73489         configure.ac): Likewise.
73490         * modules/unictype/property-bidi-block-separator (Depends-on,
73491         configure.ac): Likewise.
73492         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
73493         configure.ac): Likewise.
73494         * modules/unictype/property-bidi-common-separator (Depends-on,
73495         configure.ac): Likewise.
73496         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
73497         Likewise.
73498         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
73499         configure.ac): Likewise.
73500         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
73501         configure.ac): Likewise.
73502         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
73503         configure.ac): Likewise.
73504         * modules/unictype/property-bidi-european-digit (Depends-on,
73505         configure.ac): Likewise.
73506         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
73507         configure.ac): Likewise.
73508         * modules/unictype/property-bidi-left-to-right (Depends-on,
73509         configure.ac): Likewise.
73510         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
73511         configure.ac): Likewise.
73512         * modules/unictype/property-bidi-other-neutral (Depends-on,
73513         configure.ac): Likewise.
73514         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
73515         Likewise.
73516         * modules/unictype/property-bidi-segment-separator (Depends-on,
73517         configure.ac): Likewise.
73518         * modules/unictype/property-bidi-whitespace (Depends-on,
73519         configure.ac): Likewise.
73520         * modules/unictype/property-combining (Depends-on, configure.ac):
73521         Likewise.
73522         * modules/unictype/property-composite (Depends-on, configure.ac):
73523         Likewise.
73524         * modules/unictype/property-currency-symbol (Depends-on,
73525         configure.ac): Likewise.
73526         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
73527         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
73528         Likewise.
73529         * modules/unictype/property-default-ignorable-code-point (Depends-on,
73530         configure.ac): Likewise.
73531         * modules/unictype/property-deprecated (Depends-on, configure.ac):
73532         Likewise.
73533         * modules/unictype/property-diacritic (Depends-on, configure.ac):
73534         Likewise.
73535         * modules/unictype/property-extender (Depends-on, configure.ac):
73536         Likewise.
73537         * modules/unictype/property-format-control (Depends-on, configure.ac):
73538         Likewise.
73539         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
73540         Likewise.
73541         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
73542         Likewise.
73543         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
73544         Likewise.
73545         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
73546         Likewise.
73547         * modules/unictype/property-hyphen (Depends-on, configure.ac):
73548         Likewise.
73549         * modules/unictype/property-id-continue (Depends-on, configure.ac):
73550         Likewise.
73551         * modules/unictype/property-id-start (Depends-on, configure.ac):
73552         Likewise.
73553         * modules/unictype/property-ideographic (Depends-on, configure.ac):
73554         Likewise.
73555         * modules/unictype/property-ids-binary-operator (Depends-on,
73556         configure.ac): Likewise.
73557         * modules/unictype/property-ids-trinary-operator (Depends-on,
73558         configure.ac): Likewise.
73559         * modules/unictype/property-ignorable-control (Depends-on,
73560         configure.ac): Likewise.
73561         * modules/unictype/property-iso-control (Depends-on, configure.ac):
73562         Likewise.
73563         * modules/unictype/property-join-control (Depends-on, configure.ac):
73564         Likewise.
73565         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
73566         Likewise.
73567         * modules/unictype/property-line-separator (Depends-on, configure.ac):
73568         Likewise.
73569         * modules/unictype/property-logical-order-exception (Depends-on,
73570         configure.ac): Likewise.
73571         * modules/unictype/property-lowercase (Depends-on, configure.ac):
73572         Likewise.
73573         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
73574         * modules/unictype/property-non-break (Depends-on, configure.ac):
73575         Likewise.
73576         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
73577         Likewise.
73578         * modules/unictype/property-numeric (Depends-on, configure.ac):
73579         Likewise.
73580         * modules/unictype/property-other-alphabetic (Depends-on,
73581         configure.ac): Likewise.
73582         * modules/unictype/property-other-default-ignorable-code-point
73583         (Depends-on, configure.ac): Likewise.
73584         * modules/unictype/property-other-grapheme-extend (Depends-on,
73585         configure.ac): Likewise.
73586         * modules/unictype/property-other-id-continue (Depends-on,
73587         configure.ac): Likewise.
73588         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
73589         Likewise.
73590         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
73591         Likewise.
73592         * modules/unictype/property-other-math (Depends-on, configure.ac):
73593         Likewise.
73594         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
73595         Likewise.
73596         * modules/unictype/property-paired-punctuation (Depends-on,
73597         configure.ac): Likewise.
73598         * modules/unictype/property-paragraph-separator (Depends-on,
73599         configure.ac): Likewise.
73600         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
73601         Likewise.
73602         * modules/unictype/property-pattern-white-space (Depends-on,
73603         configure.ac): Likewise.
73604         * modules/unictype/property-private-use (Depends-on, configure.ac):
73605         Likewise.
73606         * modules/unictype/property-punctuation (Depends-on, configure.ac):
73607         Likewise.
73608         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
73609         Likewise.
73610         * modules/unictype/property-radical (Depends-on, configure.ac):
73611         Likewise.
73612         * modules/unictype/property-sentence-terminal (Depends-on,
73613         configure.ac): Likewise.
73614         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
73615         Likewise.
73616         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
73617         * modules/unictype/property-terminal-punctuation (Depends-on,
73618         configure.ac): Likewise.
73619         * modules/unictype/property-titlecase (Depends-on, configure.ac):
73620         Likewise.
73621         * modules/unictype/property-unassigned-code-value (Depends-on,
73622         configure.ac): Likewise.
73623         * modules/unictype/property-unified-ideograph (Depends-on,
73624         configure.ac): Likewise.
73625         * modules/unictype/property-uppercase (Depends-on, configure.ac):
73626         Likewise.
73627         * modules/unictype/property-variation-selector (Depends-on,
73628         configure.ac): Likewise.
73629         * modules/unictype/property-white-space (Depends-on, configure.ac):
73630         Likewise.
73631         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
73632         Likewise.
73633         * modules/unictype/property-xid-start (Depends-on, configure.ac):
73634         Likewise.
73635         * modules/unictype/property-zero-width (Depends-on, configure.ac):
73636         Likewise.
73637         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
73638         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
73639         Likewise.
73641 2009-12-31  Bruno Haible  <bruno@clisp.org>
73643         Remove unnecessary AC_C_INLINE invocation.
73644         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
73645         since 2009-08-21.
73647 2009-12-31  Jim Meyering  <meyering@redhat.com>
73649         maint.mk: don't require explicit gpg_key_ID in cfg.mk
73650         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
73651         With this change, we can all remove the gpg_key_ID = ... definition
73652         from our respective cfg.mk files.
73654         maint.mk: create announcement template in ~/, not in /tmp
73655         * top/maint.mk (emit_upload_commands): Adjust.
73656         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
73657         Remove temporary file, .ci-msg.
73659 2009-12-31  Eric Blake  <ebb9@byu.net>
73661         link-warning: always build headers with link warnings
73662         * modules/arpa_inet (Makefile.am): Always build replacement
73663         header.
73664         * modules/ctype (Makefile.am): Likewise.
73665         * modules/dirent (Makefile.am): Likewise.
73666         * modules/inttypes (Makefile.am): Likewise.
73667         * modules/langinfo (Makefile.am): Likewise.
73668         * modules/locale (Makefile.am): Likewise.
73669         * modules/spawn (Makefile.am): Likewise.
73670         * modules/sys_file (Makefile.am): Likewise.
73671         * modules/sys_ioctl (Makefile.am): Likewise.
73672         * modules/sys_select (Makefile.am): Likewise.
73673         * modules/sys_socket (Makefile.am): Likewise.
73674         * modules/sys_times (Makefile.am): Likewise.
73675         * modules/sys_utsname (Makefile.am): Likewise.
73676         * modules/sys_wait (Makefile.am): Likewise.
73677         * modules/wchar (Makefile.am): Likewise.
73678         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
73679         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
73680         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
73681         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
73682         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
73683         Likewise.
73684         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73685         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73686         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
73687         Likewise.
73688         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
73689         Likewise.
73690         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
73691         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
73692         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
73693         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
73696         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
73697         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
73698         (gl_WCHAR_H_DEFAULTS): Likewise.
73700 2009-12-31  Eric Blake  <ebb9@byu.net>
73702         signal, spawn: use link warnings
73703         * lib/signal.in.h (sigset_t): Make unconditional.
73704         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
73705         (sigpending, sigprocmask, sigaction): Add link warnings.
73706         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
73707         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
73708         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
73709         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
73710         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
73711         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
73712         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
73713         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
73714         (posix_spawn_file_actions_destroy)
73715         (posix_spawn_file_actions_addopen)
73716         (posix_spawn_file_actions_addclose)
73717         (posix_spawn_file_actions_adddup2): Likewise.
73718         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
73719         * tests/test-signal.c (main): Enhance test.
73721         spawn: improve wrapper support
73722         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
73723         (gl_SPAWN_H_DEFAULTS): New defaults.
73724         * modules/spawn (Makefile.am): Substitute them.
73725         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
73726         Only declare if missing or broken.
73728         sys_times, sys_utsname: use include_next
73729         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
73730         header.
73731         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
73732         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
73733         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
73734         * modules/sys_times (Depends-on): Add include_next.
73735         (Makefile.am): Substitute additional values.
73736         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73737         * lib/sys_times.in.h (includes): Include native header, if
73738         available.
73739         * lib/sys_utsname.in.h (includes): Likewise.
73740         * tests/test-sys_times.c (main): Enhance test.
73742         fdutimensat: revert prior patch
73743         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
73744         utimens.h.
73745         Reported by Bruno Haible.
73747 2009-12-30  Eric Blake  <ebb9@byu.net>
73749         sys_wait: drop link-warning dependency
73750         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
73751         link-warning efforts.
73752         * lib/sys_wait.in.h: Likewise.
73754         fdutimensat: remove bogus dependency
73755         * modules/fdutimensat (Depends-on): Drop inline.
73757         unistd: fix typo
73758         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
73760 2009-12-30  Bruno Haible  <bruno@clisp.org>
73762         Fix compilation error with Solaris cc.
73763         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
73764         * lib/unicase/u16-is-invariant.c: Likewise.
73765         * lib/unicase/u32-is-invariant.c: Likewise.
73766         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73768 2009-12-30  Bruno Haible  <bruno@clisp.org>
73770         Fix test crash.
73771         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
73772         locales.
73773         Reported by Simon Josefsson <simon@josefsson.org>.
73775 2009-12-30  Bruno Haible  <bruno@clisp.org>
73777         Fix compilation error on most platforms.
73778         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
73779         Reported by Simon Josefsson <simon@josefsson.org>
73780         and Nelson H. F. Beebe <beebe@math.utah.edu>.
73782 2009-12-30  Eric Blake  <ebb9@byu.net>
73784         futimens, utimensat: work around ntfs-3g bug
73785         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
73786         a ctime bug is present, and expand workaround to cover ntfs-3g.
73787         * lib/utimens.c (fdutimens, lutimens): Likewise.
73788         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
73789         (validate_timespec): Adjust return value.
73790         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
73791         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
73792         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
73794 2009-12-29  Eric Blake  <ebb9@byu.net>
73796         link-warning: make usage consistent
73797         * modules/ctype (Depends-on): Add link-warning.
73798         (Makefile.am): Update rules accordingly.
73799         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73800         * modules/locale (Depends-on, Makefile.am): Likewise.
73801         * modules/sys_file (Makefile.am): Likewise.
73802         * modules/getopt-posix (Makefile.am): Delete unused link warning
73803         efforts.
73804         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
73805         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
73806         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
73807         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
73809         stdio: remove unused variables
73810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
73811         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
73812         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
73814         tests: test more substitute headers
73815         * modules/ctype-tests: New file.
73816         * modules/dirent-tests: Likewise.
73817         * modules/spawn-tests: Likewise.
73818         * modules/sys_file-tests: Likewise.
73819         * modules/sys_ioctl-tests: Likewise.
73820         * modules/sys_wait-tests: Likewise.
73821         * tests/test-ctype.c: Likewise.
73822         * tests/test-dirent.c: Likewise.
73823         * tests/test-spawn.c: Likewise.
73824         * tests/test-sys_file.c: Likewise.
73825         * tests/test-sys_ioctl.c: Likewise.
73826         * tests/test-sys_wait.c: Likewise.
73827         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
73828         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
73829         whether or not flock is in use.
73831         tests: remove License section from module
73832         * modules/arpa_inet-tests: Remove unneeded section.
73833         * modules/byteswap-tests: Likewise.
73834         * modules/ceilf-tests: Likewise.
73835         * modules/ceill-tests: Likewise.
73836         * modules/crypto/des-tests: Likewise.
73837         * modules/crypto/gc-arcfour-tests: Likewise.
73838         * modules/crypto/gc-arctwo-tests: Likewise.
73839         * modules/crypto/gc-des-tests: Likewise.
73840         * modules/crypto/gc-hmac-md5-tests: Likewise.
73841         * modules/crypto/gc-hmac-sha1-tests: Likewise.
73842         * modules/crypto/gc-md2-tests: Likewise.
73843         * modules/crypto/gc-md4-tests: Likewise.
73844         * modules/crypto/gc-md5-tests: Likewise.
73845         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
73846         * modules/crypto/gc-rijndael-tests: Likewise.
73847         * modules/crypto/gc-sha1-tests: Likewise.
73848         * modules/crypto/gc-tests: Likewise.
73849         * modules/crypto/md2-tests: Likewise.
73850         * modules/crypto/md4-tests: Likewise.
73851         * modules/fcntl-h-tests: Likewise.
73852         * modules/floorf-tests: Likewise.
73853         * modules/floorl-tests: Likewise.
73854         * modules/frexp-nolibm-tests: Likewise.
73855         * modules/frexp-tests: Likewise.
73856         * modules/frexpl-nolibm-tests: Likewise.
73857         * modules/frexpl-tests: Likewise.
73858         * modules/getaddrinfo-tests: Likewise.
73859         * modules/inttypes-tests: Likewise.
73860         * modules/isfinite-tests: Likewise.
73861         * modules/isinf-tests: Likewise.
73862         * modules/ldexpl-tests: Likewise.
73863         * modules/locale-tests: Likewise.
73864         * modules/math-tests: Likewise.
73865         * modules/netdb-tests: Likewise.
73866         * modules/netinet_in-tests: Likewise.
73867         * modules/printf-frexp-tests: Likewise.
73868         * modules/printf-frexpl-tests: Likewise.
73869         * modules/priv-set-tests: Likewise.
73870         * modules/random_r-tests: Likewise.
73871         * modules/round-tests: Likewise.
73872         * modules/roundf-tests: Likewise.
73873         * modules/roundl-tests: Likewise.
73874         * modules/search-tests: Likewise.
73875         * modules/select-tests: Likewise.
73876         * modules/signal-tests: Likewise.
73877         * modules/stdbool-tests: Likewise.
73878         * modules/stddef-tests: Likewise.
73879         * modules/stdint-tests: Likewise.
73880         * modules/stdio-tests: Likewise.
73881         * modules/stdlib-tests: Likewise.
73882         * modules/string-tests: Likewise.
73883         * modules/strings-tests: Likewise.
73884         * modules/sys_select-tests: Likewise.
73885         * modules/sys_socket-tests: Likewise.
73886         * modules/sys_stat-tests: Likewise.
73887         * modules/sys_time-tests: Likewise.
73888         * modules/sys_utsname-tests: Likewise.
73889         * modules/sysexits-tests: Likewise.
73890         * modules/time-tests: Likewise.
73891         * modules/trunc-tests: Likewise.
73892         * modules/truncf-tests: Likewise.
73893         * modules/truncl-tests: Likewise.
73894         * modules/tsearch-tests: Likewise.
73895         * modules/unistd-tests: Likewise.
73896         * modules/wchar-tests: Likewise.
73897         * modules/wctype-tests: Likewise.
73899         tests: fix license on several tests
73900         * tests/test-des.c: Update to GPLv3+.
73901         * tests/test-flock.c: Likewise.
73902         * tests/test-fsync.c: Likewise.
73903         * tests/test-futimens.h: Likewise.
73904         * tests/test-gc-arcfour.c: Likewise.
73905         * tests/test-gc-arctwo.c: Likewise.
73906         * tests/test-gc-des.c: Likewise.
73907         * tests/test-gc-hmac-md5.c: Likewise.
73908         * tests/test-gc-hmac-sha1.c: Likewise.
73909         * tests/test-gc-md2.c: Likewise.
73910         * tests/test-gc-md4.c: Likewise.
73911         * tests/test-gc-md5.c: Likewise.
73912         * tests/test-gc-pbkdf2-sha1.c: Likewise.
73913         * tests/test-gc-rijndael.c: Likewise.
73914         * tests/test-gc-sha1.c: Likewise.
73915         * tests/test-gc.c: Likewise.
73916         * tests/test-getcwd.c: Likewise.
73917         * tests/test-link.c: Likewise.
73918         * tests/test-link.h: Likewise.
73919         * tests/test-lutimens.h: Likewise.
73920         * tests/test-md2.c: Likewise.
73921         * tests/test-md4.c: Likewise.
73922         * tests/test-mkdir.h: Likewise.
73923         * tests/test-rename.c: Likewise.
73924         * tests/test-rename.h: Likewise.
73925         * tests/test-safe-alloc.c: Likewise.
73926         * tests/test-utimens-common.h: Likewise.
73927         * tests/test-utimens.h: Likewise.
73929         maint: sync license texts
73930         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
73931         * doc/gpl-3.0.texi: Revert copyright year update.
73932         * doc/lgpl-3.0.texi: Likewise.
73934 2009-12-29  Jim Meyering  <meyering@redhat.com>
73936         update nearly all FSF copyright year lists to include 2009
73937         The files named by the following are exempted:
73938             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
73939               test -f "$dst" && { echo "$dst"; continue; }
73940               test -d "$dst" || continue
73941               echo "$dst"/$(basename "$src")
73942             done > exempt
73943             git ls-files tests/unictype >> exempt
73944         In the remaining files, convert to all-interval notation if
73945         - there is already at least one year interval like 2000-2003
73946         - the file is maintained by me
73947         - the file is in lib/uni*/, where that style already prevails
73948         Otherwise, use update-copyright's default.
73950 2009-12-29  Simon Josefsson  <simon@josefsson.org>
73951         and Eric Blake  <ebb9@byu.net>
73953         tests: don't require debug system() to pass
73954         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
73955         * tests/test-rmdir.h (test_rmdir_func): Likewise.
73956         * tests/test-unlink.h (test_unlink_func): Likewise.
73957         * tests/test-fstatat.c (main): ...into callers.
73958         * tests/test-lstat.c (main): Likewise.
73959         * tests/test-rmdir.c (main): Likewise.
73960         * tests/test-unlink.c (main): Likewise.
73961         * tests/test-unlinkat.c (main): Likewise.
73962         * tests/test-areadlink-with-size.c (main): Don't require a
73963         debug-only system call to pass, aiding cross-testing to mingw.
73964         * tests/test-areadlink.c (main): Likewise.
73965         * tests/test-areadlinkat-with-size.c (main): Likewise.
73966         * tests/test-areadlinkat.c (main): Likewise.
73967         * tests/test-canonicalize-lgpl.c (main): Likewise.
73968         * tests/test-canonicalize.c (main): Likewise.
73969         * tests/test-chown.c (main): Likewise.
73970         * tests/test-fchownat.c (main): Likewise.
73971         * tests/test-lchown.c (main): Likewise.
73972         * tests/test-fdutimensat.c (main): Likewise.
73973         * tests/test-futimens.c (main): Likewise.
73974         * tests/test-link.c (main): Likewise.
73975         * tests/test-linkat.c (main): Likewise.
73976         * tests/test-mkdir.c (main): Likewise.
73977         * tests/test-mkdirat.c (main): Likewise.
73978         * tests/test-mkfifo.c (main): Likewise.
73979         * tests/test-mkfifoat.c (main): Likewise.
73980         * tests/test-mknod.c (main): Likewise.
73981         * tests/test-readlink.c (main): Likewise.
73982         * tests/test-remove.c (main): Likewise.
73983         * tests/test-rename.c (main): Likewise.
73984         * tests/test-renameat.c (main): Likewise.
73985         * tests/test-symlink.c (main): Likewise.
73986         * tests/test-symlinkat.c (main): Likewise.
73987         * tests/test-utimens.c (main): Likewise.
73988         * tests/test-utimensat.c (main): Likewise.
73990 2009-12-29  Simon Josefsson  <simon@josefsson.org>
73992         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
73993         on $(UNUSED_PARAMETER_H) to avoid build failure.
73995 2009-12-28  Jim Meyering  <meyering@redhat.com>
73997         update-copyright: you may specify a max. line length other than 72
73998         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74000         maint: use consistent FSF copyright line syntax
74001         * lib/posixtm.c: Add missing comma in FSF copyright line.
74002         * lib/posixtm.h: Likewise.
74003         * lib/getugroups.c: Add missing ", Inc.".
74005         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
74006         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
74007         FSF copyright line.  Remove trailing blanks.
74009 2009-12-28  Eric Blake  <ebb9@byu.net>
74011         test-dup2: reduce dependencies
74012         * modules/cloexec (Configure.ac): Set witness.
74013         * modules/dup2-tests (Depends-on): Drop cloexec.
74014         * tests/test-dup2.c (main): Skip portion of test if cloexec module
74015         not present.
74016         Suggested by Bruno Haible.
74018 2009-12-26  Bruno Haible  <bruno@clisp.org>
74020         Remove an unneeded dependency.
74021         * modules/fseterr (Depends-on): Remove dup2.
74023 2009-12-26  Eric Blake  <ebb9@byu.net>
74025         tests: use macros.h in more places
74026         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
74027         (ASSERT_STREAM): Provide default of stderr.
74028         * tests/test-dirent-safer.c: Include macros.h, using alternate
74029         stream for assertions.
74030         * tests/test-dup-safer.c: Likewise.
74031         * tests/test-freopen-safer.c: Likewise.
74032         * tests/test-getopt.c: Likewise.
74033         * tests/test-openat-safer.c: Likewise.
74034         * tests/test-pipe.c: Likewise.
74035         * tests/test-popen-safer.c: Likewise.
74036         * modules/dirent-safer-tests (Files): Include macros.h.
74037         * modules/unistd-safer-tests (Files): Likewise.
74038         * modules/freopen-safer-tests (Files): Likewise.
74039         * modules/getopt-posix-tests (Files): Likewise.
74040         * modules/openat-safer-tests (Files): Likewise.
74041         * modules/pipe-tests (Files): Likewise.
74043 2009-12-26  Bruno Haible  <bruno@clisp.org>
74045         javacomp-script: Portability fix.
74046         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
74047         that it also works on Solaris.
74049 2009-12-26  Bruno Haible  <bruno@clisp.org>
74051         localename: Fix storage allocation of gl_locale_name_thread's result.
74052         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
74053         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
74054         all platforms that have 'uselocale'.
74055         (gl_locale_name_thread_unsafe): New function, extracted from
74056         gl_locale_name_thread.
74057         (gl_locale_name_thread): Call struniq on all platforms that have
74058         'uselocale'.
74059         * tests/test-localename.c (test_locale_name_thread): Check that the
74060         resulting strings are permanently allocated.
74061         * modules/localename-tests (Depends-on): Add strdup.
74063 2009-12-26  Bruno Haible  <bruno@clisp.org>
74065         * tests/test-localename.c (categories): Fill in the strings.
74067 2009-12-26  Jim Meyering  <meyering@redhat.com>
74069         isdir: complete the removal of m4/isdir.m4
74070         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
74072         isdir: clean up, since at least grep still uses it
74073         * lib/isdir.c: Include "isdir.h".
74074         (S_ISDIR): Remove now-unneeded definition.
74075         * modules/isdir (Files): Add lib/isdir.h.
74076         * lib/isdir.h: New file, with declaration.
74077         * m4/isdir.m4: Remove file -- unneeded.
74079 2009-12-25  Bruno Haible  <bruno@clisp.org>
74081         selinux-h: Make generated .h files standalone.
74082         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
74083         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
74084         * lib/se-selinux.in.h: Likewise.
74085         * modules/selinux-h (Depends-on): Add unused-parameter.
74086         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
74087         selinux/selinux.h and selinux/context.h.
74088         Suggested by Eric Blake.
74090 2009-12-25  Bruno Haible  <bruno@clisp.org>
74092         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
74093         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
74094         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
74095         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
74096         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
74098 2009-12-24  Bruno Haible  <bruno@clisp.org>
74100         openat: Fix warning.
74101         * lib/openat-proc.c: Include <unistd.h>.
74103 2009-12-24  Bruno Haible  <bruno@clisp.org>
74105         New module 'unused-parameter'.
74106         * build-aux/unused-parameter.h: New file, extracted from earlier
74107         gnulib-common.m4.
74108         * modules/unused-parameter: New file.
74109         * lib/unistr.h: Include unused-parameter.h.
74110         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
74111         _GL_UNUSED.
74112         * modules/unistr/base (Depends-on): Add unused-parameter.
74114 2009-12-24  Bruno Haible  <bruno@clisp.org>
74116         Add missing dependencies to 'extensions' module.
74117         * m4/extensions.m4: Add comment.
74118         * modules/accept4 (Depends-on): Add extensions.
74119         * modules/dup3 (Depends-on): Likewise.
74120         * modules/fcntl (Depends-on): Likewise.
74121         * modules/futimens (Depends-on): Likewise.
74122         * modules/mknod (Depends-on): Likewise.
74123         * modules/pipe2 (Depends-on): Likewise.
74124         * modules/stat-time (Depends-on): Likewise.
74125         * modules/strcasestr-simple (Depends-on): Likewise.
74126         * modules/strsignal (Depends-on): Likewise.
74127         * modules/utimensat (Depends-on): Likewise.
74128         * modules/localcharset (Depends-on): Likewise. Needed because of
74129         gl_FCNTL_O_FLAGS.
74130         * modules/wcrtomb (Depends-on): Likewise. Needed because of
74131         AC_TYPE_MBSTATE_T.
74132         * modules/wcsnrtombs (Depends-on): Likewise.
74133         * modules/wcsrtombs (Depends-on): Likewise.
74135 2009-12-24  Bruno Haible  <bruno@clisp.org>
74137         binary-io: Avoid gcc warning due to SET_BINARY.
74138         * lib/binary-io.h (SET_BINARY): Cast the result to void.
74139         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
74141 2009-12-24  Bruno Haible  <bruno@clisp.org>
74143         Avoid future namespace pollution on glibc systems.
74144         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
74145         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
74146         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
74147         glibc systems.
74149 2009-12-24  Bruno Haible  <bruno@clisp.org>
74151         Refactor common macros used in tests.
74152         * tests/macros.h: New file.
74153         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
74154         and/or <stdlib.h>, if appropriate.
74155         (ASSERT, SIZEOF): Remove macros.
74156         * tests/test-areadlink-with-size.c: Likewise.
74157         * tests/test-areadlinkat.c: Likewise.
74158         * tests/test-areadlinkat-with-size.c: Likewise.
74159         * tests/test-argmatch.c: Likewise.
74160         * tests/test-argv-iter.c: Likewise.
74161         * tests/test-array-mergesort.c: Likewise.
74162         * tests/test-array_list.c: Likewise.
74163         * tests/test-array_oset.c: Likewise.
74164         * tests/test-avltree_list.c: Likewise.
74165         * tests/test-avltree_oset.c: Likewise.
74166         * tests/test-avltreehash_list.c: Likewise.
74167         * tests/test-base64.c: Likewise.
74168         * tests/test-binary-io.c: Likewise.
74169         * tests/test-bitrotate.c: Likewise.
74170         * tests/test-btowc.c: Likewise.
74171         * tests/test-byteswap.c: Likewise.
74172         * tests/test-c-ctype.c: Likewise.
74173         * tests/test-c-stack.c: Likewise.
74174         * tests/test-c-strcasecmp.c: Likewise.
74175         * tests/test-c-strcasestr.c: Likewise.
74176         * tests/test-c-strncasecmp.c: Likewise.
74177         * tests/test-c-strstr.c: Likewise.
74178         * tests/test-canonicalize-lgpl.c: Likewise.
74179         * tests/test-canonicalize.c: Likewise.
74180         * tests/test-carray_list.c: Likewise.
74181         * tests/test-ceilf1.c: Likewise.
74182         * tests/test-ceilf2.c: Likewise.
74183         * tests/test-ceill.c: Likewise.
74184         * tests/test-chown.c: Likewise.
74185         * tests/test-cloexec.c: Likewise.
74186         * tests/test-copy-acl.c: Likewise.
74187         * tests/test-copy-file.c: Likewise.
74188         * tests/test-count-one-bits.c: Likewise.
74189         * tests/test-dprintf-posix.c: Likewise.
74190         * tests/test-dup2.c: Likewise.
74191         * tests/test-dup3.c: Likewise.
74192         * tests/test-duplocale.c: Likewise.
74193         * tests/test-fbufmode.c: Likewise.
74194         * tests/test-fchdir.c: Likewise.
74195         * tests/test-fchownat.c: Likewise.
74196         * tests/test-fcntl-safer.c: Likewise.
74197         * tests/test-fcntl.c: Likewise.
74198         * tests/test-fdopendir.c: Likewise.
74199         * tests/test-fdutimensat.c: Likewise.
74200         * tests/test-fflush2.c: Likewise.
74201         * tests/test-file-has-acl.c: Likewise.
74202         * tests/test-filevercmp.c: Likewise.
74203         * tests/test-flock.c: Likewise.
74204         * tests/test-floorf1.c: Likewise.
74205         * tests/test-floorf2.c: Likewise.
74206         * tests/test-floorl.c: Likewise.
74207         * tests/test-fnmatch.c: Likewise.
74208         * tests/test-fopen.h: Likewise.
74209         * tests/test-fpending.c: Likewise.
74210         * tests/test-fprintf-posix.c: Likewise.
74211         * tests/test-fpurge.c: Likewise.
74212         * tests/test-freadable.c: Likewise.
74213         * tests/test-freadahead.c: Likewise.
74214         * tests/test-freading.c: Likewise.
74215         * tests/test-freadptr.c: Likewise.
74216         * tests/test-freadptr2.c: Likewise.
74217         * tests/test-freadseek.c: Likewise.
74218         * tests/test-freopen.c: Likewise.
74219         * tests/test-frexp.c: Likewise.
74220         * tests/test-frexpl.c: Likewise.
74221         * tests/test-fseek.c: Likewise.
74222         * tests/test-fseeko.c: Likewise.
74223         * tests/test-fstatat.c: Likewise.
74224         * tests/test-fstrcmp.c: Likewise.
74225         * tests/test-fsync.c: Likewise.
74226         * tests/test-ftell.c: Likewise.
74227         * tests/test-ftello.c: Likewise.
74228         * tests/test-func.c: Likewise.
74229         * tests/test-futimens.c: Likewise.
74230         * tests/test-fwritable.c: Likewise.
74231         * tests/test-fwriting.c: Likewise.
74232         * tests/test-getcwd.c: Likewise.
74233         * tests/test-getdate.c: Likewise.
74234         * tests/test-getdelim.c: Likewise.
74235         * tests/test-getdtablesize.c: Likewise.
74236         * tests/test-getgroups.c: Likewise.
74237         * tests/test-getline.c: Likewise.
74238         * tests/test-getndelim2.c: Likewise.
74239         * tests/test-glob.c: Likewise.
74240         * tests/test-hash.c: Likewise.
74241         * tests/test-i-ring.c: Likewise.
74242         * tests/test-iconv-utf.c: Likewise.
74243         * tests/test-iconv.c: Likewise.
74244         * tests/test-idpriv-drop.c: Likewise.
74245         * tests/test-idpriv-droptemp.c: Likewise.
74246         * tests/test-inet_ntop.c: Likewise.
74247         * tests/test-inet_pton.c: Likewise.
74248         * tests/test-isblank.c: Likewise.
74249         * tests/test-isfinite.c: Likewise.
74250         * tests/test-isinf.c: Likewise.
74251         * tests/test-isnan.c: Likewise.
74252         * tests/test-isnand.h: Likewise.
74253         * tests/test-isnanf.h: Likewise.
74254         * tests/test-isnanl.h: Likewise.
74255         * tests/test-lchown.c: Likewise.
74256         * tests/test-ldexpl.c: Likewise.
74257         * tests/test-link.c: Likewise.
74258         * tests/test-linkat.c: Likewise.
74259         * tests/test-linked_list.c: Likewise.
74260         * tests/test-linkedhash_list.c: Likewise.
74261         * tests/test-localename.c: Likewise.
74262         * tests/test-lseek.c: Likewise.
74263         * tests/test-lstat.c: Likewise.
74264         * tests/test-mbmemcasecmp.c: Likewise.
74265         * tests/test-mbmemcasecoll.c: Likewise.
74266         * tests/test-mbrtowc.c: Likewise.
74267         * tests/test-mbscasecmp.c: Likewise.
74268         * tests/test-mbscasestr1.c: Likewise.
74269         * tests/test-mbscasestr2.c: Likewise.
74270         * tests/test-mbscasestr3.c: Likewise.
74271         * tests/test-mbscasestr4.c: Likewise.
74272         * tests/test-mbschr.c: Likewise.
74273         * tests/test-mbscspn.c: Likewise.
74274         * tests/test-mbsinit.c: Likewise.
74275         * tests/test-mbsncasecmp.c: Likewise.
74276         * tests/test-mbsnrtowcs.c: Likewise.
74277         * tests/test-mbspbrk.c: Likewise.
74278         * tests/test-mbspcasecmp.c: Likewise.
74279         * tests/test-mbsrchr.c: Likewise.
74280         * tests/test-mbsrtowcs.c: Likewise.
74281         * tests/test-mbsspn.c: Likewise.
74282         * tests/test-mbsstr1.c: Likewise.
74283         * tests/test-mbsstr2.c: Likewise.
74284         * tests/test-mbsstr3.c: Likewise.
74285         * tests/test-memchr.c: Likewise.
74286         * tests/test-memchr2.c: Likewise.
74287         * tests/test-memcmp.c: Likewise.
74288         * tests/test-memmem.c: Likewise.
74289         * tests/test-memrchr.c: Likewise.
74290         * tests/test-mkdir.c: Likewise.
74291         * tests/test-mkdirat.c: Likewise.
74292         * tests/test-mkfifo.c: Likewise.
74293         * tests/test-mkfifoat.c: Likewise.
74294         * tests/test-mknod.c: Likewise.
74295         * tests/test-nanosleep.c: Likewise.
74296         * tests/test-nl_langinfo.c: Likewise.
74297         * tests/test-obstack-printf.c: Likewise.
74298         * tests/test-open.c: Likewise.
74299         * tests/test-openat.c: Likewise.
74300         * tests/test-pipe-filter-gi1.c: Likewise.
74301         * tests/test-pipe-filter-gi2-main.c: Likewise.
74302         * tests/test-pipe-filter-ii1.c: Likewise.
74303         * tests/test-pipe-filter-ii2-main.c: Likewise.
74304         * tests/test-pipe2.c: Likewise.
74305         * tests/test-popen.h: Likewise.
74306         * tests/test-posixtm.c: Likewise.
74307         * tests/test-pread.c: Likewise.
74308         * tests/test-printf-frexp.c: Likewise.
74309         * tests/test-printf-frexpl.c: Likewise.
74310         * tests/test-printf-posix.c: Likewise.
74311         * tests/test-priv-set.c: Likewise.
74312         * tests/test-quotearg.c: Likewise.
74313         * tests/test-random_r.c: Likewise.
74314         * tests/test-rawmemchr.c: Likewise.
74315         * tests/test-rbtree_list.c: Likewise.
74316         * tests/test-rbtree_oset.c: Likewise.
74317         * tests/test-rbtreehash_list.c: Likewise.
74318         * tests/test-readlink.c: Likewise.
74319         * tests/test-remove.c: Likewise.
74320         * tests/test-rename.c: Likewise.
74321         * tests/test-renameat.c: Likewise.
74322         * tests/test-rmdir.c: Likewise.
74323         * tests/test-round1.c: Likewise.
74324         * tests/test-roundf1.c: Likewise.
74325         * tests/test-roundl.c: Likewise.
74326         * tests/test-safe-alloc.c: Likewise.
74327         * tests/test-sameacls.c: Likewise.
74328         * tests/test-set-mode-acl.c: Likewise.
74329         * tests/test-setenv.c: Likewise.
74330         * tests/test-sigaction.c: Likewise.
74331         * tests/test-signbit.c: Likewise.
74332         * tests/test-sleep.c: Likewise.
74333         * tests/test-snprintf-posix.c: Likewise.
74334         * tests/test-snprintf.c: Likewise.
74335         * tests/test-sprintf-posix.c: Likewise.
74336         * tests/test-stat-time.c: Likewise.
74337         * tests/test-stat.c: Likewise.
74338         * tests/test-strcasestr.c: Likewise.
74339         * tests/test-strchrnul.c: Likewise.
74340         * tests/test-strerror.c: Likewise.
74341         * tests/test-striconv.c: Likewise.
74342         * tests/test-striconveh.c: Likewise.
74343         * tests/test-striconveha.c: Likewise.
74344         * tests/test-strsignal.c: Likewise.
74345         * tests/test-strstr.c: Likewise.
74346         * tests/test-strtod.c: Likewise.
74347         * tests/test-strverscmp.c: Likewise.
74348         * tests/test-symlink.c: Likewise.
74349         * tests/test-symlinkat.c: Likewise.
74350         * tests/test-trunc1.c: Likewise.
74351         * tests/test-trunc2.c: Likewise.
74352         * tests/test-truncf1.c: Likewise.
74353         * tests/test-truncf2.c: Likewise.
74354         * tests/test-truncl.c: Likewise.
74355         * tests/test-uname.c: Likewise.
74356         * tests/test-unlink.c: Likewise.
74357         * tests/test-unlinkat.c: Likewise.
74358         * tests/test-unsetenv.c: Likewise.
74359         * tests/test-usleep.c: Likewise.
74360         * tests/test-utimens.c: Likewise.
74361         * tests/test-utimensat.c: Likewise.
74362         * tests/test-vasnprintf-posix.c: Likewise.
74363         * tests/test-vasnprintf-posix2.c: Likewise.
74364         * tests/test-vasnprintf.c: Likewise.
74365         * tests/test-vasprintf-posix.c: Likewise.
74366         * tests/test-vasprintf.c: Likewise.
74367         * tests/test-vdprintf-posix.c: Likewise.
74368         * tests/test-vfprintf-posix.c: Likewise.
74369         * tests/test-vprintf-posix.c: Likewise.
74370         * tests/test-vsnprintf-posix.c: Likewise.
74371         * tests/test-vsnprintf.c: Likewise.
74372         * tests/test-vsprintf-posix.c: Likewise.
74373         * tests/test-wcrtomb.c: Likewise.
74374         * tests/test-wcsnrtombs.c: Likewise.
74375         * tests/test-wcsrtombs.c: Likewise.
74376         * tests/test-wctype.c: Likewise.
74377         * tests/test-wcwidth.c: Likewise.
74378         * tests/test-xfprintf-posix.c: Likewise.
74379         * tests/test-xmemdup0.c: Likewise.
74380         * tests/test-xprintf-posix.c: Likewise.
74381         * tests/test-xvasprintf.c: Likewise.
74382         * tests/unicase/test-locale-language.c: Likewise.
74383         * tests/unicase/test-mapping-part1.h: Likewise.
74384         * tests/unicase/test-predicate-part1.h: Likewise.
74385         * tests/unicase/test-u8-casecmp.c: Likewise.
74386         * tests/unicase/test-u8-casecoll.c: Likewise.
74387         * tests/unicase/test-u8-casefold.c: Likewise.
74388         * tests/unicase/test-u8-is-cased.c: Likewise.
74389         * tests/unicase/test-u8-is-casefolded.c: Likewise.
74390         * tests/unicase/test-u8-is-lowercase.c: Likewise.
74391         * tests/unicase/test-u8-is-titlecase.c: Likewise.
74392         * tests/unicase/test-u8-is-uppercase.c: Likewise.
74393         * tests/unicase/test-u8-tolower.c: Likewise.
74394         * tests/unicase/test-u8-totitle.c: Likewise.
74395         * tests/unicase/test-u8-toupper.c: Likewise.
74396         * tests/unicase/test-u16-casecmp.c: Likewise.
74397         * tests/unicase/test-u16-casecoll.c: Likewise.
74398         * tests/unicase/test-u16-casefold.c: Likewise.
74399         * tests/unicase/test-u16-is-cased.c: Likewise.
74400         * tests/unicase/test-u16-is-casefolded.c: Likewise.
74401         * tests/unicase/test-u16-is-lowercase.c: Likewise.
74402         * tests/unicase/test-u16-is-titlecase.c: Likewise.
74403         * tests/unicase/test-u16-is-uppercase.c: Likewise.
74404         * tests/unicase/test-u16-tolower.c: Likewise.
74405         * tests/unicase/test-u16-totitle.c: Likewise.
74406         * tests/unicase/test-u16-toupper.c: Likewise.
74407         * tests/unicase/test-u32-casecmp.c: Likewise.
74408         * tests/unicase/test-u32-casecoll.c: Likewise.
74409         * tests/unicase/test-u32-casefold.c: Likewise.
74410         * tests/unicase/test-u32-is-cased.c: Likewise.
74411         * tests/unicase/test-u32-is-casefolded.c: Likewise.
74412         * tests/unicase/test-u32-is-lowercase.c: Likewise.
74413         * tests/unicase/test-u32-is-titlecase.c: Likewise.
74414         * tests/unicase/test-u32-is-uppercase.c: Likewise.
74415         * tests/unicase/test-u32-tolower.c: Likewise.
74416         * tests/unicase/test-u32-totitle.c: Likewise.
74417         * tests/unicase/test-u32-toupper.c: Likewise.
74418         * tests/unicase/test-ulc-casecmp.c: Likewise.
74419         * tests/unicase/test-ulc-casecoll.c: Likewise.
74420         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
74421         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
74422         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
74423         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
74424         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
74425         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
74426         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
74427         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
74428         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
74429         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
74430         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
74431         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
74432         * tests/unictype/test-bidi_byname.c: Likewise.
74433         * tests/unictype/test-bidi_name.c: Likewise.
74434         * tests/unictype/test-bidi_of.c: Likewise.
74435         * tests/unictype/test-bidi_test.c: Likewise.
74436         * tests/unictype/test-block_list.c: Likewise.
74437         * tests/unictype/test-block_of.c: Likewise.
74438         * tests/unictype/test-block_test.c: Likewise.
74439         * tests/unictype/test-categ_and.c: Likewise.
74440         * tests/unictype/test-categ_and_not.c: Likewise.
74441         * tests/unictype/test-categ_byname.c: Likewise.
74442         * tests/unictype/test-categ_name.c: Likewise.
74443         * tests/unictype/test-categ_none.c: Likewise.
74444         * tests/unictype/test-categ_of.c: Likewise.
74445         * tests/unictype/test-categ_or.c: Likewise.
74446         * tests/unictype/test-categ_test_withtable.c: Likewise.
74447         * tests/unictype/test-combining.c: Likewise.
74448         * tests/unictype/test-decdigit.c: Likewise.
74449         * tests/unictype/test-digit.c: Likewise.
74450         * tests/unictype/test-mirror.c: Likewise.
74451         * tests/unictype/test-numeric.c: Likewise.
74452         * tests/unictype/test-pr_byname.c: Likewise.
74453         * tests/unictype/test-pr_test.c: Likewise.
74454         * tests/unictype/test-predicate-part1.h: Likewise.
74455         * tests/unictype/test-scripts.c: Likewise.
74456         * tests/unictype/test-sy_c_ident.c: Likewise.
74457         * tests/unictype/test-sy_java_ident.c: Likewise.
74458         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
74459         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
74460         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
74461         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
74462         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
74463         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
74464         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
74465         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
74466         * tests/uninorm/test-canonical-decomposition.c: Likewise.
74467         * tests/uninorm/test-compat-decomposition.c: Likewise.
74468         * tests/uninorm/test-composition.c: Likewise.
74469         * tests/uninorm/test-decomposing-form.c: Likewise.
74470         * tests/uninorm/test-decomposition.c: Likewise.
74471         * tests/uninorm/test-u8-nfc.c: Likewise.
74472         * tests/uninorm/test-u8-nfd.c: Likewise.
74473         * tests/uninorm/test-u8-nfkc.c: Likewise.
74474         * tests/uninorm/test-u8-nfkd.c: Likewise.
74475         * tests/uninorm/test-u8-normcmp.c: Likewise.
74476         * tests/uninorm/test-u8-normcoll.c: Likewise.
74477         * tests/uninorm/test-u16-nfc.c: Likewise.
74478         * tests/uninorm/test-u16-nfd.c: Likewise.
74479         * tests/uninorm/test-u16-nfkc.c: Likewise.
74480         * tests/uninorm/test-u16-nfkd.c: Likewise.
74481         * tests/uninorm/test-u16-normcmp.c: Likewise.
74482         * tests/uninorm/test-u16-normcoll.c: Likewise.
74483         * tests/uninorm/test-u32-nfc.c: Likewise.
74484         * tests/uninorm/test-u32-nfd.c: Likewise.
74485         * tests/uninorm/test-u32-nfkc.c: Likewise.
74486         * tests/uninorm/test-u32-nfkd.c: Likewise.
74487         * tests/uninorm/test-u32-normalize-big.c: Likewise.
74488         * tests/uninorm/test-u32-normcmp.c: Likewise.
74489         * tests/uninorm/test-u32-normcoll.c: Likewise.
74490         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
74491         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
74492         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
74493         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
74494         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
74495         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
74496         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
74497         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
74498         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
74499         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
74500         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
74501         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
74502         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
74503         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
74504         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
74505         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
74506         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
74507         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
74508         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
74509         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
74510         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
74511         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
74512         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
74513         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
74514         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
74515         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
74516         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
74517         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
74518         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
74519         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
74520         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
74521         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
74522         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
74523         * tests/uniwidth/test-u8-strwidth.c: Likewise.
74524         * tests/uniwidth/test-u8-width.c: Likewise.
74525         * tests/uniwidth/test-u16-strwidth.c: Likewise.
74526         * tests/uniwidth/test-u16-width.c: Likewise.
74527         * tests/uniwidth/test-u32-strwidth.c: Likewise.
74528         * tests/uniwidth/test-u32-width.c: Likewise.
74529         * tests/uniwidth/test-uc_width.c: Likewise.
74530         * tests/uniwidth/test-uc_width2.c: Likewise.
74531         * modules/acl-tests (Files): Add tests/macros.h.
74532         * modules/areadlink-tests (Files): Likewise.
74533         * modules/areadlink-with-size-tests (Files): Likewise.
74534         * modules/areadlinkat-tests (Files): Likewise.
74535         * modules/areadlinkat-with-size-tests (Files): Likewise.
74536         * modules/argmatch-tests (Files): Likewise.
74537         * modules/argv-iter-tests (Files): Likewise.
74538         * modules/array-list-tests (Files): Likewise.
74539         * modules/array-mergesort-tests (Files): Likewise.
74540         * modules/array-oset-tests (Files): Likewise.
74541         * modules/avltree-list-tests (Files): Likewise.
74542         * modules/avltree-oset-tests (Files): Likewise.
74543         * modules/avltreehash-list-tests (Files): Likewise.
74544         * modules/base64-tests (Files): Likewise.
74545         * modules/binary-io-tests (Files): Likewise.
74546         * modules/bitrotate-tests (Files): Likewise.
74547         * modules/btowc-tests (Files): Likewise.
74548         * modules/byteswap-tests (Files): Likewise.
74549         * modules/c-ctype-tests (Files): Likewise.
74550         * modules/c-stack-tests (Files): Likewise.
74551         * modules/c-strcase-tests (Files): Likewise.
74552         * modules/c-strcasestr-tests (Files): Likewise.
74553         * modules/c-strstr-tests (Files): Likewise.
74554         * modules/canonicalize-lgpl-tests (Files): Likewise.
74555         * modules/canonicalize-tests (Files): Likewise.
74556         * modules/carray-list-tests (Files): Likewise.
74557         * modules/ceilf-tests (Files): Likewise.
74558         * modules/ceill-tests (Files): Likewise.
74559         * modules/chown-tests (Files): Likewise.
74560         * modules/cloexec-tests (Files): Likewise.
74561         * modules/copy-file-tests (Files): Likewise.
74562         * modules/count-one-bits-tests (Files): Likewise.
74563         * modules/dprintf-posix-tests (Files): Likewise.
74564         * modules/dup2-tests (Files): Likewise.
74565         * modules/dup3-tests (Files): Likewise.
74566         * modules/duplocale-tests (Files): Likewise.
74567         * modules/fbufmode-tests (Files): Likewise.
74568         * modules/fchdir-tests (Files): Likewise.
74569         * modules/fcntl-safer-tests (Files): Likewise.
74570         * modules/fcntl-tests (Files): Likewise.
74571         * modules/fdopendir-tests (Files): Likewise.
74572         * modules/fdutimensat-tests (Files): Likewise.
74573         * modules/fflush-tests (Files): Likewise.
74574         * modules/filevercmp-tests (Files): Likewise.
74575         * modules/flock-tests (Files): Likewise.
74576         * modules/floorf-tests (Files): Likewise.
74577         * modules/floorl-tests (Files): Likewise.
74578         * modules/fnmatch-tests (Files): Likewise.
74579         * modules/fopen-safer-tests (Files): Likewise.
74580         * modules/fopen-tests (Files): Likewise.
74581         * modules/fpending-tests (Files): Likewise.
74582         * modules/fprintf-posix-tests (Files): Likewise.
74583         * modules/fpurge-tests (Files): Likewise.
74584         * modules/freadable-tests (Files): Likewise.
74585         * modules/freadahead-tests (Files): Likewise.
74586         * modules/freading-tests (Files): Likewise.
74587         * modules/freadptr-tests (Files): Likewise.
74588         * modules/freadseek-tests (Files): Likewise.
74589         * modules/freopen-tests (Files): Likewise.
74590         * modules/frexp-nolibm-tests (Files): Likewise.
74591         * modules/frexp-tests (Files): Likewise.
74592         * modules/frexpl-nolibm-tests (Files): Likewise.
74593         * modules/frexpl-tests (Files): Likewise.
74594         * modules/fseek-tests (Files): Likewise.
74595         * modules/fseeko-tests (Files): Likewise.
74596         * modules/fstrcmp-tests (Files): Likewise.
74597         * modules/fsync-tests (Files): Likewise.
74598         * modules/ftell-tests (Files): Likewise.
74599         * modules/ftello-tests (Files): Likewise.
74600         * modules/func-tests (Files): Likewise.
74601         * modules/futimens-tests (Files): Likewise.
74602         * modules/fwritable-tests (Files): Likewise.
74603         * modules/fwriting-tests (Files): Likewise.
74604         * modules/getcwd-tests (Files): Likewise.
74605         * modules/getdate-tests (Files): Likewise.
74606         * modules/getdelim-tests (Files): Likewise.
74607         * modules/getdtablesize-tests (Files): Likewise.
74608         * modules/getgroups-tests (Files): Likewise.
74609         * modules/getline-tests (Files): Likewise.
74610         * modules/getndelim2-tests (Files): Likewise.
74611         * modules/glob-tests (Files): Likewise.
74612         * modules/hash-tests (Files): Likewise.
74613         * modules/i-ring-tests (Files): Likewise.
74614         * modules/iconv-tests (Files): Likewise.
74615         * modules/iconv_open-utf-tests (Files): Likewise.
74616         * modules/idpriv-drop-tests (Files): Likewise.
74617         * modules/idpriv-droptemp-tests (Files): Likewise.
74618         * modules/inet_ntop-tests (Files): Likewise.
74619         * modules/inet_pton-tests (Files): Likewise.
74620         * modules/isblank-tests (Files): Likewise.
74621         * modules/isfinite-tests (Files): Likewise.
74622         * modules/isinf-tests (Files): Likewise.
74623         * modules/isnan-tests (Files): Likewise.
74624         * modules/isnand-nolibm-tests (Files): Likewise.
74625         * modules/isnand-tests (Files): Likewise.
74626         * modules/isnanf-nolibm-tests (Files): Likewise.
74627         * modules/isnanf-tests (Files): Likewise.
74628         * modules/isnanl-nolibm-tests (Files): Likewise.
74629         * modules/isnanl-tests (Files): Likewise.
74630         * modules/lchown-tests (Files): Likewise.
74631         * modules/ldexpl-tests (Files): Likewise.
74632         * modules/link-tests (Files): Likewise.
74633         * modules/linkat-tests (Files): Likewise.
74634         * modules/linked-list-tests (Files): Likewise.
74635         * modules/linkedhash-list-tests (Files): Likewise.
74636         * modules/localename-tests (Files): Likewise.
74637         * modules/lseek-tests (Files): Likewise.
74638         * modules/lstat-tests (Files): Likewise.
74639         * modules/mbmemcasecmp-tests (Files): Likewise.
74640         * modules/mbmemcasecoll-tests (Files): Likewise.
74641         * modules/mbrtowc-tests (Files): Likewise.
74642         * modules/mbscasecmp-tests (Files): Likewise.
74643         * modules/mbscasestr-tests (Files): Likewise.
74644         * modules/mbschr-tests (Files): Likewise.
74645         * modules/mbscspn-tests (Files): Likewise.
74646         * modules/mbsinit-tests (Files): Likewise.
74647         * modules/mbsncasecmp-tests (Files): Likewise.
74648         * modules/mbsnrtowcs-tests (Files): Likewise.
74649         * modules/mbspbrk-tests (Files): Likewise.
74650         * modules/mbspcasecmp-tests (Files): Likewise.
74651         * modules/mbsrchr-tests (Files): Likewise.
74652         * modules/mbsrtowcs-tests (Files): Likewise.
74653         * modules/mbsspn-tests (Files): Likewise.
74654         * modules/mbsstr-tests (Files): Likewise.
74655         * modules/memchr-tests (Files): Likewise.
74656         * modules/memchr2-tests (Files): Likewise.
74657         * modules/memcmp-tests (Files): Likewise.
74658         * modules/memmem-tests (Files): Likewise.
74659         * modules/memrchr-tests (Files): Likewise.
74660         * modules/mkdir-tests (Files): Likewise.
74661         * modules/mkfifo-tests (Files): Likewise.
74662         * modules/mkfifoat-tests (Files): Likewise.
74663         * modules/mknod-tests (Files): Likewise.
74664         * modules/nanosleep-tests (Files): Likewise.
74665         * modules/nl_langinfo-tests (Files): Likewise.
74666         * modules/obstack-printf-tests (Files): Likewise.
74667         * modules/open-tests (Files): Likewise.
74668         * modules/openat-tests (Files): Likewise.
74669         * modules/pipe-filter-gi-tests (Files): Likewise.
74670         * modules/pipe-filter-ii-tests (Files): Likewise.
74671         * modules/pipe2-tests (Files): Likewise.
74672         * modules/popen-safer-tests (Files): Likewise.
74673         * modules/popen-tests (Files): Likewise.
74674         * modules/posixtm-tests (Files): Likewise.
74675         * modules/pread-tests (Files): Likewise.
74676         * modules/printf-frexp-tests (Files): Likewise.
74677         * modules/printf-frexpl-tests (Files): Likewise.
74678         * modules/printf-posix-tests (Files): Likewise.
74679         * modules/priv-set-tests (Files): Likewise.
74680         * modules/quotearg-tests (Files): Likewise.
74681         * modules/random_r-tests (Files): Likewise.
74682         * modules/rawmemchr-tests (Files): Likewise.
74683         * modules/rbtree-list-tests (Files): Likewise.
74684         * modules/rbtree-oset-tests (Files): Likewise.
74685         * modules/rbtreehash-list-tests (Files): Likewise.
74686         * modules/readlink-tests (Files): Likewise.
74687         * modules/remove-tests (Files): Likewise.
74688         * modules/rename-tests (Files): Likewise.
74689         * modules/renameat-tests (Files): Likewise.
74690         * modules/rmdir-tests (Files): Likewise.
74691         * modules/round-tests (Files): Likewise.
74692         * modules/roundf-tests (Files): Likewise.
74693         * modules/roundl-tests (Files): Likewise.
74694         * modules/safe-alloc-tests (Files): Likewise.
74695         * modules/setenv-tests (Files): Likewise.
74696         * modules/sigaction-tests (Files): Likewise.
74697         * modules/signbit-tests (Files): Likewise.
74698         * modules/sleep-tests (Files): Likewise.
74699         * modules/snprintf-posix-tests (Files): Likewise.
74700         * modules/snprintf-tests (Files): Likewise.
74701         * modules/sprintf-posix-tests (Files): Likewise.
74702         * modules/stat-tests (Files): Likewise.
74703         * modules/stat-time-tests (Files): Likewise.
74704         * modules/strcasestr-tests (Files): Likewise.
74705         * modules/strchrnul-tests (Files): Likewise.
74706         * modules/strerror-tests (Files): Likewise.
74707         * modules/striconv-tests (Files): Likewise.
74708         * modules/striconveh-tests (Files): Likewise.
74709         * modules/striconveha-tests (Files): Likewise.
74710         * modules/strsignal-tests (Files): Likewise.
74711         * modules/strstr-tests (Files): Likewise.
74712         * modules/strtod-tests (Files): Likewise.
74713         * modules/strverscmp-tests (Files): Likewise.
74714         * modules/symlink-tests (Files): Likewise.
74715         * modules/symlinkat-tests (Files): Likewise.
74716         * modules/trunc-tests (Files): Likewise.
74717         * modules/truncf-tests (Files): Likewise.
74718         * modules/truncl-tests (Files): Likewise.
74719         * modules/uname-tests (Files): Likewise.
74720         * modules/unicase/cased-tests (Files): Likewise.
74721         * modules/unicase/ignorable-tests (Files): Likewise.
74722         * modules/unicase/locale-language-tests (Files): Likewise.
74723         * modules/unicase/tolower-tests (Files): Likewise.
74724         * modules/unicase/totitle-tests (Files): Likewise.
74725         * modules/unicase/toupper-tests (Files): Likewise.
74726         * modules/unicase/u8-casecmp-tests (Files): Likewise.
74727         * modules/unicase/u8-casecoll-tests (Files): Likewise.
74728         * modules/unicase/u8-casefold-tests (Files): Likewise.
74729         * modules/unicase/u8-is-cased-tests (Files): Likewise.
74730         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
74731         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
74732         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
74733         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
74734         * modules/unicase/u8-tolower-tests (Files): Likewise.
74735         * modules/unicase/u8-totitle-tests (Files): Likewise.
74736         * modules/unicase/u8-toupper-tests (Files): Likewise.
74737         * modules/unicase/u16-casecmp-tests (Files): Likewise.
74738         * modules/unicase/u16-casecoll-tests (Files): Likewise.
74739         * modules/unicase/u16-casefold-tests (Files): Likewise.
74740         * modules/unicase/u16-is-cased-tests (Files): Likewise.
74741         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
74742         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
74743         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
74744         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
74745         * modules/unicase/u16-tolower-tests (Files): Likewise.
74746         * modules/unicase/u16-totitle-tests (Files): Likewise.
74747         * modules/unicase/u16-toupper-tests (Files): Likewise.
74748         * modules/unicase/u32-casecmp-tests (Files): Likewise.
74749         * modules/unicase/u32-casecoll-tests (Files): Likewise.
74750         * modules/unicase/u32-casefold-tests (Files): Likewise.
74751         * modules/unicase/u32-is-cased-tests (Files): Likewise.
74752         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
74753         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
74754         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
74755         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
74756         * modules/unicase/u32-tolower-tests (Files): Likewise.
74757         * modules/unicase/u32-totitle-tests (Files): Likewise.
74758         * modules/unicase/u32-toupper-tests (Files): Likewise.
74759         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
74760         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
74761         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
74762         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
74763         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
74764         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
74765         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
74766         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
74767         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
74768         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
74769         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
74770         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
74771         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
74772         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
74773         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
74774         * modules/unictype/bidicategory-name-tests (Files): Likewise.
74775         * modules/unictype/bidicategory-of-tests (Files): Likewise.
74776         * modules/unictype/bidicategory-test-tests (Files): Likewise.
74777         * modules/unictype/block-list-tests (Files): Likewise.
74778         * modules/unictype/block-of-tests (Files): Likewise.
74779         * modules/unictype/block-test-tests (Files): Likewise.
74780         * modules/unictype/category-C-tests (Files): Likewise.
74781         * modules/unictype/category-Cc-tests (Files): Likewise.
74782         * modules/unictype/category-Cf-tests (Files): Likewise.
74783         * modules/unictype/category-Cn-tests (Files): Likewise.
74784         * modules/unictype/category-Co-tests (Files): Likewise.
74785         * modules/unictype/category-Cs-tests (Files): Likewise.
74786         * modules/unictype/category-L-tests (Files): Likewise.
74787         * modules/unictype/category-Ll-tests (Files): Likewise.
74788         * modules/unictype/category-Lm-tests (Files): Likewise.
74789         * modules/unictype/category-Lo-tests (Files): Likewise.
74790         * modules/unictype/category-Lt-tests (Files): Likewise.
74791         * modules/unictype/category-Lu-tests (Files): Likewise.
74792         * modules/unictype/category-M-tests (Files): Likewise.
74793         * modules/unictype/category-Mc-tests (Files): Likewise.
74794         * modules/unictype/category-Me-tests (Files): Likewise.
74795         * modules/unictype/category-Mn-tests (Files): Likewise.
74796         * modules/unictype/category-N-tests (Files): Likewise.
74797         * modules/unictype/category-Nd-tests (Files): Likewise.
74798         * modules/unictype/category-Nl-tests (Files): Likewise.
74799         * modules/unictype/category-No-tests (Files): Likewise.
74800         * modules/unictype/category-P-tests (Files): Likewise.
74801         * modules/unictype/category-Pc-tests (Files): Likewise.
74802         * modules/unictype/category-Pd-tests (Files): Likewise.
74803         * modules/unictype/category-Pe-tests (Files): Likewise.
74804         * modules/unictype/category-Pf-tests (Files): Likewise.
74805         * modules/unictype/category-Pi-tests (Files): Likewise.
74806         * modules/unictype/category-Po-tests (Files): Likewise.
74807         * modules/unictype/category-Ps-tests (Files): Likewise.
74808         * modules/unictype/category-S-tests (Files): Likewise.
74809         * modules/unictype/category-Sc-tests (Files): Likewise.
74810         * modules/unictype/category-Sk-tests (Files): Likewise.
74811         * modules/unictype/category-Sm-tests (Files): Likewise.
74812         * modules/unictype/category-So-tests (Files): Likewise.
74813         * modules/unictype/category-Z-tests (Files): Likewise.
74814         * modules/unictype/category-Zl-tests (Files): Likewise.
74815         * modules/unictype/category-Zp-tests (Files): Likewise.
74816         * modules/unictype/category-Zs-tests (Files): Likewise.
74817         * modules/unictype/category-and-not-tests (Files): Likewise.
74818         * modules/unictype/category-and-tests (Files): Likewise.
74819         * modules/unictype/category-byname-tests (Files): Likewise.
74820         * modules/unictype/category-name-tests (Files): Likewise.
74821         * modules/unictype/category-none-tests (Files): Likewise.
74822         * modules/unictype/category-of-tests (Files): Likewise.
74823         * modules/unictype/category-or-tests (Files): Likewise.
74824         * modules/unictype/category-test-withtable-tests (Files): Likewise.
74825         * modules/unictype/combining-class-tests (Files): Likewise.
74826         * modules/unictype/ctype-alnum-tests (Files): Likewise.
74827         * modules/unictype/ctype-alpha-tests (Files): Likewise.
74828         * modules/unictype/ctype-blank-tests (Files): Likewise.
74829         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
74830         * modules/unictype/ctype-digit-tests (Files): Likewise.
74831         * modules/unictype/ctype-graph-tests (Files): Likewise.
74832         * modules/unictype/ctype-lower-tests (Files): Likewise.
74833         * modules/unictype/ctype-print-tests (Files): Likewise.
74834         * modules/unictype/ctype-punct-tests (Files): Likewise.
74835         * modules/unictype/ctype-space-tests (Files): Likewise.
74836         * modules/unictype/ctype-upper-tests (Files): Likewise.
74837         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
74838         * modules/unictype/decimal-digit-tests (Files): Likewise.
74839         * modules/unictype/digit-tests (Files): Likewise.
74840         * modules/unictype/mirror-tests (Files): Likewise.
74841         * modules/unictype/numeric-tests (Files): Likewise.
74842         * modules/unictype/property-alphabetic-tests (Files): Likewise.
74843         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
74844         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
74845         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
74846         Likewise.
74847         * modules/unictype/property-bidi-block-separator-tests (Files):
74848         Likewise.
74849         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
74850         Likewise.
74851         * modules/unictype/property-bidi-common-separator-tests (Files):
74852         Likewise.
74853         * modules/unictype/property-bidi-control-tests (Files): Likewise.
74854         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
74855         Likewise.
74856         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
74857         Likewise.
74858         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
74859         Likewise.
74860         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
74861         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
74862         Likewise.
74863         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
74864         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
74865         Likewise.
74866         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
74867         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
74868         * modules/unictype/property-bidi-segment-separator-tests (Files):
74869         Likewise.
74870         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
74871         * modules/unictype/property-byname-tests (Files): Likewise.
74872         * modules/unictype/property-combining-tests (Files): Likewise.
74873         * modules/unictype/property-composite-tests (Files): Likewise.
74874         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
74875         * modules/unictype/property-dash-tests (Files): Likewise.
74876         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
74877         * modules/unictype/property-default-ignorable-code-point-tests (Files):
74878         Likewise.
74879         * modules/unictype/property-deprecated-tests (Files): Likewise.
74880         * modules/unictype/property-diacritic-tests (Files): Likewise.
74881         * modules/unictype/property-extender-tests (Files): Likewise.
74882         * modules/unictype/property-format-control-tests (Files): Likewise.
74883         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
74884         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
74885         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
74886         * modules/unictype/property-hex-digit-tests (Files): Likewise.
74887         * modules/unictype/property-hyphen-tests (Files): Likewise.
74888         * modules/unictype/property-id-continue-tests (Files): Likewise.
74889         * modules/unictype/property-id-start-tests (Files): Likewise.
74890         * modules/unictype/property-ideographic-tests (Files): Likewise.
74891         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
74892         * modules/unictype/property-ids-trinary-operator-tests (Files):
74893         Likewise.
74894         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
74895         * modules/unictype/property-iso-control-tests (Files): Likewise.
74896         * modules/unictype/property-join-control-tests (Files): Likewise.
74897         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
74898         * modules/unictype/property-line-separator-tests (Files): Likewise.
74899         * modules/unictype/property-logical-order-exception-tests (Files):
74900         Likewise.
74901         * modules/unictype/property-lowercase-tests (Files): Likewise.
74902         * modules/unictype/property-math-tests (Files): Likewise.
74903         * modules/unictype/property-non-break-tests (Files): Likewise.
74904         * modules/unictype/property-not-a-character-tests (Files): Likewise.
74905         * modules/unictype/property-numeric-tests (Files): Likewise.
74906         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
74907         * modules/unictype/property-other-default-ignorable-code-point-tests
74908         (Files): Likewise.
74909         * modules/unictype/property-other-grapheme-extend-tests (Files):
74910         Likewise.
74911         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
74912         * modules/unictype/property-other-id-start-tests (Files): Likewise.
74913         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
74914         * modules/unictype/property-other-math-tests (Files): Likewise.
74915         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
74916         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
74917         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
74918         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
74919         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
74920         * modules/unictype/property-private-use-tests (Files): Likewise.
74921         * modules/unictype/property-punctuation-tests (Files): Likewise.
74922         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
74923         * modules/unictype/property-radical-tests (Files): Likewise.
74924         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
74925         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
74926         * modules/unictype/property-space-tests (Files): Likewise.
74927         * modules/unictype/property-terminal-punctuation-tests (Files):
74928         Likewise.
74929         * modules/unictype/property-test-tests (Files): Likewise.
74930         * modules/unictype/property-titlecase-tests (Files): Likewise.
74931         * modules/unictype/property-unassigned-code-value-tests (Files):
74932         Likewise.
74933         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
74934         * modules/unictype/property-uppercase-tests (Files): Likewise.
74935         * modules/unictype/property-variation-selector-tests (Files): Likewise.
74936         * modules/unictype/property-white-space-tests (Files): Likewise.
74937         * modules/unictype/property-xid-continue-tests (Files): Likewise.
74938         * modules/unictype/property-xid-start-tests (Files): Likewise.
74939         * modules/unictype/property-zero-width-tests (Files): Likewise.
74940         * modules/unictype/scripts-tests (Files): Likewise.
74941         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
74942         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
74943         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
74944         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
74945         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
74946         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
74947         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
74948         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
74949         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
74950         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
74951         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
74952         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
74953         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
74954         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
74955         * modules/uninorm/composition-tests (Files): Likewise.
74956         * modules/uninorm/decomposing-form-tests (Files): Likewise.
74957         * modules/uninorm/decomposition-tests (Files): Likewise.
74958         * modules/uninorm/filter-tests (Files): Likewise.
74959         * modules/uninorm/nfc-tests (Files): Likewise.
74960         * modules/uninorm/nfd-tests (Files): Likewise.
74961         * modules/uninorm/nfkc-tests (Files): Likewise.
74962         * modules/uninorm/nfkd-tests (Files): Likewise.
74963         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
74964         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
74965         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
74966         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
74967         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
74968         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
74969         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
74970         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
74971         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
74972         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
74973         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
74974         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
74975         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
74976         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
74977         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
74978         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
74979         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
74980         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
74981         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
74982         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
74983         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
74984         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
74985         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
74986         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
74987         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
74988         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
74989         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
74990         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
74991         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
74992         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
74993         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
74994         * modules/uniwidth/u8-width-tests (Files): Likewise.
74995         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
74996         * modules/uniwidth/u16-width-tests (Files): Likewise.
74997         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
74998         * modules/uniwidth/u32-width-tests (Files): Likewise.
74999         * modules/uniwidth/width-tests (Files): Likewise.
75000         * modules/unlink-tests (Files): Likewise.
75001         * modules/unsetenv-tests (Files): Likewise.
75002         * modules/usleep-tests (Files): Likewise.
75003         * modules/utimens-tests (Files): Likewise.
75004         * modules/utimensat-tests (Files): Likewise.
75005         * modules/vasnprintf-posix-tests (Files): Likewise.
75006         * modules/vasnprintf-tests (Files): Likewise.
75007         * modules/vasprintf-posix-tests (Files): Likewise.
75008         * modules/vasprintf-tests (Files): Likewise.
75009         * modules/vdprintf-posix-tests (Files): Likewise.
75010         * modules/vfprintf-posix-tests (Files): Likewise.
75011         * modules/vprintf-posix-tests (Files): Likewise.
75012         * modules/vsnprintf-posix-tests (Files): Likewise.
75013         * modules/vsnprintf-tests (Files): Likewise.
75014         * modules/vsprintf-posix-tests (Files): Likewise.
75015         * modules/wcrtomb-tests (Files): Likewise.
75016         * modules/wcsnrtombs-tests (Files): Likewise.
75017         * modules/wcsrtombs-tests (Files): Likewise.
75018         * modules/wctype-tests (Files): Likewise.
75019         * modules/wcwidth-tests (Files): Likewise.
75020         * modules/xmemdup0-tests (Files): Likewise.
75021         * modules/xprintf-posix-tests (Files): Likewise.
75022         * modules/xvasprintf-tests (Files): Likewise.
75024 2009-12-24  Eric Blake  <ebb9@byu.net>
75026         test-nanosleep: fix typo
75027         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
75028         patch.
75029         Reported by Bruno Haible.
75031 2009-12-24  Bruno Haible  <bruno@clisp.org>
75033         Reduce namespace pollution on glibc systems.
75034         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
75035         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
75036         systems.
75037         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
75038         <getopt.h> on glibc systems.
75039         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
75040         systems.
75041         * lib/fcntl.c: Include <unistd.h> here instead.
75043 2009-12-24  Bruno Haible  <bruno@clisp.org>
75045         * lib/stdlib.in.h (includes): Fix typo in today's commit.
75047 2009-12-24  Eric Blake  <ebb9@byu.net>
75049         tests: add signature checks
75050         * tests/signature.h (SIGNATURE_CHECK): New file.
75051         * modules/atexit-tests (Files): Use it.
75052         * modules/btowc-tests (Files): Likewise.
75053         * modules/canonicalize-lgpl-tests (Files): Likewise.
75054         * modules/ceilf-tests (Files): Likewise.
75055         * modules/ceill-tests (Files): Likewise.
75056         * modules/chown-tests (Files): Likewise.
75057         * modules/dprintf-posix-tests (Files): Likewise.
75058         * modules/dup2-tests (Files): Likewise.
75059         * modules/dup3-tests (Files): Likewise.
75060         * modules/duplocale-tests (Files): Likewise.
75061         * modules/fchdir-tests (Files): Likewise.
75062         * modules/fcntl-tests (Files): Likewise.
75063         * modules/fdopendir-tests (Files): Likewise.
75064         * modules/fflush-tests (Files): Likewise.
75065         * modules/flock-tests (Files): Likewise.
75066         * modules/floorf-tests (Files): Likewise.
75067         * modules/floorl-tests (Files): Likewise.
75068         * modules/fnmatch-tests (Files): Likewise.
75069         * modules/fopen-tests (Files): Likewise.
75070         * modules/fprintf-posix-tests (Files): Likewise.
75071         * modules/freopen-tests (Files): Likewise.
75072         * modules/frexp-nolibm-tests (Files): Likewise.
75073         * modules/frexp-tests (Files): Likewise.
75074         * modules/frexpl-nolibm-tests (Files): Likewise.
75075         * modules/frexpl-tests (Files): Likewise.
75076         * modules/fseek-tests (Files): Likewise.
75077         * modules/fseeko-tests (Files): Likewise.
75078         * modules/fsync-tests (Files): Likewise.
75079         * modules/ftell-tests (Files): Likewise.
75080         * modules/ftello-tests (Files): Likewise.
75081         * modules/futimens-tests (Files): Likewise.
75082         * modules/getaddrinfo-tests (Files): Likewise.
75083         * modules/getcwd-tests (Files): Likewise.
75084         * modules/getdelim-tests (Files): Likewise.
75085         * modules/getdtablesize-tests (Files): Likewise.
75086         * modules/getgroups-tests (Files): Likewise.
75087         * modules/gethostname-tests (Files): Likewise.
75088         * modules/getline-tests (Files): Likewise.
75089         * modules/getopt-posix-tests (Files): Likewise.
75090         * modules/gettimeofday-tests (Files): Likewise.
75091         * modules/glob-tests (Files): Likewise.
75092         * modules/iconv-tests (Files): Likewise.
75093         * modules/inet_ntop-tests (Files): Likewise.
75094         * modules/inet_pton-tests (Files): Likewise.
75095         * modules/isblank-tests (Files): Likewise.
75096         * modules/lchown-tests (Files): Likewise.
75097         * modules/ldexpl-tests (Files): Likewise.
75098         * modules/link-tests (Files): Likewise.
75099         * modules/linkat-tests (Files): Likewise.
75100         * modules/lseek-tests (Files): Likewise.
75101         * modules/lstat-tests (Files): Likewise.
75102         * modules/mbrtowc-tests (Files): Likewise.
75103         * modules/mbsinit-tests (Files): Likewise.
75104         * modules/mbsnrtowcs-tests (Files): Likewise.
75105         * modules/mbsrtowcs-tests (Files): Likewise.
75106         * modules/memchr-tests (Files): Likewise.
75107         * modules/memcmp-tests (Files): Likewise.
75108         * modules/memmem-tests (Files): Likewise.
75109         * modules/memrchr-tests (Files): Likewise.
75110         * modules/mkdir-tests (Files): Likewise.
75111         * modules/mkfifo-tests (Files): Likewise.
75112         * modules/mkfifoat-tests (Files): Likewise.
75113         * modules/mknod-tests (Files): Likewise.
75114         * modules/nanosleep-tests (Files): Likewise.
75115         * modules/nl_langinfo-tests (Files): Likewise.
75116         * modules/obstack-printf-tests (Files): Likewise.
75117         * modules/open-tests (Files): Likewise.
75118         * modules/openat-tests (Files): Likewise.
75119         * modules/perror-tests (Files): Likewise.
75120         * modules/pipe2-tests (Files): Likewise.
75121         * modules/poll-tests (Files): Likewise.
75122         * modules/popen-tests (Files): Likewise.
75123         * modules/posix_spawn-tests (Files): Likewise.
75124         * modules/posix_spawnp-tests (Files): Likewise.
75125         * modules/pread-tests (Files): Likewise.
75126         * modules/printf-posix-tests (Files): Likewise.
75127         * modules/pty-tests (Files): Likewise.
75128         * modules/random_r-tests (Files): Likewise.
75129         * modules/rawmemchr-tests (Files): Likewise.
75130         * modules/readlink-tests (Files): Likewise.
75131         * modules/remove-tests (Files): Likewise.
75132         * modules/rename-tests (Files): Likewise.
75133         * modules/renameat-tests (Files): Likewise.
75134         * modules/rmdir-tests (Files): Likewise.
75135         * modules/round-tests (Files): Likewise.
75136         * modules/roundf-tests (Files): Likewise.
75137         * modules/roundl-tests (Files): Likewise.
75138         * modules/select-tests (Files): Likewise.
75139         * modules/setenv-tests (Files): Likewise.
75140         * modules/sigaction-tests (Files): Likewise.
75141         * modules/sleep-tests (Files): Likewise.
75142         * modules/snprintf-posix-tests (Files): Likewise.
75143         * modules/snprintf-tests (Files): Likewise.
75144         * modules/sprintf-posix-tests (Files): Likewise.
75145         * modules/stat-tests (Files): Likewise.
75146         * modules/strcasestr-tests (Files): Likewise.
75147         * modules/strchrnul-tests (Files): Likewise.
75148         * modules/strerror-tests (Files): Likewise.
75149         * modules/strsignal-tests (Files): Likewise.
75150         * modules/strstr-tests (Files): Likewise.
75151         * modules/strtod-tests (Files): Likewise.
75152         * modules/strverscmp-tests (Files): Likewise.
75153         * modules/symlink-tests (Files): Likewise.
75154         * modules/symlinkat-tests (Files): Likewise.
75155         * modules/times-tests (Files): Likewise.
75156         * modules/trunc-tests (Files): Likewise.
75157         * modules/truncf-tests (Files): Likewise.
75158         * modules/truncl-tests (Files): Likewise.
75159         * modules/tsearch-tests (Files): Likewise.
75160         * modules/uname-tests (Files): Likewise.
75161         * modules/unlink-tests (Files): Likewise.
75162         * modules/unsetenv-tests (Files): Likewise.
75163         * modules/usleep-tests (Files): Likewise.
75164         * modules/utimensat-tests (Files): Likewise.
75165         * modules/vasprintf-tests (Files): Likewise.
75166         * modules/vdprintf-posix-tests (Files): Likewise.
75167         * modules/vfprintf-posix-tests (Files): Likewise.
75168         * modules/vprintf-posix-tests (Files): Likewise.
75169         * modules/vsnprintf-posix-tests (Files): Likewise.
75170         * modules/vsnprintf-tests (Files): Likewise.
75171         * modules/vsprintf-posix-tests (Files): Likewise.
75172         * modules/wcrtomb-tests (Files): Likewise.
75173         * modules/wcsnrtombs-tests (Files): Likewise.
75174         * modules/wcsrtombs-tests (Files): Likewise.
75175         * modules/wcwidth-tests (Files): Likewise.
75176         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
75177         * tests/test-isinf.c (isinf): Likewise.
75178         * tests/test-isnan.c (isnan): Likewise.
75179         * tests/test-signbit.c (signbit): Likewise.
75180         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
75181         declaration, either as macro or with correct signature.
75182         (select): Ensure function under test is declared with correct
75183         signature in correct header.
75184         * tests/test-atexit.c (atexit): Likewise.
75185         * tests/test-btowc.c (btowc): Likewise.
75186         * tests/test-canonicalize-lgpl.c (realpath)
75187         (canonicalize_file_name): Likewise.
75188         * tests/test-ceilf1.c (ceilf): Likewise.
75189         * tests/test-ceill.c (ceill): Likewise.
75190         * tests/test-chown.c (chown): Likewise.
75191         * tests/test-dprintf-posix.c (dprintf): Likewise.
75192         * tests/test-dup2.c (dup2): Likewise.
75193         * tests/test-dup3.c (dup3): Likewise.
75194         * tests/test-duplocale.c (duplocale): Likewise.
75195         * tests/test-fchdir.c (fchdir): Likewise.
75196         * tests/test-fchownat.c (fchownat): Likewise.
75197         * tests/test-fcntl.c (fcntl): Likewise.
75198         * tests/test-fdopendir.c (fdopendir): Likewise.
75199         * tests/test-fflush.c (fflush): Likewise.
75200         * tests/test-flock.c (flock): Likewise.
75201         * tests/test-floorf1.c (floorf): Likewise.
75202         * tests/test-floorl.c (floorl): Likewise.
75203         * tests/test-fnmatch.c (fnmatch): Likewise.
75204         * tests/test-fopen.c (fopen): Likewise.
75205         * tests/test-fprintf-posix.c (fprintf): Likewise.
75206         * tests/test-freopen.c (freopen): Likewise.
75207         * tests/test-frexp.c (frexp): Likewise.
75208         * tests/test-frexpl.c (frexpl): Likewise.
75209         * tests/test-fseek.c (fseek): Likewise.
75210         * tests/test-fseeko.c (fseeko): Likewise.
75211         * tests/test-fstatat.c (fstatat): Likewise.
75212         * tests/test-fsync.c (fsync): Likewise.
75213         * tests/test-ftell.c (ftell): Likewise.
75214         * tests/test-ftello.c (ftello): Likewise.
75215         * tests/test-futimens.c (futimens): Likewise.
75216         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
75217         (gai_strerror): Likewise.
75218         * tests/test-getcwd.c (getcwd): Likewise.
75219         * tests/test-getdelim.c (getdelim): Likewise.
75220         * tests/test-getdtablesize.c (getdtablesize): Likewise.
75221         * tests/test-getgroups.c (getgroups): Likewise.
75222         * tests/test-gethostname.c (gethostname): Likewise.
75223         * tests/test-getline.c (getline): Likewise.
75224         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
75225         Likewise.
75226         * tests/test-gettimeofday.c (gettimeofday): Likewise.
75227         * tests/test-glob.c (glob, globfree): Likewise.
75228         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
75229         * tests/test-inet_ntop.c (inet_ntop): Likewise.
75230         * tests/test-inet_pton.c (inet_pton): Likewise.
75231         * tests/test-isblank.c (isblank): Likewise.
75232         * tests/test-lchown.c (lchown): Likewise.
75233         * tests/test-ldexpl.c (ldexpl): Likewise.
75234         * tests/test-link.c (link): Likewise.
75235         * tests/test-linkat.c (linkat): Likewise.
75236         * tests/test-lseek.c (lseek): Likewise.
75237         * tests/test-lstat.c (lstat): Likewise.
75238         * tests/test-mbrtowc.c (mbrtowc): Likewise.
75239         * tests/test-mbsinit.c (mbsinit): Likewise.
75240         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
75241         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
75242         * tests/test-memchr.c (memchr): Likewise.
75243         * tests/test-memcmp.c (memcmp): Likewise.
75244         * tests/test-memmem.c (memmem): Likewise.
75245         * tests/test-memrchr.c (memrchr): Likewise.
75246         * tests/test-mkdir.c (mkdir): Likewise.
75247         * tests/test-mkdirat.c (mkdirat): Likewise.
75248         * tests/test-mkfifo.c (mkfifo): Likewise.
75249         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
75250         * tests/test-mknod.c (mknod): Likewise.
75251         * tests/test-nanosleep.c (nanosleep): Likewise.
75252         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
75253         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
75254         Likewise.
75255         * tests/test-open.c (open): Likewise.
75256         * tests/test-openat.c (openat): Likewise.
75257         * tests/test-perror.c (perror): Likewise.
75258         * tests/test-pipe2.c (pipe2): Likewise.
75259         * tests/test-poll.c (poll): Likewise.
75260         * tests/test-popen.c (popen, pclose): Likewise.
75261         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
75262         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
75263         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
75264         (posix_spawn_file_actions_destroy)
75265         (posix_spawn_file_actions_addclose)
75266         (posix_spawn_file_actions_addopen)
75267         (posix_spawn_file_actions_adddup2): Likewise.
75268         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
75269         * tests/test-pread.c (pread): Likewise.
75270         * tests/test-printf-posix.c (printf): Likewise.
75271         * tests/test-pty.c (openpty, forkpty): Likewise.
75272         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
75273         (random_r): Likewise.
75274         * tests/test-rawmemchr.c (rawmemchr): Likewise.
75275         * tests/test-readlink.c (readlink): Likewise.
75276         * tests/test-remove.c (remove): Likewise.
75277         * tests/test-rename.c (rename): Likewise.
75278         * tests/test-renameat.c (renameat): Likewise.
75279         * tests/test-rmdir.c (rmdir): Likewise.
75280         * tests/test-round1.c (round): Likewise.
75281         * tests/test-roundf1.c (roundf): Likewise.
75282         * tests/test-roundl.c (roundl): Likewise.
75283         * tests/test-setenv.c (setenv): Likewise.
75284         * tests/test-sigaction.c (sigaction): Likewise.
75285         * tests/test-sleep.c (sleep): Likewise.
75286         * tests/test-snprintf.c (snprintf): Likewise.
75287         * tests/test-sprintf-posix.c (sprintf): Likewise.
75288         * tests/test-stat.c (stat): Likewise.
75289         * tests/test-stpncpy.c (stpncpy): Likewise.
75290         * tests/test-strcasestr.c (strcasestr): Likewise.
75291         * tests/test-strchrnul.c (strchrnul): Likewise.
75292         * tests/test-strerror.c (strerror): Likewise.
75293         * tests/test-strsignal.c (strsignal): Likewise.
75294         * tests/test-strstr.c (strstr): Likewise.
75295         * tests/test-strtod.c (strtod): Likewise.
75296         * tests/test-strverscmp.c (strverscmp): Likewise.
75297         * tests/test-symlink.c (symlink): Likewise.
75298         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
75299         * tests/test-times.c (times): Likewise.
75300         * tests/test-trunc1.c (trunc): Likewise.
75301         * tests/test-truncf1.c (truncf): Likewise.
75302         * tests/test-truncl.c (truncl): Likewise.
75303         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
75304         Likewise.
75305         * tests/test-uname.c (uname): Likewise.
75306         * tests/test-unlink.c (unlink): Likewise.
75307         * tests/test-unlinkat.c (unlinkat): Likewise.
75308         * tests/test-unsetenv.c (unsetenv): Likewise.
75309         * tests/test-usleep.c (usleep): Likewise.
75310         * tests/test-utimensat.c (utimensat): Likewise.
75311         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
75312         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
75313         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
75314         * tests/test-vprintf-posix.c (vprintf): Likewise.
75315         * tests/test-vsnprintf.c (vsnprintf): Likewise.
75316         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
75317         * tests/test-wcrtomb.c (wcrtomb): Likewise.
75318         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
75319         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
75320         * tests/test-wcwidth.c (wcwidth): Likewise.
75322         build: pull in conditional headers during GNULIB_POSIXCHECK
75323         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
75324         definitions from any conditionally-included headers.
75325         * lib/stdlib.in.h (includes): Likewise.
75326         * lib/unistd.in.h (includes): Likewise.
75328 2009-12-24  Bruno Haible  <bruno@clisp.org>
75330         * tests/test-argv-iter.c: Include header file being tested immediately
75331         after config.h.
75332         * tests/test-base64.c: Likewise.
75333         * tests/test-flock.c: Likewise.
75334         * tests/test-fsync.c: Likewise.
75335         * tests/test-getdate.c: Likewise.
75336         * tests/test-getndelim2.c: Likewise.
75337         * tests/test-isfinite.c: Likewise.
75338         * tests/test-isinf.c: Likewise.
75339         * tests/test-strerror.c: Likewise.
75340         * tests/test-strsignal.c: Likewise.
75342 2009-12-23  Eric Blake  <ebb9@byu.net>
75344         unistd: work around cygwin bug
75345         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
75346         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
75347         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
75349 2009-12-23  Bruno Haible  <bruno@clisp.org>
75351         localename: More tests.
75352         * tests/test-localename.c (SIZEOF): New macro.
75353         (categories): New variable.
75354         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
75355         test_locale_name_default): Add test w.r.t. thread locale.
75356         (test_locale_name_thread): New function.
75357         (main): Invoke it.
75359         localename: Make aware of thread locale.
75360         * lib/localename.h (gl_locale_name_thread): New declaration.
75361         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
75362         behaviour with respect to thread locale.
75363         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
75364         <langinfo.h>, glthread/lock.h.
75365         (SIZE_BITS): New macro.
75366         (string_hash): New function.
75367         (struct hash_node): New type.
75368         (HASH_TABLE_SIZE): New macro.
75369         (struniq_hash_table, struniq_lock): New variables.
75370         (struniq): New function.
75371         (gl_locale_name_thread): New function.
75372         (gl_locale_name): Invoke it.
75373         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
75374         * modules/localename (Depends-on): Add lock.
75375         Reported by Mike Gran <spk121@yahoo.com>.
75377 2009-12-23  Eric Blake  <ebb9@byu.net>
75379         va-args: new module
75380         * modules/va-args: New file.
75381         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
75382         * MODULES.html.sh (Core language properties): Mention it.
75384         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
75385         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
75386         named alias for __attribute__((__unused__)).
75387         * lib/chown.c: Update client.
75388         * lib/fchmodat.c: Likewise.
75389         * lib/fts.c: Likewise.
75390         * lib/getdate.y: Likewise.
75391         * lib/getgroups.c: Likewise.
75392         * lib/getopt.c: Likewise.
75393         * lib/getugroups.c: Likewise.
75394         * lib/mkdir.c: Likewise.
75395         * lib/mkfifo.c: Likewise.
75396         * lib/mkfifoat.c: Likewise.
75397         * lib/mknod.c: Likewise.
75398         * lib/mknodat.c: Likewise.
75399         * lib/readlink.c: Likewise.
75400         * lib/se-context.in.h: Likewise.
75401         * lib/se-selinux.in.h: Likewise.
75402         * lib/sockets.c: Likewise.
75403         * lib/symlink.c: Likewise.
75404         * lib/symlinkat.c: Likewise.
75405         * lib/unicodeio.c: Likewise.
75406         * lib/unistr.h: Likewise.
75407         * tests/test-areadlink.c: Likewise.
75408         * tests/test-areadlinkat.c: Likewise.
75409         * tests/test-filenamecat.c: Likewise.
75410         * tests/test-fseeko.c: Likewise.
75411         * tests/test-ftello.c: Likewise.
75412         * tests/test-getdate.c: Likewise.
75413         * tests/test-getgroups.c: Likewise.
75414         * tests/test-gethostname.c: Likewise.
75415         * tests/test-quotearg.c: Likewise.
75416         * tests/test-version-etc.c: Likewise.
75417         * tests/test-xalloc-die.c: Likewise.
75418         * tests/test-xfprintf-posix.c: Likewise.
75419         * tests/test-xprintf-posix.c: Likewise.
75420         * tests/test-xvasprintf.c: Likewise.
75422         tests: avoid compiler warnings
75423         * tests/test-fcntl.c (main): Delete unused parameters.
75424         * tests/test-freopen-safer.c (main): Likewise.
75425         * tests/test-xalloc-die.c (main): Mark unused parameters.
75426         * tests/test-fseeko.c (main): Likewise.
75427         * tests/test-ftello.c (main): Likewise.
75428         * tests/test-nanosleep.c (main): Avoid declaration warning.
75429         * tests/test-sleep.c (main): Likewise.
75430         * tests/test-unsetenv.c (main): Silence warning about string
75431         literal.
75432         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
75434 2009-12-23  Bruno Haible  <bruno@clisp.org>
75436         * tests/test-localename.c (test_locale_name): New function, extracted
75437         from main. Also test mixed situations.
75438         (test_locale_name_posix, test_locale_name_environ,
75439         test_locale_name_default): New functions.
75440         (main): Invoke them all.
75441         * modules/localename-tests (configure.ac): Test for newlocale.
75443 2009-12-23  Bruno Haible  <bruno@clisp.org>
75445         unistd: Ensure getcwd gets declared before being overridden.
75446         * lib/unistd.in.h: Conditionally include <io.h>.
75448 2009-12-22  Bruno Haible  <bruno@clisp.org>
75450         wchar: Diagnose broken combination of glibc and gcc versions and flags.
75451         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
75452         (gl_WCHAR_H): Invoke it.
75453         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
75454         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
75455         Reported by Karl Berry <karl@freefriends.org>.
75457 2009-12-22  Eric Blake  <ebb9@byu.net>
75459         math, unistd: avoid redundant includes
75460         * lib/math.in.h (isnan): No need to re-include <math.h>.
75461         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
75463         getsubopt: work around cygwin bug
75464         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
75465         avoid conflicting with system getsubopt.
75466         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
75467         bug.
75469         getopt: synchronize from glibc
75470         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
75471         parameter order.  Adjust all callers.
75472         (_getopt_internal_r, main): Adjust quoting in error messages.
75473         Drop considerations for outdated POSIX 1003.2 error message.
75474         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
75475         callers.
75476         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
75478         test-getopt: test stderr behavior
75479         * modules/getopt-posix-tests (Depends-on): Add dup2.
75480         * tests/test-getopt.c (ASSERT): Avoid stderr.
75481         (main): Move stderr to a temporary file.
75482         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
75483         Instead, add parameter to inform caller if output occurred.
75484         (test_getopt): Adjust all existing tests to expect silence, and
75485         add new tests of leading ":".
75486         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75487         glibc shortcomings with leading "-:" or "+:" in optstring.
75488         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75489         Likewise.
75490         * doc/posix-functions/getopt.texi (getopt): Likewise.
75492         test-getopt: enhance test
75493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
75494         supports optind=0.
75495         * tests/test-getopt.c (OPTIND_MIN): Move...
75496         * tests/test-getopt.h (OPTIND_MIN): ...here.
75497         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
75498         Require that optind=0 works, since modern BSD supports it in
75499         addition to optreset, and since coreutils expects it.
75500         (test_getopt_long_only): New test.
75501         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75502         glibc shortcomings with 'W;', and enforcement of optind=0.
75503         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75504         Likewise.
75506 2009-12-21  Bruno Haible  <bruno@clisp.org>
75508         localename: Improvements for MacOS X and Cygwin.
75509         * lib/localename.h (gl_locale_name_environ): New declaration.
75510         * lib/localename.c (gl_locale_name_environ): New function, extracted from
75511         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
75512         (gl_locale_name_posix): Invoke it.
75513         (gl_locale_name_default): Add comments. Use Windows native API also on
75514         Cygwin.
75516 2009-12-21  Bruno Haible  <bruno@clisp.org>
75518         Update list of Win32 locale ids.
75519         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
75520         (LANG_SAMI): Renamed from LANG_SAAMI.
75521         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
75522         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
75523         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
75524         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
75525         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
75526         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
75527         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
75528         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
75529         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
75530         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
75531         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
75532         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
75533         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
75534         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
75535         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
75536         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
75537         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
75538         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
75539         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
75540         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
75541         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
75542         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
75543         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
75544         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
75545         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
75546         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
75547         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
75548         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
75549         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
75550         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
75551         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
75552         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
75553         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
75554         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
75555         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
75556         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
75557         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
75558         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
75559         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
75560         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
75561         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
75562         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
75563         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
75564         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
75565         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
75566         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
75567         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
75568         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
75569         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
75570         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
75571         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
75572         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
75573         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
75574         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
75575         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
75576         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
75577         Add more languages and countries for Sami, Sorbian. Add more countries
75578         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
75579         for Pashto. Change country for Syriac, Tswana.
75581 2009-12-21  Eric Blake  <ebb9@byu.net>
75583         test-utimens: avoid spurious failure
75584         * tests/test-chown.h (nap): Factor...
75585         * tests/nap.h: ...into new file.
75586         * tests/test-lchown.h (nap): Avoid duplication.
75587         * tests/test-utimens-common.h (nap): Use shared implementation,
75588         necessary on file systems with 1-second resolution.
75589         * modules/chown-tests (Files): Include new file.
75590         * modules/fdutimensat-tests (Files): Likewise.
75591         * modules/futimens-tests (Files): Likewise.
75592         * modules/lchown-tests (Files): Likewise.
75593         * modules/openat-tests (Files): Likewise.
75594         * modules/utimens-tests (Files): Likewise.
75595         * modules/utimensat-tests (Files): Likewise.
75597 2009-12-19  Eric Blake  <ebb9@byu.net>
75599         futimens, utimensat: work around Linux bug
75600         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
75601         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
75602         * lib/utimensat.c (rpl_utimensat): Work around it.
75603         * lib/futimens.c (rpl_futimens): Adjust comment.
75605         utimens: work around Linux ctime bug
75606         * lib/utimens.c (detect_ctime_bug): New helper function.
75607         (update_timespec): Differentiate between workaround needed for
75608         this bug vs. what is needed for systems that lack utimensat.
75609         (fdutimens, lutimens): Work around bug.
75611         utimens: check for ctime update
75612         * tests/test-utimens-common.h (check_ctime): Define.
75613         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
75614         * tests/test-futimens.h (test_futimens): Likewise.
75615         * tests/test-lutimens.h (test_lutimens): Likewise.
75616         * doc/posix-functions/futimens.texi (futimens): Document the bug.
75617         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
75619 2009-12-19  Bruno Haible  <bruno@clisp.org>
75621         dprintf-posix: Check against memory leak fixed on 2009-12-15.
75622         * tests/test-dprintf-posix2.sh: New file.
75623         * tests/test-dprintf-posix2.c: New file.
75624         * modules/dprintf-posix-tests (Files): Add them.
75625         (configure.ac): Check for getrlimit and setrlimit.
75626         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
75628 2009-12-19  Bruno Haible  <bruno@clisp.org>
75630         fprintf-posix: Check against memory leak fixed on 2009-12-15.
75631         * tests/test-fprintf-posix3.sh: New file.
75632         * tests/test-fprintf-posix3.c: New file.
75633         * modules/fprintf-posix-tests (Files): Add them.
75634         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
75636 2009-12-19  Eric Blake  <ebb9@byu.net>
75638         dirfd: fix prototype
75639         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
75640         * lib/dirfd.c (dirfd): Likewise.
75642         canonicalize: reduce memory usage
75643         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
75644         allocation to size.
75645         Reported by Solar Designer <solar@openwall.com>.
75647 2009-12-19  Bruno Haible  <bruno@clisp.org>
75649         New module attribute 'Applicability'.
75650         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
75651         * gnulib-tool: New option --extract-applicability.
75652         (func_usage): Document it.
75653         (sed_extract_prog): Recognize it.
75654         (func_get_applicability): New function.
75655         (func_import): Generalize handling of 'link-warning' module.
75656         * modules/link-warning (Applicability): New section.
75657         * modules/arg-nonnull (Applicability): New section.
75658         Repoted by Simon Josefsson <simon@josefsson.org>.
75660 2009-12-19  Bruno Haible  <bruno@clisp.org>
75662         fflush: tweak
75663         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
75664         * lib/fseeko.c (rpl_fseeko): Likewise.
75666 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
75668         * lib/gl_list.h: Fix typo in comment.
75670 2009-12-16  Eric Blake  <ebb9@byu.net>
75672         fcntl: use to simplify other modules
75673         * modules/cloexec (Depends-on): Add fcntl.
75674         * modules/fchdir (Depends-on): Likewise.
75675         * modules/fd-safer-flag (Depends-on): Likewise.
75676         * modules/unistd-safer (Depends-on): Likewise.
75677         * modules/dup3 (configure.ac): Set module indicator.
75678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
75679         missing.
75680         * lib/fchdir.c (_gl_register_dup): Fix comment.
75681         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
75682         * lib/dup-safer.c (dup_safer): Likewise.
75683         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
75684         * lib/dup3.c (dup3): Likewise.
75685         * tests/test-fchdir.c (main): Enhance test.
75686         Fixes a dup_cloexec bug reported by Ondřej Vašík.
75688         fcntl: port portions of fcntl to mingw
75689         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
75690         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
75691         replacement for mingw.
75692         * modules/fcntl (Description): Update.
75693         (Depends-on): Add dup2.
75694         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
75695         * modules/fcntl-h (Makefile.am): Substitute it.
75696         * lib/fcntl.in.h (fcntl): Update declaration.
75697         (F_DUPFD, F_GETFD): New macros, when needed.
75698         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
75699         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
75700         * tests/test-fcntl.c (check_flags, main): Enhance test for items
75701         we now guarantee.
75703         fcntl: work around cygwin bug in F_DUPFD
75704         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
75705         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
75706         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
75707         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
75708         * doc/posix-functions/fcntl.texi (fcntl): Document it.
75710         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
75711         * modules/fcntl (Files): List new files.
75712         (configure.ac): Run a test.
75713         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
75714         * lib/fcntl.c (rpl_fcntl): Likewise.
75715         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
75716         (gl_FCNTL_H): Always replace fcntl.h.
75717         * modules/fcntl-h (Makefile.am): Substitute witnesses.
75718         * lib/fcntl.in.h (fcntl): Declare replacement.
75719         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
75720         needed, plus a witness.
75721         * doc/posix-functions/fcntl.texi (fcntl): Document this.
75722         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
75723         * tests/test-fcntl.c: New file.
75724         * modules/fcntl-tests: Likewise.
75726         binary-io: avoid potential compilation warning
75727         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
75728         directives.
75730         fflush: avoid compilation error on NetBSD
75731         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
75732         between off_t and fpos_t, since the latter is sometimes a struct.
75733         * lib/fseeko.c (rpl_fseeko): Likewise.
75734         Reported by Alexander Nasonov <alnsn@yandex.ru>.
75736 2009-12-15  Eric Blake  <ebb9@byu.net>
75738         fcntl-h, stdio, sys_ioctl: fix declarations
75739         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
75740         function must not take arguments.
75741         * lib/sys_ioctl.in.h (ioctl): Likewise.
75742         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
75743         (open): Add a link warning.
75745 2009-12-15  Jim Meyering  <meyering@redhat.com>
75747         areadlink, areadlink-with-size: relax license to LGPLv2+
75748         * modules/areadlink (License): Relax to LGPLv2+.
75749         * modules/areadlink-with-size (License): Likewise.
75751 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
75752             Bruno Haible  <bruno@clisp.org>
75754         *printf: Fix memory leak.
75755         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
75756         * lib/vfprintf.c (vfprintf): Likewise.
75757         * lib/dprintf.c (dprintf): Likewise.
75758         * lib/vdprintf.c (vdprintf): Likewise.
75760 2009-12-14  Eric Blake  <ebb9@byu.net>
75762         accept4: adjust module dependencies
75763         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
75765         utimens: one more try at avoiding compiler warning
75766         * lib/utimens.c (lutimens): Lower scope of result.
75768 2009-12-13  Bruno Haible  <bruno@clisp.org>
75770         Move the malloc checking from module 'list' to new module 'xlist'.
75771         * modules/xlist: New file.
75772         * lib/gl_xlist.h: New file.
75773         * lib/gl_xlist.c: New file.
75774         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
75775         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
75776         gl_list_add_last, gl_list_add_before, gl_list_add_after,
75777         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
75778         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
75779         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
75780         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
75781         gl_sortedlist_nx_add): New declarations.
75782         (struct gl_list_implementation): Rename and change methods accordingly.
75783         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
75784         (gl_list_nx_create): Renamed from gl_list_create.
75785         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
75786         (gl_list_nx_set_at): Renamed from gl_list_set_at.
75787         (gl_list_nx_add_first): Renamed from gl_list_add_first.
75788         (gl_list_nx_add_last): Renamed from gl_list_add_last.
75789         (gl_list_nx_add_before): Renamed from gl_list_add_before.
75790         (gl_list_nx_add_after): Renamed from gl_list_add_after.
75791         (gl_list_nx_add_at): Renamed from gl_list_add_at.
75792         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
75793         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
75794         gl_list_create_empty.
75795         (gl_list_nx_create): Renamed from gl_list_create.
75796         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
75797         (gl_list_nx_set_at): Renamed from gl_list_set_at.
75798         (gl_list_nx_add_first): Renamed from gl_list_add_first.
75799         (gl_list_nx_add_last): Renamed from gl_list_add_last.
75800         (gl_list_nx_add_before): Renamed from gl_list_add_before.
75801         (gl_list_nx_add_after): Renamed from gl_list_add_after.
75802         (gl_list_nx_add_at): Renamed from gl_list_add_at.
75803         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
75804         * lib/gl_array_list.c: Don't include xalloc.h.
75805         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
75806         NULL upon out-of-memory.
75807         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
75808         out-of-memory.
75809         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
75810         Change return type to 'int'.
75811         (gl_array_nx_set_at): Renamed from gl_array_set_at.
75812         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
75813         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
75814         upon out-of-memory.
75815         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
75816         upon out-of-memory.
75817         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
75818         upon out-of-memory.
75819         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
75820         upon out-of-memory.
75821         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
75822         out-of-memory.
75823         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
75824         Update.
75825         (gl_array_list_implementation): Update.
75826         * lib/gl_carray_list.c: Don't include xalloc.h.
75827         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
75828         Return NULL upon out-of-memory.
75829         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
75830         out-of-memory.
75831         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
75832         Change return type to 'int'.
75833         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
75834         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
75835         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
75836         upon out-of-memory.
75837         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
75838         upon out-of-memory.
75839         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
75840         out-of-memory.
75841         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
75842         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
75843         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
75844         Update.
75845         (gl_carray_list_implementation): Update.
75846         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
75847         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
75848         gl_linked_create_empty. Return NULL upon out-of-memory.
75849         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
75850         out-of-memory.
75851         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
75852         Change return type to 'int'. Return -1 upon out-of-memory.
75853         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
75854         out-of-memory.
75855         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
75856         upon out-of-memory.
75857         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
75858         upon out-of-memory.
75859         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
75860         NULL upon out-of-memory.
75861         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
75862         upon out-of-memory.
75863         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
75864         out-of-memory.
75865         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
75866         Update.
75867         * lib/gl_linked_list.c: Don't include xalloc.h.
75868         (gl_linked_list_implementation): Update.
75869         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
75870         (add_to_bucket): Change return type to 'int'.
75871         (gl_linkedhash_list_implementation): Update.
75872         * lib/gl_anytree_list1.h (free_subtree): New function.
75873         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
75874         gl_tree_create_empty. Return NULL upon out-of-memory.
75875         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
75876         Change return type to 'int'. Return -1 upon out-of-memory.
75877         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
75878         out-of-memory.
75879         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
75880         (gl_tree_remove_node): New function, moved here from
75881         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
75882         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
75883         Update.
75884         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
75885         malloc, not xmalloc. Return NULL upon out-of-memory.
75886         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
75887         out-of-memory.
75888         (gl_tree_remove_node_from_tree): New function, extracted from
75889         gl_tree_remove_node.
75890         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
75891         upon out-of-memory.
75892         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
75893         out-of-memory.
75894         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
75895         upon out-of-memory.
75896         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
75897         upon out-of-memory.
75898         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
75899         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
75900         not xmalloc. Return NULL upon out-of-memory.
75901         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
75902         out-of-memory.
75903         (gl_tree_remove_node_from_tree): New function, extracted from
75904         gl_tree_remove_node.
75905         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
75906         upon out-of-memory.
75907         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
75908         out-of-memory.
75909         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
75910         upon out-of-memory.
75911         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
75912         upon out-of-memory.
75913         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
75914         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
75915         gl_anytree_list1.h before gl_anyavltree_list2.h.
75916         (gl_avltree_list_implementation): Update.
75917         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
75918         gl_anytree_list1.h before gl_anyavltree_list2.h.
75919         (gl_rbtree_list_implementation): Update.
75920         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
75921         Change return type to 'int'. Return -1 upon out-of-memory. Use
75922         __builtin_expect.
75923         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
75924         (gl_avltreehash_list_implementation): Update.
75925         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
75926         (gl_rbtreehash_list_implementation): Update.
75927         * modules/array-list (Depends-on): Remove xalloc.
75928         * modules/carray-list (Depends-on): Likewise.
75929         * modules/linked-list (Depends-on): Likewise.
75930         * modules/linkedhash-list (Depends-on): Likewise.
75931         * modules/avltree-list (Depends-on): Likewise.
75932         * modules/rbtree-list (Depends-on): Likewise.
75933         * modules/avltreehash-list (Depends-on): Likewise.
75934         * modules/rbtreehash-list (Depends-on): Likewise.
75936         * modules/xsublist: New file.
75937         * lib/gl_xsublist.h: New file.
75938         * lib/gl_xsublist.c: New file.
75939         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
75940         (gl_sublist_nx_create): New declaration.
75941         * lib/gl_sublist.c: Don't include xalloc.h.
75942         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
75943         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
75944         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
75945         Change return type to 'int'. Return -1 upon out-of-memory.
75946         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
75947         upon out-of-memory.
75948         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
75949         NULL upon out-of-memory.
75950         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
75951         upon out-of-memory.
75952         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
75953         NULL upon out-of-memory.
75954         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
75955         NULL upon out-of-memory.
75956         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
75957         upon out-of-memory.
75958         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
75959         (gl_sublist_list_implementation): Update.
75960         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
75961         upon out-of-memory.
75962         * modules/sublist (Depends-on): Remove xalloc.
75964         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
75965         * tests/test-carray_list.c: Likewise.
75966         * tests/test-linked_list.c: Likewise.
75967         * tests/test-linkedhash_list.c: Likewise.
75968         * tests/test-avltree_list.c: Likewise.
75969         * tests/test-rbtree_list.c: Likewise.
75970         * tests/test-avltreehash_list.c: Likewise.
75971         * tests/test-rbtreehash_list.c: Likewise.
75972         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
75973         * modules/carray-list-tests (Makefile.am): Likewise.
75974         * modules/linked-list-tests (Makefile.am): Likewise.
75975         * modules/linkedhash-list-tests (Makefile.am): Likewise.
75976         * modules/avltree-list-tests (Makefile.am): Likewise.
75977         * modules/rbtree-list-tests (Makefile.am): Likewise.
75978         * modules/avltreehash-list-tests (Makefile.am): Likewise.
75979         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
75981         * NEWS: Mention the changes.
75983         * lib/clean-temp.c: Include gl_xlist.h.
75984         * modules/clean-temp (Depends-on): Add xlist.
75986         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
75987         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
75989         * tests/test-array_oset.c: Include gl_xlist.h.
75990         * modules/array-oset-tests (Depends-on): Add xlist.
75992         Reported by José E. Marchesi <jemarch@gnu.org>.
75994 2009-12-13  Bruno Haible  <bruno@clisp.org>
75996         Move the malloc checking from module 'oset' to new module 'xoset'.
75997         * modules/xoset: New file.
75998         * lib/gl_xoset.h: New file.
75999         * lib/gl_xoset.c: New file.
76000         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
76001         declarations.
76002         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
76003         (struct gl_oset_implementation): Rename and change methods accordingly.
76004         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
76005         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76006         'int'. Mark as __warn_unused_result__.
76007         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
76008         gl_oset_create_empty.
76009         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76010         'int'.
76011         * lib/gl_array_oset.c: Don't include xalloc.h.
76012         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
76013         malloc, not xmalloc.
76014         (grow): Change return type to 'int'. Don't call xalloc_die.
76015         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
76016         to 'int'.
76017         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
76018         'int'.
76019         (gl_array_oset_implementation): Update.
76020         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
76021         gl_tree_create_empty.
76022         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
76023         'int'.
76024         * lib/gl_avltree_oset.c: Don't include xalloc.h.
76025         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76026         xmalloc.
76027         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76028         not xmalloc.
76029         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76030         xmalloc.
76031         (gl_avltree_oset_implementation): Update.
76032         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
76033         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76034         xmalloc.
76035         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76036         not xmalloc.
76037         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76038         xmalloc.
76039         (gl_rbtree_oset_implementation): Update.
76040         * modules/array-oset (Depends-on): Remove xalloc.
76041         * modules/avltree-oset (Depends-on): Likewise.
76042         * modules/rbtree-oset (Depends-on): Likewise.
76043         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
76044         * tests/test-avltree_oset.c: Likewise.
76045         * tests/test-rbtree_oset.c: Likewise.
76046         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76047         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
76048         * modules/rbtree-oset-tests (Makefile.am): Likewise.
76049         * NEWS: Mention the change.
76051 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
76053         maint.mk: allow a project to override release-prep commands
76054         * top/maint.mk (alpha, beta, stable): Move release-preparatory
76055         commands into a new rule.
76056         (release-prep): New rule.
76057         (release-prep-hook): New overridable variable.
76059 2009-12-13  Bruno Haible  <bruno@clisp.org>
76061         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
76063 2009-12-13  Jim Meyering  <meyering@redhat.com>
76065         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
76066         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
76068 2009-12-12  Bruno Haible  <bruno@clisp.org>
76070         duplocale: Tweak.
76071         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
76073 2009-12-12  Karl Berry  <karl@gnu.org>
76075         * config/srclist.txt (strtoll.c): tab changes, no more sync.
76077 2009-12-12  Bruno Haible  <bruno@clisp.org>
76079         * m4/po.m4: Undo incorrect untabification.
76081 2009-12-12  Bruno Haible  <bruno@clisp.org>
76083         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
76084         * modules/c-strtod (Depends-on): Add locale.
76085         * modules/c-strtold (Depends-on): Likewise.
76087 2009-12-12  Bruno Haible  <bruno@clisp.org>
76089         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
76091 2009-12-11  Eric Blake  <ebb9@byu.net>
76093         setenv: relax requirement in light of POSIX ruling
76094         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
76095         not NULL.
76096         * tests/test-setenv.c (main): Relax test.
76097         * tests/test-unsetenv.c (main): Likewise.
76098         * doc/posix-functions/setenv.texi (setenv): Document this.
76099         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76101 2009-12-11  Bruno Haible  <bruno@clisp.org>
76103         New module 'fd-safer-flag'.
76104         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
76105         * lib/dup-safer.c (dup_safer_flag): Remove function.
76106         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
76107         * lib/fd-safer.c (fd_safer_flag): Remove function.
76108         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
76109         * modules/cloexec (configure.ac): Drop indicator macro.
76110         * modules/fd-safer-flag: New file.
76111         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
76112         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
76113         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
76115 2009-12-11  Bruno Haible  <bruno@clisp.org>
76117         Tests for module 'nl_langinfo'.
76118         * modules/nl_langinfo-tests: New file.
76119         * tests/test-nl_langinfo.sh: New file.
76120         * tests/test-nl_langinfo.c: New file.
76122         New module 'nl_langinfo'.
76123         * lib/nl_langinfo.c: New file.
76124         * m4/nl_langinfo.m4: New file.
76125         * modules/nl_langinfo: New file.
76126         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
76128 2009-12-11  Bruno Haible  <bruno@clisp.org>
76130         Tests for module 'langinfo'.
76131         * modules/langinfo-tests: New file.
76132         * tests/test-langinfo.c: New file.
76134         New module 'langinfo'.
76135         * lib/langinfo.in.h: New file.
76136         * m4/langinfo_h.m4: New file.
76137         * modules/langinfo: New file.
76138         * doc/posix-headers/langinfo.texi: Mention the new module.
76140 2009-12-11  Bruno Haible  <bruno@clisp.org>
76142         * lib/config.charset: Untabify.
76144 2009-12-11  Bruno Haible  <bruno@clisp.org>
76146         * modules/unistd-safer (configure.ac): Drop indicator macro.
76148 2009-12-11  Bruno Haible  <bruno@clisp.org>
76150         Move pipe2-safer code to its own file.
76151         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
76152         * lib/pipe-safer.c (pipe2_safer): Remove function.
76153         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
76154         (Makefile.am): Add it to lib_SOURCES.
76156 2009-12-10  Bruno Haible  <bruno@clisp.org>
76158         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
76160 2009-12-10  Bruno Haible  <bruno@clisp.org>
76162         Declare which arguments expect non-NULL values, for GCC and clang.
76163         * build-aux/arg-nonnull.h: New file.
76164         * modules/arg-nonnull: New file.
76165         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
76166         (inet_ntop, inet_pton): Use it.
76167         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
76168         (closedir, dirfd, opendir, scandir, alphasort): Use it.
76169         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
76170         (open, openat): Use it.
76171         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
76172         (fnmatch): Use it.
76173         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
76174         (getopt, getopt_long, getopt_long_only): Use it.
76175         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
76176         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
76177         Use it.
76178         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
76179         (iconv_open): Use it.
76180         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
76181         (strtoimax, strtoumax): Use it.
76182         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
76183         (duplocale): Use it.
76184         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
76185         (frexp, frexpl): Use it.
76186         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
76187         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
76188         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
76189         (tsearch, tfind, tdelete, twalk): Use it.
76190         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
76191         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
76192         sigpending): Use it.
76193         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
76194         (posix_spawn, posix_spawnp, posix_spawnattr_init,
76195         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
76196         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
76197         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
76198         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
76199         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
76200         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
76201         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
76202         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
76203         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
76204         Use it.
76205         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
76206         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
76207         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
76208         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
76209         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
76210         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
76211         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
76212         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
76213         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
76214         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
76215         strtoull, unsetenv): Use it.
76216         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
76217         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
76218         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
76219         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
76220         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
76221         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
76222         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
76223         (strcasecmp, strncasecmp): Use it.
76224         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
76225         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
76226         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
76227         rpl_setsockopt): Use it.
76228         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
76229         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
76230         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
76231         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
76232         (gettimeofday): Use it.
76233         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
76234         (times): Use it.
76235         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
76236         (uname): Use it.
76237         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
76238         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
76239         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
76240         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
76241         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
76242         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
76243         unlinkat, write): Use it.
76244         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
76245         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
76246         * lib/argv-iter.h: Include arg-nonnull.h.
76247         (_ATTRIBUTE_NONNULL_): Remove macro.
76248         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
76249         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
76250         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
76251         optimization.
76252         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
76253         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
76254         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
76255         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
76256         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
76257         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
76258         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
76259         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
76260         * modules/arpa_inet (Depends-on): Add arg-nonnull.
76261         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
76262         * modules/dirent (Depends-on): Add arg-nonnull.
76263         (Makefile.am): Insert arg-nonnull.h into dirent.h.
76264         * modules/fcntl-h (Depends-on): Add arg-nonnull.
76265         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
76266         * modules/fnmatch (Depends-on): Add arg-nonnull.
76267         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
76268         * modules/getopt-posix (Depends-on): Add arg-nonnull.
76269         (Makefile.am): Insert arg-nonnull.h into getopt.h.
76270         * modules/glob (Depends-on): Add arg-nonnull.
76271         (Makefile.am): Insert arg-nonnull.h into glob.h.
76272         * modules/iconv_open (Depends-on): Add arg-nonnull.
76273         (Makefile.am): Insert arg-nonnull.h into iconv.h.
76274         * modules/inttypes (Depends-on): Add arg-nonnull.
76275         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
76276         * modules/locale (Depends-on): Add arg-nonnull.
76277         (Makefile.am): Insert arg-nonnull.h into locale.h.
76278         * modules/math (Depends-on): Add arg-nonnull.
76279         (Makefile.am): Insert arg-nonnull.h into math.h.
76280         * modules/netdb (Depends-on): Add arg-nonnull.
76281         (Makefile.am): Insert arg-nonnull.h into netdb.h.
76282         * modules/search (Depends-on): Add arg-nonnull.
76283         (Makefile.am): Insert arg-nonnull.h into search.h.
76284         * modules/signal (Depends-on): Add arg-nonnull.
76285         (Makefile.am): Insert arg-nonnull.h into signal.h.
76286         * modules/spawn (Depends-on): Add arg-nonnull.
76287         (Makefile.am): Insert arg-nonnull.h into spawn.h.
76288         * modules/stdio (Depends-on): Add arg-nonnull.
76289         (Makefile.am): Insert arg-nonnull.h into stdio.h.
76290         * modules/stdlib (Depends-on): Add arg-nonnull.
76291         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
76292         * modules/string (Depends-on): Add arg-nonnull.
76293         (Makefile.am): Insert arg-nonnull.h into string.h.
76294         * modules/strings (Depends-on): Add arg-nonnull.
76295         (Makefile.am): Insert arg-nonnull.h into strings.h.
76296         * modules/sys_socket (Depends-on): Add arg-nonnull.
76297         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
76298         * modules/sys_stat (Depends-on): Add arg-nonnull.
76299         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
76300         * modules/sys_time (Depends-on): Add arg-nonnull.
76301         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
76302         * modules/sys_times (Depends-on): Add arg-nonnull.
76303         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
76304         * modules/sys_utsname (Depends-on): Add arg-nonnull.
76305         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
76306         * modules/time (Depends-on): Add arg-nonnull.
76307         (Makefile.am): Insert arg-nonnull.h into time.h.
76308         * modules/unistd (Depends-on): Add arg-nonnull.
76309         (Makefile.am): Insert arg-nonnull.h into unistd.h.
76310         * modules/wchar (Depends-on): Add arg-nonnull.
76311         (Makefile.am): Insert arg-nonnull.h into wchar.h.
76312         * modules/argv-iter (Depends-on): Add arg-nonnull.
76313         * tests/test-canonicalize.c (null_ptr): New function.
76314         (main): Use it.
76315         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
76316         (main): Use it.
76317         * tests/test-memmem.c (null_ptr): New function.
76318         (main): Use it.
76319         Reported by Jim Meyering.
76321 2009-12-10  Bruno Haible  <bruno@clisp.org>
76323         Use spaces for indentation, not tabs.
76324         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
76325         * m4/*.m4: Untabify.
76326         * build-aux/*.h: Untabify.
76327         * tests/**/*.[hc]: Untabify.
76328         * README: New section "Indent with spaces, not TABs", based on
76329         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
76330         * NEWS: Mention the change.
76332 2009-12-10  Bruno Haible  <bruno@clisp.org>
76334         pty test: Fix link error.
76335         * modules/pty-tests (Makefile.am): Add the default LDADD value to
76336         test_pty_LDADD.
76338 2009-12-07  Simon Josefsson  <simon@josefsson.org>
76340         * modules/pty: New file.
76341         * modules/pty-tests: New file.
76342         * m4/pty.m4: New file.
76343         * tests/test-pty.c: New file.
76344         * doc/glibc-headers/pty.texi: Modified.
76345         * doc/glibc-functions/forkpty.texi: Modified.
76346         * doc/glibc-functions/openpty.texi: Modified.
76348 2009-12-10  Bruno Haible  <bruno@clisp.org>
76350         Avoid syntax error in C++ mode.
76351         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
76353 2009-12-10  Bruno Haible  <bruno@clisp.org>
76355         Use sed with option -e.
76356         * gnulib-tool (func_version, func_emit_copyright_notice,
76357         func_emit_initmacro_end, func_import, func_create_testdir): Pass
76358         option -e to sed.
76359         * modules/link-warning (Makefile.am): Likewise.
76361 2009-12-10  Jim Meyering  <meyering@redhat.com>
76363         mgetgroups: do not write bytes beyond end of malloc'd buffer
76364         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
76365         username, we call getgroups with a one-element-shorter buffer,
76366         but still told it the length was original, max_n_groups.
76368 2009-12-09  Eric Blake  <ebb9@byu.net>
76370         cloexec: relax license
76371         * modules/cloexec (Maintainer): Add myself.
76372         (License): Use LGPL, not GPL.
76374         link-warning: optimize generation
76375         * modules/link-warning (Makefile.am): Reduce process usage.
76377 2009-12-09  Bruno Haible  <bruno@clisp.org>
76379         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
76380         workaround was added on 2009-11-17.
76382 2009-12-09  Jim Meyering  <meyering@redhat.com>
76383             Bruno Haible  <bruno@clisp.org>
76385         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
76386         * modules/link-warning (Makefile.am): Make the comment-removing sed
76387         command more robust in the face of bootstrap-prepended comment lines.
76389 2009-12-09  Bruno Haible  <bruno@clisp.org>
76391         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
76392         most one group.
76394 2009-12-09  Simon Josefsson  <simon@josefsson.org>
76395             Bruno Haible  <bruno@clisp.org>
76397         * build-aux/link-warning.h: Add copyright notice.
76398         * modules/link-warning (Makefile.am): Generate link-warning.h from
76399         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
76400         * NEWS: Mention change in link-warning module.
76401         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
76402         * modules/dirent (Makefile.am): Add dependency to dirent.h.
76403         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
76404         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
76405         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
76406         * modules/math (Makefile.am): Add dependency to math.h.
76407         * modules/search (Makefile.am): Add dependency to search.h.
76408         * modules/signal (Makefile.am): Add dependency to signal.h.
76409         * modules/spawn (Makefile.am): Add dependency to spawn.h.
76410         * modules/stdio (Makefile.am): Add dependency to stdio.h.
76411         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
76412         * modules/string (Makefile.am): Add dependency to string.h.
76413         * modules/strings (Makefile.am): Add dependency to strings.h.
76414         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
76415         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
76416         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
76417         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
76418         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
76419         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
76420         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
76421         * modules/unistd (Makefile.am): Add dependency to unistd.h.
76422         * modules/wchar (Makefile.am): Add dependency to wchar.h.
76424 2009-12-09  Bruno Haible  <bruno@clisp.org>
76426         fchdir: Optimize away rpl_fstat when possible.
76427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
76428         REPLACE_OPEN_DIRECTORY.
76429         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
76431 2009-12-09  Bruno Haible  <bruno@clisp.org>
76433         * lib/fchdir.c: Update comment.
76435 2009-12-09  Bruno Haible  <bruno@clisp.org>
76437         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
76439 2009-12-08  Eric Blake  <ebb9@byu.net>
76441         fchdir: avoid memory leak on re-registration.
76442         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
76444 2009-12-08  Jim Meyering  <meyering@redhat.com>
76446         init.sh: avoid Solaris 10 /bin/sh portability problem
76447         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
76448         sourced script:
76449           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
76450           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
76451           bar
76452         tests/init.sh relied on that, accepting a --set-path=DIR argument,
76453         and two tests used that idiom.
76454         * tests/init.sh: Update suggested usage comments.
76455         (path_prepend_): New function, to be used in place
76456         of the --src-path=DIR option.
76457         (setup_): Move PATH-prepending code into path_prepend_.
76458         * tests/test-pread.sh: Adapt to new usage.
76459         * tests/test-xalloc-die.sh: Likewise.
76461 2009-12-08  Simon Josefsson  <simon@josefsson.org>
76463         * doc/gnulib.texi (Glibc pty.h): Add.
76464         * doc/glibc-functions/forkpty.texi: Add.
76465         * doc/glibc-functions/openpty.texi: Add.
76466         Suggested by Bruno Haible.
76468 2009-12-08  Eric Blake  <ebb9@byu.net>
76470         fchdir: fix logic bugs
76471         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
76472         * tests/test-fchdir.c (main): Enhance test.
76473         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
76474         is in use.
76476         dup2: fix logic bugs
76477         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
76478         REPLACE_DUP2 to decide when rpl_dup2 is needed.
76479         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
76480         exists.
76481         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
76483 2009-12-07  Eric Blake  <ebb9@byu.net>
76485         unlink: fix m4 detection
76486         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
76488         unistd-safer: add unit test
76489         * modules/unistd-safer-tests: New file.
76490         * tests/test-dup-safer.c: Likewise.
76491         * tests/test-cloexec.c (setmode): Avoid compiler warning.
76492         * tests/test-dup2.c (setmode): Likewise.
76493         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
76495         cloexec: preserve text vs. binary across dup_cloexec
76496         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
76497         mode.
76498         * modules/dup2-tests (Depends-on): Add binary-io.
76499         * modules/cloexec-tests (Depends-on): Likewise.
76500         * tests/test-dup2.c (setmode, is_mode): New helpers.
76501         (main): Add tests that translation mode is preserved.
76502         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
76503         Reported by Bruno Haible.
76505         mgetgroups: reduce duplicate listings
76506         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
76507         resulting array.
76508         * tests/test-chown.h (test_chown): Simplify client.
76509         * tests/test-lchown.h (test_lchown): Likewise.
76511 2009-12-06  Bruno Haible  <bruno@clisp.org>
76513         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
76514         value.
76516 2009-12-06  Bruno Haible  <bruno@clisp.org>
76518         * lib/progname.c: Include stdio.h, stdlib.h.
76519         (set_program_name): Reject a NULL argument.
76521 2009-12-05  Eric Blake  <ebb9@byu.net>
76523         pipe2-safer: new module
76524         * modules/pipe2-safer: New file.
76525         * lib/unistd-safer.h (pipe2_safer): New prototype.
76526         * lib/unistd--.h (pipe2): New wrapper.
76527         * lib/pipe-safer.c (pipe2_safer): New function.
76528         * modules/pipe (Depends-on): Add pipe2-safer.
76529         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
76531         stdlib-safer: preserve cloexec flag for mkostemp[s]
76532         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
76533         fd_safer_flag.
76535         unistd-safer: allow preservation of cloexec status via flag
76536         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
76537         prototypes.
76538         * lib/dup-safer.c (dup_safer_flag): New function.
76539         * lib/fd-safer.c (fd_safer_flag): Likewise.
76540         * modules/cloexec (configure.ac): Set witness.
76542         test-dup2: enhance test
76543         * modules/dup2-tests (Depends-on): Add cloexec.
76544         * tests/test-dup2.c (main): Enhance test.
76546         cloexec: add dup_cloexec
76547         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
76548         header and comments.
76549         * lib/cloexec.c (set_cloexec_flag): Add comments.
76550         (dup_cloexec): New function, with mingw implementation borrowed
76551         from...
76552         * lib/w32spawn.h (dup_noinherit): ...here.
76553         * modules/execute (Depends-on): Add cloexec.
76554         * modules/pipe (Depends-on): Likewise.
76555         * modules/cloexec (Depends-on): Add dup2.
76556         * modules/cloexec-tests (Files): New file.
76557         * tests/test-cloexec.c: Likewise.
76559         test-xalloc-die: fix test for mingw
76560         * modules/xalloc-die-tests (Files): Add tests/init.sh.
76561         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
76562         directory and .exe suffix off argv[0] output.
76564         test-fseeko: fix test for mingw
76565         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
76566         than undefining fseek, so test will pass on mingw.
76568 2009-12-05  Bruno Haible  <bruno@clisp.org>
76570         * lib/progname.h (set_program_name): Clarify specification.
76571         * lib/progname.c (set_program_name): Likewise.
76572         Reported by Jim Meyering.
76574 2009-12-05  Jim Meyering  <meyering@redhat.com>
76576         maint.mk: backslash-escape parens in default regexp
76577         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
76578         backslash-escape the literal parentheses.
76580         maint.mk: news-date-check: use grep -E
76581         * top/maint.mk (today): Define a Make variable, not a...
76582         (news-date-check): ...shell variable.
76583         (news-date-regexp): Use the Make variable.
76584         Use grep's -E option.  Change the failing diagnostic to mention
76585         the variable, $(news-date-regexp).
76587 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
76589         maintainer-makefile: allow customization of NEWS entry format
76590         * top/maint.mk (news-date-regexp): New overridable variable.
76591         (news-date-check): Use it.
76593 2009-12-04  Eric Blake  <ebb9@byu.net>
76595         mgetgroups: add xgetgroups, and avoid ENOSYS failures
76596         * lib/mgetgroups.h (xgetgroups): New prototype.
76597         * lib/mgetgroups.c (xgetgroups): New wrapper.
76598         (mgetgroups): Handle ENOSYS.
76599         * modules/mgetgroups (Depends-on): Add realloc.
76600         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
76602         mgetgroups: avoid argument promotion issues with -1
76603         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
76604         for invalid gid_t.
76605         * tests/test-chown.h (getegid, test_chown): Likewise.
76606         * tests/test-lchown.h (getegid, test_lchown): Likewise.
76608 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
76610         exclude: Fix header file problems.
76611         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
76613 2009-12-01  Jim Meyering  <meyering@redhat.com>
76615         fts: fts_open: do not let an empty string cause immediate failure
76616         This is required in support of GNU rm, for which the command
76617         "rm A '' B" must process and remove both A and B, in spite of
76618         the empty string argument.
76619         * lib/fts.c (fts_open): Do not let the presence of an empty string
76620         cause fts_open to fail immediately.  Most fts-using tools must be
76621         able to process all arguments, in order, and can be expected to
76622         diagnose such arguments themselves.
76624 2009-11-30  Eric Blake  <ebb9@byu.net>
76626         utimens: fix compilation error
76627         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
76628         Declare variable at right scope.
76630 2009-11-29  Jim Meyering  <meyering@redhat.com>
76632         bootstrap: handle perl-5.11's changed --version output
76633         * build-aux/bootstrap (get_version): Handle perl separately,
76634         since perl-5.11's --version output is different.
76636 2009-11-28  Jim Meyering  <meyering@redhat.com>
76638         userspec: depend on the inttostr module, too
76639         * modules/userspec (Depends-on): Add inttostr.
76641         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
76642         * lib/userspec.c (parse_with_separator): Do not accept a user ID
76643         number of MAXUID when it evaluates to (uid_t) -1.
76644         Likewise for group ID.  Reported by Matt McCutchen in
76645         <http://savannah.gnu.org/bugs/?28113>
76647         userspec: reformat to use spaces, not TABs
76648         * lib/userspec.c: Expand TABs to spaces.
76649         Add Emacs' "indent-tabs-mode: nil" hint.
76651 2009-11-27  Eric Blake  <ebb9@byu.net>
76653         getopt-gnu: flush out another BSD bug
76654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
76655         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
76656         flush out BSD bug.
76657         * tests/test-getopt.h (test_getopt): End lists with NULL.
76658         * tests/test-getopt_long.h (test_getopt_long): Likewise.
76659         (test_getopt_long_posix): Enhance test.
76660         * modules/getopt-posix-tests (Depends-on): Add stdbool.
76661         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
76662         getopt-gnu.
76663         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76664         Likewise.
76666 2009-11-27  Simon Josefsson  <simon@josefsson.org>
76668         * modules/idpriv-droptemp-tests (Notice): Fix text.
76670 2009-11-27  Jim Meyering  <meyering@redhat.com>
76672         test-xalloc-die: avoid spurious failure due to libtool argv difference
76673         In a libtool-enabled project, this test would fail due to a difference
76674         in the emitted program name, e.g.,
76675         -test-xalloc-die: memory exhausted
76676         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
76677         Use program to avoid that.
76678         * modules/xalloc-die-tests (Depends-on): Add progname.
76679         * tests/test-xalloc-die.c: Include progname.h".
76680         (program_name): Remove decl.
76681         (main): Call set_program_name.
76682         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
76684 2009-11-26  Richard Jones  <rjones@redhat.com>
76686         w32sock: leave win32 error in place.
76687         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
76689 2009-11-26  Eric Blake  <ebb9@byu.net>
76691         init.sh: suggest to use skip_ and fail_ functions in comments
76692         * tests/init.sh: Add a sentence.
76694 2009-11-25  Bruno Haible  <bruno@clisp.org>
76696         init.sh: add documentation in comments
76697         * tests/init.sh: Add some developer and user documentation.
76699 2009-11-26  Jim Meyering  <meyering@redhat.com>
76701         init.sh: accommodate even those who specify bogus srcdir manually
76702         * tests/init.sh: Normally, srcdir is guaranteed by automake and
76703         configure-time tests to be sanitized, so that there is no need to
76704         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
76705         (with no double quotes) suffices.  However, since tests may be
76706         invoked manually, and since you may explicitly set srcdir to the
76707         name of a directory containing spaces, do quote its uses here.
76708         * tests/test-pread.sh: Likewise.
76709         Suggested by Bruno Haible.
76711         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
76712         * tests/test-pread.sh: Write no data into the pipe, because
76713         test-pread actually reads none.  This avoids a diagnostic,
76714         "bash: echo: write error: Broken pipe", that arises in the unusual
76715         event something is ignoring SIGPIPE, and might be interpreted
76716         as some sort of failure.  Reported by Bruno Haible.
76718 2009-11-25  Jim Meyering  <meyering@redhat.com>
76720         test-pread: cover failure with ESPIPE and EINVAL
76721         * tests/test-pread.c (main): Test for failure, too.
76722         * tests/test-pread.sh: Invoke with stdin on a pipe.
76723         Suggested by Eric Blake.
76725         pread: improvement and fix
76726         * modules/pread (Depends-on): Depend on lseek, for portability to
76727         e.g., mingw.  Suggested by Eric Blake.
76728         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
76730         unistd.in.h: correct declaration of pread
76731         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
76732         Reported by Richard W.M. Jones.
76734         test-pread.sh: distribute the test script
76735         * modules/pread-tests (Files): Include test-pread.sh.
76737         test-pread.sh: clean up
76738         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
76739         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
76740         That is unnecessary, since it's always ".".
76741         Suggestion from Eric Blake.
76743         test-pread.sh: make executable
76744         * tests/test-pread.sh: Set executable bit.
76745         Reported by Eric Blake.
76747         correct typo in test-pread.sh
76748         * tests/test-pread.sh: Add #! line.
76750         test pread
76751         * tests/test-pread.c: New file.
76752         * tests/test-pread.sh: Likewise.
76753         * modules/pread-tests: Likewise.
76755         pread: new module
76756         * modules/pread: New file.
76757         * lib/unistd.in.h (pread): Define/declare.
76758         * lib/pread.c (pread): New file.
76759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
76760         * modules/unistd (Makefile.am): Substitute witnesses.
76761         * doc/posix-functions/pread.texi (pread): Update.
76762         * MODULES.html.sh: Add pread.
76764 2009-11-25  Jim Meyering  <meyering@redhat.com>
76766         tests/init.sh: new file to be used via most *.sh tests
76767         * tests/init.sh: New file.
76769 2009-11-25  Eric Blake  <ebb9@byu.net>
76771         utimens: work around older Linux failure with symlinks
76772         * lib/utimens.c (lutimensat_works_really): New variable.
76773         (fdutimens, lutimens): Use it to manage kernels that support
76774         nanosecond times on files, but not on symlinks.
76775         Reported by Ondřej Vašík.
76777         utimes: fix configure grammar
76778         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
76780 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
76782         regex: Fix fastmap for multibyte character ranges.
76783         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
76784         characters when a multibyte character range is included.
76786 2009-11-22  Andy Wingo  <wingo@pobox.com>
76788         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
76789         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
76791 2009-11-24  Bruno Haible  <bruno@clisp.org>
76793         doc: Most *_l functions exist in MacOS X 10.5.
76794         * doc/posix-functions/duplocale.texi: Update platforms list.
76795         * doc/posix-functions/freelocale.texi: Likewise.
76796         * doc/posix-functions/newlocale.texi: Likewise.
76797         * doc/posix-functions/uselocale.texi: Likewise.
76798         * doc/posix-functions/isalnum_l.texi: Likewise.
76799         * doc/posix-functions/isalpha_l.texi: Likewise.
76800         * doc/posix-functions/isblank_l.texi: Likewise.
76801         * doc/posix-functions/iscntrl_l.texi: Likewise.
76802         * doc/posix-functions/isdigit_l.texi: Likewise.
76803         * doc/posix-functions/isgraph_l.texi: Likewise.
76804         * doc/posix-functions/islower_l.texi: Likewise.
76805         * doc/posix-functions/isprint_l.texi: Likewise.
76806         * doc/posix-functions/ispunct_l.texi: Likewise.
76807         * doc/posix-functions/isspace_l.texi: Likewise.
76808         * doc/posix-functions/isupper_l.texi: Likewise.
76809         * doc/posix-functions/iswalnum_l.texi: Likewise.
76810         * doc/posix-functions/iswalpha_l.texi: Likewise.
76811         * doc/posix-functions/iswblank_l.texi: Likewise.
76812         * doc/posix-functions/iswcntrl_l.texi: Likewise.
76813         * doc/posix-functions/iswctype_l.texi: Likewise.
76814         * doc/posix-functions/iswdigit_l.texi: Likewise.
76815         * doc/posix-functions/iswgraph_l.texi: Likewise.
76816         * doc/posix-functions/iswlower_l.texi: Likewise.
76817         * doc/posix-functions/iswprint_l.texi: Likewise.
76818         * doc/posix-functions/iswpunct_l.texi: Likewise.
76819         * doc/posix-functions/iswspace_l.texi: Likewise.
76820         * doc/posix-functions/iswupper_l.texi: Likewise.
76821         * doc/posix-functions/iswxdigit_l.texi: Likewise.
76822         * doc/posix-functions/isxdigit_l.texi: Likewise.
76823         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
76824         * doc/posix-functions/strcasecmp_l.texi: Likewise.
76825         * doc/posix-functions/strcoll_l.texi: Likewise.
76826         * doc/posix-functions/strfmon_l.texi: Likewise.
76827         * doc/posix-functions/strftime_l.texi: Likewise.
76828         * doc/posix-functions/strncasecmp_l.texi: Likewise.
76829         * doc/posix-functions/strxfrm_l.texi: Likewise.
76830         * doc/posix-functions/tolower_l.texi: Likewise.
76831         * doc/posix-functions/toupper_l.texi: Likewise.
76832         * doc/posix-functions/towctrans_l.texi: Likewise.
76833         * doc/posix-functions/towlower_l.texi: Likewise.
76834         * doc/posix-functions/towupper_l.texi: Likewise.
76835         * doc/posix-functions/wcscoll_l.texi: Likewise.
76836         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
76837         * doc/posix-functions/wctrans_l.texi: Likewise.
76838         * doc/posix-functions/wctype_l.texi: Likewise.
76839         * doc/glibc-functions/strptime_l.texi: Likewise.
76840         * doc/glibc-functions/strtod_l.texi: Likewise.
76841         * doc/glibc-functions/strtof_l.texi: Likewise.
76842         * doc/glibc-functions/strtol_l.texi: Likewise.
76843         * doc/glibc-functions/strtold_l.texi: Likewise.
76844         * doc/glibc-functions/strtoll_l.texi: Likewise.
76845         * doc/glibc-functions/strtoul_l.texi: Likewise.
76846         * doc/glibc-functions/strtoull_l.texi: Likewise.
76847         * doc/glibc-functions/wcsftime_l.texi: Likewise.
76848         * doc/glibc-functions/wcstod_l.texi: Likewise.
76849         * doc/glibc-functions/wcstof_l.texi: Likewise.
76850         * doc/glibc-functions/wcstol_l.texi: Likewise.
76851         * doc/glibc-functions/wcstold_l.texi: Likewise.
76852         * doc/glibc-functions/wcstoll_l.texi: Likewise.
76853         * doc/glibc-functions/wcstoul_l.texi: Likewise.
76854         * doc/glibc-functions/wcstoull_l.texi: Likewise.
76856 2009-11-24  Bruno Haible  <bruno@clisp.org>
76858         duplocale: Fix logic bug.
76859         * lib/duplocale.c: Don't include <langinfo.h>.
76860         (_NL_LOCALE_NAME): Remove macro.
76861         (rpl_duplocale): Use setlocale instead of nl_langinfo.
76862         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
76864 2009-11-23  Jim Meyering  <meyering@redhat.com>
76866         test-update-copyright: don't hard-code /usr/bin/perl
76867         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
76868         perl to print the current year.  Gilles Espinasse reported that
76869         the replaced use of perl was hard-coded as /usr/bin/perl.
76871 2009-11-23  Bruno Haible  <bruno@clisp.org>
76873         duplocale: Add support for glibc 2.3.x.
76874         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
76876 2009-11-22  Bruno Haible  <bruno@clisp.org>
76878         vasnprintf: Tiny optimization.
76879         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
76880         MacOS X.
76882 2009-11-22  Bruno Haible  <bruno@clisp.org>
76884         Tests for module 'duplocale'.
76885         * modules/duplocale-tests: New file.
76886         * tests/test-duplocale.c: New file.
76888         New module 'duplocale'.
76889         * m4/duplocale.m4: New file.
76890         * lib/locale.in.h (duplocale): New declaration.
76891         * lib/duplocale.c: New file.
76892         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
76893         gl_LOCALE_H_DEFAULTS): New macros.
76894         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
76895         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
76896         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
76897         REPLACE_DUPLOCALE.
76898         * modules/duplocale: New file.
76899         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
76901 2009-11-22  Bruno Haible  <bruno@clisp.org>
76903         * modules/locale-tests (configure.ac): Test for newlocale function.
76904         * tests/test-locale.c: When the system has extended locale functions,
76905         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
76907         locale: Make locale_t available when possible.
76908         * lib/locale.in.h: Include <xlocale.h> when it exists.
76909         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
76910         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
76911         * modules/locale (Depends-on): Add extensions.
76912         (Makefile.am): Also substitute HAVE_XLOCALE_H.
76913         * doc/posix-headers/locale.texi: Document the problem with locale_t.
76915 2009-11-22  Bruno Haible  <bruno@clisp.org>
76917         Add comments.
76918         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
76919         invocation.
76920         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
76921         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
76922         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
76924 2009-11-22  Bruno Haible  <bruno@clisp.org>
76926         error: account for the possibility of freopen (stdout).
76927         * lib/error.c: Include <unistd.h>.
76928         (flush_stdout): New function, extracted from error and error_at_line.
76929         Determine stdout's fd dynamically.
76930         (error, error_at_line): Invoke flush_stdout.
76931         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
76932         * modules/error (Depends-on): Add unistd.
76934 2009-11-22  Bruno Haible  <bruno@clisp.org>
76936         diffseq: Add comment.
76937         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
76939 2009-11-22  Jim Meyering  <meyering@redhat.com>
76941         c-stack: avoid defining an unused static function
76942         * lib/c-stack.c (find_stack_direction): Do not define this function
76943         when it will not be used.
76945         diffseq: avoid spurious gcc warnings
76946         * lib/diffseq.h (IF_LINT2): Define.
76947         (compareseq): Use it to initialize two members of "part".
76948         This avoids two used-uninitialized warnings.
76950 2009-11-21  Jim Meyering  <meyering@redhat.com>
76952         c-stack: avoid "ignoring return value of `write'" warning
76953         * lib/c-stack.c: Include "ignore-value.h".
76954         (die): Explicitly ignore each write return value.
76955         * modules/c-stack (Depends-on): Add ignore-value.
76957 2009-11-21  Bruno Haible  <bruno@clisp.org>
76959         diffseq: reduce scope of variable 'best'.
76960         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
76961         variable, earlier used for two different purposes.
76963 2009-11-21  Jim Meyering  <meyering@redhat.com>
76965         diffseq: remove useless assignment to "best"
76966         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
76967         assignment.  At that point "best" is already guaranteed to be zero.
76969 2009-11-20  Eric Blake  <ebb9@byu.net>
76971         build: mention ftp redirector in release announcements
76972         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
76973         values that used to come from cfg.mk; mention FTP redirect URL.
76974         * build-aux/announce-gen: Mention the mirror list.
76975         Suggested by Karl Berry.
76977         nanosleep: improve port to mingw
76978         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
76979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
76980         LIB_NANOSLEEP, but only when needed.
76981         * modules/select (Link): Document LIBSOCKET.
76982         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
76983         enough.
76985         nanosleep: work around cygwin bug
76986         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
76987         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
76988         bug.
76989         (getnow): Delete, not needed.
76990         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
76991         LIB_CLOCK_GETTIME.
76992         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
76993         clock-time, gettime.
76994         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
76995         bug.
76996         * modules/nanosleep-tests: New test.
76997         * tests/test-nanosleep.c: New file.
76999         sleep: work around cygwin bug
77000         * lib/sleep.c (rpl_sleep): Work around the bug.
77001         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
77002         (gl_PREREQ_SLEEP): Delete unused macro.
77003         * modules/sleep (Depends-on): Add verify.
77004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77005         * modules/unistd (Makefile.am): Substitute witness.
77006         * lib/unistd.in.h (sleep): Update prototype.
77007         * doc/posix-functions/sleep.texi (sleep): Document the bug.
77008         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
77009         * modules/sleep-tests (Depends-on): Check for alarm.
77011 2009-11-20  Jim Meyering  <meyering@redhat.com>
77013         maint.mk: improve sc_prohibit_magic_number_exit
77014         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
77015         so it does not match uses like System.exit(1).
77016         Add comments showing how to correct all offenders.
77018 2009-11-19  Eric Blake  <ebb9@byu.net>
77020         xalloc-die-tests: add missing library
77021         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
77023         test-xvasprintf: silence compiler warnings
77024         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
77025         empty string from gcc.
77027 2009-11-19  Jim Meyering  <meyering@redhat.com>
77029         xfreopen: new module, from coreutils
77030         * modules/xfreopen: New module.
77031         * lib/xfreopen.c: New file.
77032         * lib/xfreopen.h: New file.
77033         * MODULES.html.sh (File stream based Input/Output"): Add it.
77035 2009-11-19  Eric Blake  <ebb9@byu.net>
77037         manywarnings: depend on warnings
77038         * modules/manywarnings (Depends-on): Add warnings.
77040         build: avoid compiler warnings
77041         * lib/select.c (rpl_select): Delete unused variable.
77042         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
77044 2009-11-18  Eric Blake  <ebb9@byu.net>
77046         tests: avoid false negative with --with-packager
77047         * tests/test-version-etc.sh: Discard packager information.
77048         * tests/test-argp-version-etc-1.sh: Likewise.
77049         Reported by Mike Frysinger.
77051         utimens: fix regression on Solaris
77052         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
77053         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
77054         can only change fd timestamps via futimesat.  Instead, use an
77055         additional witness macro to avoid BSD bug.
77056         Reported by Jim Meyering.
77058 2009-11-17  Eric Blake  <ebb9@byu.net>
77060         usleep: use it to simplify tests
77061         * modules/stat-time-tests (Depends-on): Add usleep.
77062         (configure.ac): Drop usleep check.
77063         * modules/chown-tests (Depends-on, configure.ac): Likewise.
77064         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
77065         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
77066         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
77067         * modules/openat-tests (Depends-on, configure.ac): Likewise.
77068         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
77069         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
77070         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
77071         Likewise.
77072         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
77073         * tests/test-lchown.h (nap): Likewise.
77074         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
77075         * tests/test-stat-time.c (nap): Likewise.
77076         * tests/test-utimens-common.h (nap): Update comments.
77078         usleep: new module
77079         * modules/usleep: New file.
77080         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
77081         * lib/usleep.c (usleep): Likewise.
77082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
77083         * modules/unistd (Makefile.am): Substitute witnesses.
77084         * lib/unistd.in.h (usleep): Add declaration.
77085         * doc/pastposix-functions/usleep.texi (usleep): Document this.
77086         * MODULES.html.sh (Date and time): Likewise.
77087         * modules/usleep-tests (Depends-on): New test.
77088         * tests/test-usleep.c: New file.
77090         chown: work around OpenBSD bug
77091         * lib/chown.c (rpl_chown): Work around the bug.
77092         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
77093         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
77094         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
77095         * modules/chown (Depends-on): Add stdbool.
77096         * modules/lchown (Depends-on): Likewise.
77097         * doc/posix-functions/chown.texi (chown): Document the bug.
77098         * doc/posix-functions/lchown.texi (lchown): Likewise.
77099         * tests/test-lchown.h (test_chown): Relax test.
77101         mkstemp: avoid conflict with C++ keyword template
77102         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
77103         * lib/mkostemp.c (mkostemp): Likewise.
77104         * lib/mkostemps.c (mkostemps): Likewise.
77105         * lib/mkstemp.c (mkstemp): Likewise.
77106         * lib/mkstemps.c (mkstemps): Likewise.
77108         xalloc-die-tests: optimize
77109         * tests/test-xalloc-die.sh: Reduce number of processes.
77111 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77113         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
77114         patch from ludo@gnu.org (Ludovic Courtès).
77116 2009-11-17  Jim Meyering  <meyering@redhat.com>
77118         version-etc: use proper license string
77119         * modules/version-etc (License): Use LGPL, not LGPLv3+.
77120         * modules/version-etc-fsf: Likewise.
77122 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77124         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
77125         printed to stdout.  Deal with EOL differences.
77127 2009-11-17  Eric Blake  <ebb9@byu.net>
77129         unsetenv: work around Solaris bug
77130         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
77131         * lib/unsetenv.c (rpl_unsetenv): Work around it.
77132         Reported by Jim Meyering.
77134         vasnprintf: avoid compiler warnings
77135         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
77136         variables.
77137         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
77139 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77141         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
77142         settings since xalloc-die is no longer the self test,
77143         xalloc-die.sh is.
77145 2009-11-17  Jim Meyering  <meyering@redhat.com>
77147         test-xalloc-die.sh: make the code agree with the commit log
77148         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
77149         at the end, just in case you happen to have a test-xalloc-die
77150         program in some other PATH directory.
77152         test-xalloc-die.sh: fix a portability bug
77153         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
77154         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
77155         Otherwise, argv[0] (as often seen in diagnostics) would be too
77156         system-dependent, sometimes with, and sometimes without the leading "./".
77158         version-etc-fsf: relax license to LGPLv3+
77159         * modules/version-etc-fsf (License): Relax license.
77161 2009-11-16  Eric Blake  <ebb9@byu.net>
77163         xalloc-die-tests: avoid printing null pointer
77164         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
77165         shell script.
77166         * tests/test-xalloc-die.c (program_name): Declare.
77167         * tests/test-xalloc-die.sh (tmpfiles): New file.
77169         setenv, unsetenv: work around various bugs
77170         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
77171         (setenv) [HAVE_SETENV]: Work around bugs.
77172         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
77173         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
77174         for bugs.
77175         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
77176         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
77177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
77178         * modules/stdlib (Makefile.am): Update substitutions.
77179         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
77180         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
77181         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77182         * modules/setenv-tests: New test.
77183         * modules/unsetenv-tests: Likewise.
77184         * tests/test-setenv.c: New file.
77185         * tests/test-unsetenv.c: Likewise.
77187 2009-11-16  Jim Meyering  <meyering@redhat.com>
77189         version-etc: relax license to LGPLv3+
77190         * modules/version-etc (License): Relax license.
77192         better AC_REQUIRE expanded-before-required-warning avoidance
77193         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
77194         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
77195         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
77196         which is no longer needed.
77198 2009-11-16  Eric Blake  <ebb9@byu.net>
77200         test-freading: clean up temporary file
77201         * tests/test-freading.c (main): Remove file on success, and use
77202         ASSERT more liberally.
77203         Reported by Jim Meyering.
77205 2009-11-16  Jim Meyering  <meyering@redhat.com>
77207         avoid new AC_REQUIRE expanded-before-required warnings
77208         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
77209         merely using it.
77210         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
77211         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
77213 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77215         * tests/test-xalloc-die.c: New file.
77216         * modules/xalloc-die-tests: New file.
77217         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
77218         XFAIL_TESTS so it can be appended by modules.
77220 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77222         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
77223         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
77225 2009-11-14  Eric Blake  <ebb9@byu.net>
77227         fnmatch: avoid compiler warning
77228         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
77229         to silence compiler warning about mismatch signedness in ?:.
77230         Reported by Robert Millan.
77232         intprops: add double-inclusion guard
77233         * lib/intprops.h: Allow idempotent includes.
77234         Suggested by Bruce Korb.
77236         openat: detect Solaris fchownat bug
77237         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
77238         penalizing glibc chownat when only lchownat is broken.
77239         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
77240         trailing slash bugs.
77241         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
77242         * modules/openat-tests (Files): Include more files.
77243         (Depends-on): Add mgetgroups, sleep, stat-time.
77244         (configure.ac): Add additional checks.
77245         (Makefile.am): Build new test.
77246         * tests/test-fchownat.c: New file.
77248         lchown: detect Solaris and FreeBSD bug
77249         * lib/lchown.c (rpl_lchown): Work around bug.
77250         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
77251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77252         * modules/unistd (Makefile.am): Populate it.
77253         * lib/unistd.in.h (lchown): Update declaration.
77254         * doc/posix-functions/lchown.texi (lchown): Document the bug.
77255         * modules/lchown-tests: New file.
77256         * tests/test-lchown.h (test_lchown): Likewise.
77257         * tests/test-lchown.c (main): Likewise.
77259         chown: detect Solaris and FreeBSD bug
77260         * lib/chown.c (rpl_chown): Work around bug.
77261         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
77262         (gl_PREREQ_CHOWN): Delete.
77263         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77264         * modules/unistd (Makefile.am): Populate it.
77265         * lib/unistd.in.h (chown): Update declaration.
77266         * lib/lchown.c (chown): Update client.
77267         * modules/lchown (Depends-on): Add lstat.
77268         * doc/posix-functions/chown.texi (chown): Document the bug.
77269         * doc/posix-functions/getgroups.texi (getgroups): Document
77270         getgroups pitfall.
77271         * modules/chown-tests: New file.
77272         * tests/test-chown.h (test_chown): Likewise.
77273         * tests/test-chown.c (main): Likewise.
77275 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
77277         gnulib-tool: correctly detect absence of m4 directories
77278         * gnulib-tool: Avoid extra newline on data passed to wc -l.
77280 2009-11-14  Jim Meyering  <meyering@redhat.com>
77282         maint.mk: Prohibit inclusion of "xalloc.h" without use.
77283         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77285 2009-11-14  John W. Eaton  <jwe@gnu.org>
77287         strftime.h: wrap function declaration in extern "C" block
77288         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
77290 2009-11-13  Eric Blake  <ebb9@byu.net>
77292         getgroups: avoid compiler warning
77293         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
77295         getgroups: work around FreeBSD bug
77296         * lib/getgroups.c (rpl_getgroups): Work around the bug.
77297         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
77298         * doc/posix-functions/getgroups.texi (getgroups): Document it.
77299         * tests/test-getgroups.c (main): Fix buffer overrun.
77301         getgroups: avoid compilation failure
77302         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
77303         * modules/getgroups (Depends-on): Add stdint.
77305 2009-11-13  Jim Meyering  <meyering@redhat.com>
77307         test-getgroups: avoid compilation failure
77308         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
77310 2009-11-13  Eric Blake  <ebb9@byu.net>
77312         mgetgroups: new module, taken from coreutils
77313         * modules/mgetgroups: New file.
77314         * lib/mgetgroups.h: Likewise.
77315         * lib/mgetgroups.c (mgetgroups): Likewise.
77316         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
77317         * MODULES.html.sh (Users and groups): Mention it.
77319         getgroups: don't expose GETGROUPS_T to user
77320         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
77321         an element at a time if GETGROUPS_T is wrong size.
77322         * lib/getugroups.h (getugroups): Change signature.
77323         * lib/unistd.in.h (getgroups): Likewise.
77324         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
77325         signature needs fixing.
77326         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
77327         AC_TYPE_GETGROUPS.
77328         * modules/group-member (Depends-on): Add getgroups.
77329         * lib/group-member.c (group_info, get_group_info): Use gid_t.
77330         (group_member): Rely on getgroups replacement.
77331         * lib/getugroups.c (getugroups): Use gid_t.
77332         * tests/test-getgroups.c (main): Likewise.
77333         * NEWS: Mention the signature change.
77334         * doc/posix-functions/getgroups.texi (getgroups): Mention the
77335         problem with signature.
77336         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
77337         GETGROUPS_T is still useful for setgroups.
77339         getgroups, getugroups: provide stubs for mingw
77340         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
77341         * lib/getugroups.c (getugroups): Likewise.
77342         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
77343         function.  Modernize replacement scheme.
77344         (gl_PREREQ_GETGROUPS): Delete.
77345         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
77346         * modules/getgroups (configure.ac): Declare witness.
77347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77348         * modules/unistd (Depends-on): Substitute witness.
77349         * lib/unistd.in.h (getgroups): Declare replacement.
77351         getgroups: avoid calling exit
77352         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
77353         drop xalloc.
77354         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
77355         dependencies.
77356         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
77357         exiting, in the rare case of malloc failure.
77359         getgroups: fix logic error
77360         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
77361         has more than 20 groups.
77362         * modules/getgroups-tests: New test.
77363         * tests/test-getgroups.c: New file.
77365 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77367         * tests/test-base64.c: Improve.
77369 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77371         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
77372         Blake <ebb9@byu.net>.
77374 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77376         * tests/test-xvasprintf.c: Add %s%s related checks.
77378 2009-11-12  Eric Blake  <ebb9@byu.net>
77380         version-etc: match standards.texi style
77381         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
77382         and use <> only for URLs.
77384 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
77386         fts: do not fail on a submount during traversal
77387         * lib/fts.c (fts_build): Read the stat info again after opening
77388         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
77389         Original report at http://bugzilla.redhat.com/501848.
77391 2009-11-12  Jim Meyering  <meyering@redhat.com>
77393         bootstrap: sync from coreutils
77394         * build-aux/bootstrap (bootstrap_epilogue): New function.
77395         Use git_modules_config in one more place.  This make bootstrap's
77396         --gnulib-srcdir option more useful for testing.
77398         bootstrap: generalize autoheader check
77399         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
77400         AC_CONFIG_HEADERS.
77402 2009-11-11  Eric Blake  <ebb9@byu.net>
77404         mkfifoat: use new modules for Solaris and BSD bugs
77405         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
77406         * lib/mkfifoat.c (mknodat): Split...
77407         * lib/mknodat.c (mknodat): ...into new file.
77408         * modules/mkfifoat (Files): Ship new file.
77409         (Depends-on): Add mkfifo, mknod.
77410         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
77411         (Depends-on): Add symlink.
77412         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
77413         redundant with test_mkfifo.h.
77414         (do_mkfifoat, do_mknodat): New helpers.
77416         mknod: new module
77417         * modules/mknod: New file.
77418         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
77419         * lib/mknod.c (mknod): Likewise.
77420         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77421         defaults.
77422         * modules/sys_stat (Makefile.am): Substitute them.
77423         * lib/sys_stat.in.h (mknod): Declare replacement.
77424         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77425         Document it.
77426         * doc/posix-functions/mknod.texi (mknod): Likewise.
77427         * modules/mknod-tests: New test.
77428         * tests/test-mknod.c: Likewise.
77430         mkfifo: new module
77431         * modules/mkfifo: New file.
77432         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
77433         * lib/mkfifo.c (mkfifo): Likewise.
77434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77435         defaults.
77436         * modules/sys_stat (Makefile.am): Substitute them.
77437         * lib/sys_stat.in.h (mkfifo): Declare replacement.
77438         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77439         Document it.
77440         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
77441         * modules/mkfifo-tests: New test.
77442         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
77443         from test-mkfifoat.c.
77444         * tests/test-mkfifo.c: New file.
77446         readlink: detect FreeBSD bug
77447         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
77448         slash on symlink.
77449         * doc/posix-functions/readlink.texi (readlink): Document the bug.
77450         * tests/test-readlink.h (test_readlink): Enhance test.
77452         symlink: detect FreeBSD bug
77453         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
77454         slash on symlink.
77455         * doc/posix-functions/symlink.texi (symlink): Document the bug.
77456         * tests/test-symlink.h (test_symlink): Enhance test.
77458 2009-11-10  Eric Blake  <ebb9@byu.net>
77460         link: detect FreeBSD bug
77461         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
77462         symlink.
77463         * doc/posix-functions/link.texi (link): Document the bug.
77464         * tests/test-link.h (test_link): Enhance test.
77465         * tests/test-linkat.c (main): Update caller.
77467         unlink, remove: detect FreeBSD bug
77468         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
77469         slash on symlink.
77470         * doc/posix-functions/unlink.texi (unlink): Document the bug.
77471         * doc/posix-functions/remove.texi (remove): Likewise.
77472         * tests/test-unlink.h (test_unlink): Enhance test.
77473         * tests/test-remove.c (main): Likewise.
77475 2009-11-09  Eric Blake  <ebb9@byu.net>
77477         rename: detect FreeBSD bug
77478         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
77479         slash on symlink.
77480         * modules/renameat-tests (Depends-on): Add filenamecat.
77481         * tests/test-rename.h (test_rename): Allow one more errno.
77482         * tests/test-renameat.c (main): Likewise.
77483         * doc/posix-functions/rename.texi (rename): Document the bug.
77485         open: detect FreeBSD bug
77486         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
77487         symlink.
77488         * doc/posix-functions/open.texi (open): Document the bug.
77489         * doc/posix-functions/utimes.texi (utimes): Likewise.
77490         * tests/test-open.h (test_open): Add parameters, and test symlink
77491         handling.
77492         * tests/test-open.c (main): Adjust caller.
77493         * tests/test-fcntl-safer.c (main): Likewise.
77494         * modules/open-tests (Depends-on): Add stdbool, symlink.
77495         * modules/fcntl-safer-tests (Depends-on): Likewise.
77496         * tests/test-openat.c (main): Add test-open tests.
77498         stat: detect FreeBSD bug
77499         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
77500         symlink.
77501         * doc/posix-functions/stat.texi (stat): Document the bug.
77502         * tests/test-stat.h (test_stat_func): Add argument.
77503         * tests/test-stat.c (main): Adjust caller.
77504         * tests/test-fstatat.c (main): Likewise.
77505         * modules/stat-tests (Depends-on): Add stdbool, symlink.
77506         Reported by Jim Meyering.
77508 2009-11-09  James Youngman  <jay@gnu.org>
77510         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
77511         * lib/strftime.c: Correct placement of #include "ignore-value.h".
77513 2009-11-08  Jim Meyering  <meyering@redhat.com>
77515         utimens: remove invalid futimesat call
77516         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
77517         It used the file descriptor of the target file as the DIR_FD
77518         parameter and NULL as the file name.  That caused failure with
77519         errno == EFAULT on FreeBSD-8.0-rc2
77521 2009-11-07  Eric Blake  <ebb9@byu.net>
77523         fflush, freadseek: use fseeko, not fseek
77524         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
77525         (clear_ungetc_buffer): Avoid potential problems on large files.
77526         * lib/freadseek.c (freadseek): Likewise.
77527         * modules/freadseek (Depends-on): Add fseeko.
77528         * modules/fseek (configure.ac): Set a witness.
77529         * tests/test-fflush.c (main): Use fseeko.
77530         * tests/test-fpurge.c (fseek): Disable link warning.
77531         * tests/test-freadable.c (fseek): Likewise.
77532         * tests/test-freading.c (fseek): Likewise.
77533         * tests/test-fseeko.c (fseek): Likewise.
77534         * tests/test-ftell.c (fseek): Likewise.
77535         * tests/test-ftello.c (fseek): Likewise.
77536         * tests/test-fwritable.c (fseek): Likewise.
77537         * tests/test-fwriting.c (fseek): Likewise.
77539 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77541         * modules/memchr (Depends-on): Drop getpagesize dependency.
77543 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77545         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
77546         Reported by Ludovic Courtès.
77547         * build-aux/pmccabe2html: Improve example usage.
77548         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
77550 2009-11-06  Jim Meyering  <meyering@redhat.com>
77552         do-release-commit-and-tag: New module.
77553         Automate the release-commit and tag process.
77554         * build-aux/do-release-commit-and-tag: New script, from coreutils.
77555         * modules/do-release-commit-and-tag: New file.
77556         * MODULES.html.sh (Support for maintaining and releasing): Add it.
77558 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77560         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
77561         because test-select.c uses inet_pton.
77563 2009-11-06  Simon Josefsson  <simon@josefsson.org>
77565         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
77566         GETADDRINFO_LIB.  Bump serial number.
77567         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
77568         Suggested by Eric Blake <ebb9@byu.net>.
77570 2009-11-05  Eric Blake  <ebb9@byu.net>
77572         strtod: detect darwin bug
77573         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
77574         Reported by Leo Davis.
77576         freopen-safer: new module
77577         * modules/freopen-safer: New module.
77578         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
77579         * lib/freopen-safer.c (freopen_safer): New file.
77580         * lib/stdio-safer.h (freopen_safer): New declaration.
77581         * lib/stdio--.h (freopen): New override.
77582         * MODULES.html.sh (File stream based Input/Output): Mention it.
77583         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
77584         freopen-safer module.
77585         * doc/posix-functions/stderr.texi (stderr): Likewise.
77586         * doc/posix-functions/stdin.texi (stdin): Likewise.
77587         * doc/posix-functions/stdout.texi (stdout): Likewise.
77588         * modules/freopen-safer-tests: New test.
77589         * tests/test-reopen-safer.c: New file.
77591 2009-11-05  Jim Meyering  <meyering@redhat.com>
77593         maint.mk: Prohibit inclusion of "close-stream.h" without use.
77594         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77596 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77598         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
77600 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77602         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
77604 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77606         Fix link error.
77607         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
77608         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77610 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77612         * tests/test-func.c: Also test value of __func__.
77614 2009-11-05  Simon Josefsson  <simon@josefsson.org>
77616         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
77617         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
77619 2009-11-05  Bruno Haible  <bruno@clisp.org>
77621         Fix link error.
77622         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
77623         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77624         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
77626 2009-11-05  Bruno Haible  <bruno@clisp.org>
77628         Tests for module 'inet_pton'.
77629         * modules/inet_pton-tests: New file.
77630         * tests/test-inet_pton.c: New file.
77632 2009-11-05  Bruno Haible  <bruno@clisp.org>
77634         Tests for module 'inet_ntop'.
77635         * modules/inet_ntop-tests: New file.
77636         * tests/test-inet_ntop.c: New file.
77638 2009-11-04  Eric Blake  <ebb9@byu.net>
77640         stdlib-safer: wrap all mkstemp variants
77641         * modules/mkostemp (configure.ac): Set witness.
77642         * modules/mkostemps (configure.ac): Likewise.
77643         * modules/mkstemps (configure.ac): Likewise.
77644         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
77645         (mkstemps_safer): Wrap more functions.
77646         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
77647         wrapping.
77648         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
77649         (mkstemps_safer): Implement the wrappers.
77651         mkstemps, mkostemps: new modules
77652         * modules/mkostemps: New module.
77653         * modules/mkstemps: Likewise.
77654         * lib/mkostemps.c (mkostemps): New file.
77655         * lib/mkstemps.c (mkstemps): Likewise.
77656         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
77657         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
77658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
77659         * modules/stdlib (Makefile.am): Substitute them.
77660         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
77661         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
77662         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
77663         * doc/gnulib.texi (Glibc stdlib.h): Include them.
77664         * MODULES.html.sh (File system functions): Mention them.
77666         tempname: resync from glibc
77667         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
77668         same values for __GT_FILE as glibc.  Abort even when assertions
77669         are disabled.
77670         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
77671         match its value otherwise.  Allow idempotent inclusion.
77672         * lib/mkdtemp.c (mkdtemp): Adjust caller.
77673         * lib/mkostemp.c (mkostemp): Likewise.
77674         * lib/mkstemp.c (mkstemp): Likewise.
77675         * lib/tmpfile.c (tmpfile): Likewise.
77676         * NEWS: Document this.
77678         utimens: fix use of futimens on older Linux
77679         * lib/utimens.c (fdutimens): Use updated, rather than original,
77680         timespec to avoid bug in older Linux kernel.
77681         Reported by Simon Josefsson.
77683 2009-11-04  Bruno Haible  <bruno@clisp.org>
77685         Make num_processors more flexible and consistent.
77686         * lib/nproc.h (enum nproc_query): New type.
77687         (num_processors): Add a 'query' argument.
77688         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
77689         (num_processors): Add a 'query' argument. Test the value of the
77690         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
77691         mingw, count the number of CPUs available for the current process.
77692         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
77693         Check for sched_getaffinity and sched_getaffinity_np.
77694         * modules/nproc (Depends-on): Add c-ctype, extensions.
77695         * NEWS: Mention the change.
77697 2009-11-03  Bruno Haible  <bruno@clisp.org>
77699         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
77701 2009-11-03  Jim Meyering  <meyering@redhat.com>
77703         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
77704         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
77705         if it is defined.
77707 2009-11-02  Eric Blake  <ebb9@byu.net>
77709         mktime, timegm: share common declaration
77710         * lib/mktime-internal.h: New file.
77711         * lib/mktime.c: Use it rather than open-coding a declaration.
77712         * lib/timegm.c: Likewise.
77713         * modules/mktime (Files): Ship it.
77714         * modules/timegm (Files): Likewise.
77715         Suggested by Bruno Haible.
77717         test-update-copyright: update test to match script changes
77718         * tests/test-update-copyright.sh: Avoid hard-coding perl
77719         location.  Don't update *.bak created by earlier runs.
77721 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
77722             Simon Josefsson  <simon@josefsson.org>
77723             Bruno Haible  <bruno@clisp.org>
77725         Fix link error on Solaris 8.
77726         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
77727         also in libnsl. Define also INET_PTON_LIB.
77728         * modules/inet_pton (Link): New section.
77730 2009-11-02  Simon Josefsson  <simon@josefsson.org>
77731             Bruno Haible  <bruno@clisp.org>
77733         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
77734         * modules/inet_ntop (Link): New section.
77735         Reported by Boyan Kasarov <bkasarov@gmail.com>.
77737 2009-11-02  Eric Blake  <ebb9@byu.net>
77739         maint: avoid compiler warnings in m4 macros
77740         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
77741         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
77743 2009-11-02  Simon Josefsson  <simon@josefsson.org>
77745         * m4/pmccabe2html.m4: Remove file.
77746         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
77747         function.  Change maintainer.
77748         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
77749         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
77750         Courtès).
77752 2009-10-31  Eric Blake  <ebb9@byu.net>
77754         fseeko: fix m4 regression
77755         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
77756         regression from 2009-10-27.
77757         Reported by Ralf Wildenhues.
77759 2009-10-31  Jim Meyering  <meyering@redhat.com>
77761         inttostr: aesthetics and improved (compile-time) safety
77762         Define inttype_is_signed rather than inttype_is_unsigned,
77763         since the sole use is via "#if inttype_is_signed".
77764         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
77765         inttype_is_unsigned.
77766         * lib/offtostr.c (inttype_is_signed): Likewise.
77767         * lib/uinttostr.c (inttype_is_signed): Likewise.
77768         * lib/umaxtostr.c (inttype_is_signed): Likewise.
77769         * lib/inttostr.c (inttostr): Use verify to cross-check the
77770         inttype_is_signed value and the signedness of the actual type.
77771         * modules/inttostr (Depends-on): Add verify.
77773 2009-10-30  Eric Blake  <ebb9@byu.net>
77775         build: avoid compiler warnings
77776         * lib/fchmodat.c (lchmod): Mark unused variables.
77777         * lib/getopt.c (_getopt_initialize): Likewise.
77778         * lib/mktime.c (__mktime_internal): Provide prototype.
77779         * lib/inttostr.c (inttostr): Avoid compiler warning even with
77780         older gcc that do not understand #pragma GCC diagnostic.
77781         * lib/uinttostr.c (inttype_is_unsigned): Define.
77782         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
77784 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
77786         stat: fix compilation on AIX
77787         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
77788         only see struct stat64.
77790 2009-10-30  Eric Blake  <ebb9@byu.net>
77792         exclude: make more robust
77793         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
77794         rather than masking a coding bug.
77795         Suggested by Bruno Haible.
77797 2009-10-30  Jim Meyering  <meyering@redhat.com>
77799         perl scripts: remove #!/usr/bin/perl in favor of more portable...
77800         Rather than putting #!/usr/bin/perl on the first line,
77801         start with a variant of what's recommended by "man perlrun" that
77802         invokes the first "perl" program from your shell's search path.
77803         * build-aux/gitlog-to-changelog: Replace #!... as above.
77804         Add a "Local Variables" perl mode setting.
77805         Prompted by a patch from Ludovic Courtès.
77806         Improved by Eric Blake.
77807         * build-aux/useless-if-before-free: Likewise.
77808         * build-aux/announce-gen: Likewise.
77809         * build-aux/update-copyright: Likewise.
77811 2009-10-29  Eric Blake  <ebb9@byu.net>
77813         filenamecat-lgpl: adjust clients
77814         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
77815         filenamecat.
77816         * modules/renameat (Depends-on): Likewise.
77818         filenamecat: split into filenamecat-lgpl
77819         * modules/filenamecat-lgpl: New module.
77820         * modules/filenamecat (Files): Move library-safe files into
77821         filenamecat-lgpl.
77822         (Depends-on): Add filenamecat-lgpl.
77823         (configure.ac): Declare witness.
77824         * lib/filenamecat.h (file_name_concat): Only declare when using
77825         GPL module.
77826         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
77827         Move...
77828         * lib/filenamecat-lgpl.c: ...into new file.
77829         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
77830         (gl_FILE_NAME_CONCAT): Use it.
77831         * MODULES.html.sh (File system functions): Mention new module.
77833         argp: avoid memory leak
77834         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
77835         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
77836         base_name, since the latter malloc()s and can call exit().
77837         Leak introduced 2006-07-03.
77839         dirname-lgpl: adjust clients that don't need full dirname
77840         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
77841         * modules/filenamecat (Depends-on): Likewise.
77842         * modules/linkat (Depends-on): Likewise.
77843         * modules/mkancesdirs (Depends-on): Likewise.
77844         * modules/mkdir (Depends-on): Likewise.
77845         * modules/openat (Depends-on): Likewise.
77846         * modules/savewd (Depends-on): Likewise.
77847         * modules/rename (Depends-on): Likewise.
77848         (License): Relax license.
77849         * modules/mkdir-tests (Depends-on): Drop progname.
77850         (Makefile.am): Delete unneeded LDADD.
77851         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
77853         dirname: split into dirname-lgpl
77854         * modules/dirname-lgpl: New module.
77855         * modules/dirname (Files): Move library-safe files into
77856         dirname-lgpl.
77857         (Depends-on): Add dirname-lgpl.
77858         (configure.ac): Declare witness.
77859         * modules/double-slash-root (License): Relax license.
77860         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
77861         module.
77862         * lib/dirname.c (dir_len, mdir_name): Move...
77863         * lib/dirname-lgpl.c: ...into new file.
77864         * lib/basename.c (last_component, base_len): Move...
77865         * lib/basename-lgpl.c: ...into new file.
77866         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
77867         (gl_DIRNAME): Use it.
77868         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
77869         Mention new module.
77870         * modules/dirname-tests (Depends-on): Add progname.
77871         * tests/test-dirname.c (program_name): Delete.
77873         mkdir: make safe for libraries
77874         * modules/mkdir (Depends-on): Drop xalloc.
77875         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
77876         exit.
77878         tests: avoid some compiler warnings
77879         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
77880         literals.
77881         * tests/test-memchr.c (main): Avoid type mismatch.
77882         * tests/test-arpa_inet.c (main): Avoid unused parameters.
77883         * tests/test-base64.c (main): Likewise.
77884         * tests/test-getdelim.c (main): Likewise.
77885         * tests/test-gethostname.c (main): Likewise.
77886         * tests/test-getline.c (main): Likewise.
77887         * tests/test-netinet_in.c (main): Likewise.
77888         * tests/test-select.c (open_server_socket, main): Likewise.
77889         * tests/test-select-stdin.c (main): Likewise.
77890         * tests/test-sockets.c (main): Likewise.
77891         * tests/test-strsignal.c (main): Likewise.
77892         * tests/test-sys_select.c (main): Likewise.
77893         * tests/test-sys_socket.c (main): Likewise.
77894         * tests/test-u64.c (main): Likewise.
77895         * tests/test-xfprintf-posix.c (main): Likewise.
77896         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
77898         sockets: avoid compiler warning
77899         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
77901         maint: detect usage(1) and other suspicious exits
77902         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
77904 2009-10-29  Jim Meyering  <meyering@redhat.com>
77906         timespec: long-to-int truncation could make timespec_cmp malfunction
77907         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
77908         a multiple of 2^32 nanoseconds as no difference.
77910 2009-10-28  Jim Meyering  <meyering@redhat.com>
77912         fprintftime: wrap macro code argument in "do {...} while(0)"
77913         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
77914         cpy macro must be a statement that can be followed by a semicolon.
77915         Now that the else clause contains a comment and is hence longer
77916         than one line, I require curly braces.  That in turn requires
77917         that we wrap this code block in the standard do...while(0).
77919         fprintftime: remove stray semicolon from previous change
77920         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
77922         fprintftime: avoid a warning about ignored fwrite return value
77923         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
77924         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
77925         that is unsafe.
77926         * modules/fprintftime (Depends-on): Add ignore-value.
77928         exclude: avoid an unwarranted warning
77929         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
77931 2009-10-27  Eric Blake  <ebb9@byu.net>
77933         fseek: avoid compilation failure when fflush is replaced
77934         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
77935         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
77936         module is in use.
77937         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
77938         module is not in use; since REPLACE_FSEEK worked otherwise.
77939         (GNULIB_FTELLO): Likewise for ftell.
77940         Reported by Ian Beckwith and others.
77942 2009-10-27  Bruno Haible  <bruno@clisp.org>
77944         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
77945         Reported by Jim Meyering.
77947 2009-10-27  Jim Meyering  <jim@meyering.net>
77948             Bruno Haible  <bruno@clisp.org>
77950         Avoid warning despite dropping the return value of fwrite.
77951         * lib/unicodeio.c: Include ignore-value.h.
77952         (fwrite_success_callback): Explicitly ignore fwrite's return value.
77953         * modules/unicodeio (Depends-on): Add ignore-value.
77955 2009-10-26  Eric Blake  <ebb9@byu.net>
77957         areadlinkat: fix fallback path
77958         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
77959         pointer and zero.
77961 2009-10-22  Pádraig Brady  <P@draigBrady.com>
77963         Use a better IO block size for modern systems
77964         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
77965         * lib/md2.c: Likewise.
77966         * lib/md4.c: Likewise.
77967         * lib/md5.c: Likewise.
77968         * lib/sha1.c: Likewise.
77969         * lib/sha256.c: Likewise.
77970         * lib/sha512.c: Likewise.
77972 2009-10-22  Eric Blake  <ebb9@byu.net>
77974         tests: avoid several compiler warnings
77975         * tests/test-getcwd.c (main): Avoid buffer underflow.
77976         * tests/test-getdate.c (main): String literals are not safe with
77977         putenv, so use setenv.  Declare unused argument.
77978         * modules/getdate-tests (Depends-on): Add setenv.
77979         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
77980         problems with string literals in char *.
77981         * tests/test-hash.c (main): Avoid shadowing declaration.
77982         (insert_new): Treat string literals as char const *.
77983         * tests/test-getopt.h (test_getopt): Likewise.
77984         (getopt_loop): Alter types to minimize casting elsewhere.
77985         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
77986         (test_getopt_long_posix): Likewise.
77987         (do_getopt_long): Add wrapper to minimize casting.
77988         * tests/test-atexit.c (clear_temp_file): Use void.
77989         * tests/test-areadlink-with-size.c (main): Declare unused
77990         arguments.
77991         * tests/test-areadlink.c (main): Likewise.
77992         * tests/test-areadlinkat-with-size.c (main): Likewise.
77993         * tests/test-areadlinkat.c (main): Likewise.
77994         * tests/test-canonicalize-lgpl.c (main): Likewise.
77995         * tests/test-canonicalize.c (main): Likewise.
77996         * tests/test-dirent-safer.c (main): Likewise.
77997         * tests/test-dirname.c (main): Likewise.
77998         * tests/test-dup2.c (main): Likewise.
77999         * tests/test-fchdir.c (main): Likewise.
78000         * tests/test-fcntl-h.c (main): Likewise.
78001         * tests/test-fcntl-safer.c (main): Likewise.
78002         * tests/test-fdopendir.c (main): Likewise.
78003         * tests/test-fdutimensat.c (main): Likewise.
78004         * tests/test-fflush.c (main): Likewise.
78005         * tests/test-filenamecat.c (main): Likewise.
78006         * tests/test-filevercmp.c (main): Likewise.
78007         * tests/test-fopen-safer.c (main): Likewise.
78008         * tests/test-fopen.c (main): Likewise.
78009         * tests/test-fpending.c (main): Likewise.
78010         * tests/test-fpurge.c (main): Likewise.
78011         * tests/test-freading.c (main): Likewise.
78012         * tests/test-fstatat.c (main): Likewise.
78013         * tests/test-fsync.c (main): Likewise.
78014         * tests/test-futimens.c (main): Likewise.
78015         * tests/test-getndelim2.c (main): Likewise.
78016         * tests/test-gettimeofday.c (main): Likewise.
78017         * tests/test-getopt.c (main): Likewise.
78018         * tests/test-i-ring.c (main): Likewise.
78019         * tests/test-inttypes.c (main): Likewise.
78020         * tests/test-link.c (main): Likewise.
78021         * tests/test-lstat.c (main): Likewise.
78022         * tests/test-math.c (main): Likewise.
78023         * tests/test-md5.c (main): Likewise.
78024         * tests/test-memchr2.c (main): Likewise.
78025         * tests/test-memrchr.c (main): Likewise.
78026         * tests/test-mkdir.c (main): Likewise.
78027         * tests/test-mkdirat.c (main): Likewise.
78028         * tests/test-mkfifoat.c (main): Likewise.
78029         * tests/test-open.c (main): Likewise.
78030         * tests/test-openat-safer.c (main): Likewise.
78031         * tests/test-openat.c (main): Likewise.
78032         * tests/test-quotearg.c (main): Likewise.
78033         * tests/test-rawmemchr.c (main): Likewise.
78034         * tests/test-readlink.c (main): Likewise.
78035         * tests/test-remove.c (main): Likewise.
78036         * tests/test-rename.c (main): Likewise.
78037         * tests/test-renameat.c (main): Likewise.
78038         * tests/test-rmdir.c (main): Likewise.
78039         * tests/test-sha1.c (main): Likewise.
78040         * tests/test-signal.c (main): Likewise.
78041         * tests/test-sigaction.c (main): Likewise.
78042         * tests/test-stat.c (main): Likewise.
78043         * tests/test-stat-time.c (main): Likewise.
78044         * tests/test-stddef.c (main): Likewise.
78045         * tests/test-stdint.c (main): Likewise.
78046         * tests/test-stdio.c (main): Likewise.
78047         * tests/test-stdlib.c (main): Likewise.
78048         * tests/test-strchrnul.c (main): Likewise.
78049         * tests/test-strerror.c (main): Likewise.
78050         * tests/test-string.c (main): Likewise.
78051         * tests/test-strtod.c (main): Likewise.
78052         * tests/test-strverscmp.c (main): Likewise.
78053         * tests/test-symlink.c (main): Likewise.
78054         * tests/test-symlinkat.c (main): Likewise.
78055         * tests/test-sys_stat.c (main): Likewise.
78056         * tests/test-sys_time.c (main): Likewise.
78057         * tests/test-time.c (main): Likewise.
78058         * tests/test-unistd.c (main): Likewise.
78059         * tests/test-unlink.c (main): Likewise.
78060         * tests/test-unlinkat.c (main): Likewise.
78061         * tests/test-utimens.c (main): Likewise.
78062         * tests/test-utimensat.c (main): Likewise.
78063         * tests/test-version-etc.c (main): Likewise.
78064         * tests/test-wchar.c (main): Likewise.
78065         * tests/test-wctype.c (main): Likewise.
78066         * tests/test-xprintf-posix.c (main): Likewise.
78067         * tests/test-posixtm.c (main): Likewise.
78068         (STREQ): Delete unused macro.
78069         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
78070         shadowed variables.
78071         * tests/test-memchr.c (main): Likewise.
78073 2009-10-21  Eric Blake  <ebb9@byu.net>
78075         areadlinkat: avoid failure on older glibc
78076         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
78077         rather than mis-comparing 0 against FUNC_RESULT of char*.
78079 2009-10-21  Bruno Haible  <bruno@clisp.org>
78081         * modules/stpncpy (License): Relicense under LGPLv2+.
78082         Reported by David Lutterkort <lutter@redhat.com>.
78084 2009-10-20  Eric Blake  <ebb9@byu.net>
78086         utimensat: work around Solaris 9 bug
78087         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
78088         has trailing slash bugs.
78089         * tests/test-lutimens.h (test_lutimens): Enhance test.
78090         * tests/test-utimens.h (test_utimens): Likewise.
78091         * doc/posix-functions/utime.texi (utime): Enhance documentation.
78092         * doc/posix-functions/utimes.texi (utimes): Likewise.
78093         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78094         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
78095         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
78096         * doc/posix-functions/futimens.texi (futimens): Likewise.
78098         fdutimensat: new module
78099         * modules/fdutimensat: New file.
78100         * lib/fdutimensat.c (fdutimensat): Likewise.
78101         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
78102         * MODULES.html.sh (File system functions): Mention module.
78103         * modules/fdutimensat-tests: New test.
78104         * tests/test-fdutimensat.c: Likewise.
78106         doc: regenerate INSTALL
78107         * doc/INSTALL: Reflect recent autoconf update.
78108         * doc/INSTALL.ISO: Likewise.
78109         * doc/INSTALL.UTF-8: Likewise.
78111 2009-10-20  Pádraig Brady  <P@draigBrady.com>
78113         acl: warn if ACL support is not detected
78114         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
78116 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
78118         * lib/nproc.h: Add extern "C" block for C++.
78120 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
78121             Bruno Haible  <bruno@clisp.org>
78123         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
78124         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
78125         * doc/posix-functions/isalpha.texi: Likewise.
78126         * doc/posix-functions/isblank.texi: Likewise.
78127         * doc/posix-functions/iscntrl.texi: Likewise.
78128         * doc/posix-functions/isdigit.texi: Likewise.
78129         * doc/posix-functions/isgraph.texi: Likewise.
78130         * doc/posix-functions/islower.texi: Likewise.
78131         * doc/posix-functions/isprint.texi: Likewise.
78132         * doc/posix-functions/ispunct.texi: Likewise.
78133         * doc/posix-functions/isspace.texi: Likewise.
78134         * doc/posix-functions/isupper.texi: Likewise.
78135         * doc/posix-functions/isxdigit.texi: Likewise.
78137 2009-10-18  Bruno Haible  <bruno@clisp.org>
78139         Tests for module 'isblank'.
78140         * modules/isblank-tests: New file.
78141         * tests/test-isblank.c: New file.
78143         New module 'isblank'.
78144         * lib/isblank.c: New file.
78145         * m4/isblank.m4: New file.
78146         * modules/isblank: New file.
78147         * doc/posix-functions/isblank.texi: Mention the new module.
78149 2009-10-18  Bruno Haible  <bruno@clisp.org>
78151         New module 'ctype'.
78152         * lib/ctype.in.h: New file.
78153         * m4/ctype.m4: New file.
78154         * modules/ctype: New file.
78155         * doc/posix-headers/ctype.texi: Mention the new module.
78157 2009-10-18  Jim Meyering  <meyering@redhat.com>
78159         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
78160         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
78161         right after its initialization, rather than farther down.
78162         Keeping these in close proximity makes it easier to ensure
78163         that each such variable is initialized.  E.g.,
78165             LIB_CLOCK_GETTIME=
78166             AC_SUBST([LIB_CLOCK_GETTIME])
78168         This change also increments these serial numbers.
78169         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
78170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78171         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78173 2009-10-18  Bruno Haible  <bruno@clisp.org>
78175         Don't let environment variables perturb build.
78176         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
78177         (gl_PREREQ_GETHRXTIME): ... not here.
78179 2009-10-18  Bruno Haible  <bruno@clisp.org>
78181         Avoid symlink attack in localcharset module.
78182         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
78183         (O_NOFOLLOW): Define fallback.
78184         (get_charset_aliases): Don't open the file if it is a symbolic link.
78185         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
78186         gl_FCNTL_H.
78187         (gl_FCNTL_H): Require it.
78188         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
78189         * modules/localcharset (Files): Add m4/fcntl_h.m4.
78190         Reported by Fergal Glynn <fglynn@veracode.com>.
78192 2009-10-18  Bruno Haible  <bruno@clisp.org>
78194         Implement nproc for mingw.
78195         * lib/nproc.c: Include <windows.h>
78196         (num_processors): On native Windows platforms, try GetSystemInfo.
78198 2009-10-18  Bruno Haible  <bruno@clisp.org>
78200         Implement nproc for IRIX.
78201         * lib/nproc.c: Include <sys/sysmp.h>.
78202         (num_processors): On IRIX systems, try sysmp.
78203         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
78205 2009-10-18  Bruno Haible  <bruno@clisp.org>
78207         Implement nproc for HP-UX.
78208         * lib/nproc.c: Include <sys/pstat.h>
78209         (num_processors): On HP-UX systems, try pstat_getdynamic.
78210         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
78211         pstat_getdynamic.
78213 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
78214             Bruno Haible  <bruno@clisp.org>
78216         Implement nproc for NetBSD, OpenBSD.
78217         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
78218         (ARRAY_SIZE): New macro.
78219         (num_processors): On BSD systems, try sysctl of HW_NCPU.
78220         * m4/nproc.m4: New file.
78221         * modules/nproc (Files): Add m4/nproc.m4.
78222         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
78223         (Makefile.am): Instead, augment lib_SOURCES.
78225 2009-10-18  Bruno Haible  <bruno@clisp.org>
78227         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
78228         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
78229         sys/param.h.
78231 2009-10-16  Eric Blake  <ebb9@byu.net>
78233         utimensat: new module
78234         * modules/utimensat: New file.
78235         * lib/utimensat.c (utimensat): Likewise.
78236         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
78237         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
78238         so we can work around Linux bugs.
78239         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78240         * modules/sys_stat (Makefile.am): Substitute them.
78241         * lib/sys_stat.in.h (utimensat): Declare it.
78242         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78243         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78244         * modules/utimensat-tests: New test.
78245         * tests/test-utimensat.c: Likewise.
78247         utimens: let lutimens work on non-symlinks
78248         * lib/utimens.c (lutimens): Fall back to utimens rather than
78249         failing with ENOSYS, when file is not a symlink.
78250         (utimens): Reduce redirection.
78251         * tests/test-lutimens.h (test_lutimens): Update test to cover
78252         non-symlinks.
78253         * tests/test-utimens.h (test_utimens): Update test to cover
78254         symlinks.
78255         * tests/test-utimens.c (main): Update caller.
78257         utimens: cache whether utimensat syscall works
78258         * lib/utimens.c (utimensat_works_really): New cache variable.
78259         (fdutimens, lutimens): Use it to avoid failing syscall.
78261         test-stat-time, test-utimens: improve portability
78262         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
78263         ext4 on alpha, and for cygwin.
78264         * tests/test-utimens-common.h: New file.
78265         (nap): Factor delays into single function.
78266         * tests/test-lutimens.h (test_lutimens): Use new header.
78267         * tests/test-futimens.h (test_futimens): Likewise.
78268         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
78269         timestamps to occur from same machine, as was done previously for
78270         test_utimens.
78271         * modules/utimens-tests (Files): Ship new file.
78272         * modules/futimens-tests (Files): Likewise.
78273         Reported in part by Jim Meyering.
78275         sys_stat: sort replacement declarations
78276         * lib/sys_stat.in.h: Sort declarations.
78277         * lib/futimens.c (futimens): Fix typo.
78279 2009-10-15  Jim Meyering  <meyering@redhat.com>
78281         don't let environment settings perturb build
78282         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
78283         could cause a configure-time and/or build-time malfunction.
78284         Typically, a configure-time function-in-library test is performed
78285         via code like this:
78287           LIB_VAR=
78288           AC_SUBST([LIB_VAR])
78289           prefix_saved_LIBS=$LIBS
78290             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
78291                        [test "$ac_cv_search_FUNC" = "none required" ||
78292                         LIB_VAR=$ac_cv_search_FUNC])
78293           LIBS=$prefix_saved_LIBS
78295         However, in each of the files affected by this change, the LIB_VAR=
78296         initialization was omitted.  Thus, when set in the environment, its
78297         value would propagate into generated Makefiles when FUNC is not found
78298         in LIB_NAME.
78299         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
78300         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78301         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78303 2009-10-14  Eric Blake  <ebb9@byu.net>
78305         fchdir: avoid infinite recursion in mingw
78306         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
78307         recursing.
78309         test-stat-time: port to mingw
78310         * tests/test-stat-time.c (force_unlink): Return a value.
78311         (test_ctime) [W32]: Fix compilation error.
78312         (nap): Don't call usleep with too large an argument.  Use
78313         force_unlink.
78314         * doc/pastposix-functions/usleep.texi (usleep): Document the
78315         portability issue.
78317 2009-10-13  Jim Meyering  <meyering@redhat.com>
78319         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
78320         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
78321         * modules/pipe-filter-ii: Likewise.
78322         * modules/sys_socket-tests: Likewise.
78323         * modules/tsearch-tests: Likewise.
78324         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
78325         (check): Depend on it.
78327 2009-10-12  Eric Blake  <ebb9@byu.net>
78329         utimens-tests: port to NFS file systems
78330         * tests/test-utimens.h (test_utimens): Refactor utimecmp
78331         comparisons to avoid spurious failures from timestamp drift
78332         between NFS machines.
78334 2009-10-12  Eric Blake  <ebb9@byu.net>
78336         stat-time-tests: minor cleanups
78337         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
78338         * tests/test-stat-time.c (nap): Separate assignment from call.
78339         Suggested by Paolo Bonzini and Bruno Haible.
78341         sys_stat: guarantee struct timespec
78342         * lib/sys_stat.in.h (includes): Always include <time.h>
78343         * modules/sys_stat (Depends-on): Add time.
78344         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
78345         mode_t permission values.
78346         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
78347         get at subsecond timestamps.
78349 2009-10-10  Eric Blake  <ebb9@byu.net>
78351         futimens: new module
78352         * modules/futimens: New file.
78353         * lib/futimens.c (futimens): Likewise.
78354         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
78355         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
78356         we can work around Linux bugs.
78357         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78358         * modules/sys_stat (Makefile.am): Substitute them.
78359         * lib/sys_stat.in.h (futimens): Declare it.
78360         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78361         * doc/posix-functions/futimens.texi (futimens): Likewise.
78362         * modules/futimens-tests: New test.
78363         * tests/test-futimens.c: Likewise.
78365         utimens: introduce fdutimens
78366         * lib/utimens.h (fdutimens): New prototype.
78367         * lib/utimens.c (gl_futimens): Move guts...
78368         (fdutimens): ...to new interface.
78369         * tests/test-utimens.c (do_fdutimens): Use it.
78371         utimens: add UTIME_NOW and UTIME_OMIT support
78372         * lib/utimens.c (validate_timespec, update_timespec): New helper
78373         functions.
78374         (gl_futimens, lutimens): Use them.
78375         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
78376         stdbool, sys_stat.
78377         (Link): Mention resulting library dependency.
78378         * modules/utimecmp (Link): Likewise.
78379         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
78380         (Makefile.am): Pick up library dependency.
78381         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
78382         definition.
78383         * tests/test-sys_stat.c: Test the definitions.
78384         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
78385         * NEWS: Document library dependency.
78387         utimecmp: support symlink timestamps
78388         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
78389         hashing when possible.  Use pathconf when available.
78390         (SYSCALL_RESOLUTION): Recognize tighter resolution.
78391         * modules/utimecmp (Depends-on): Add lstat.
78393         utimens: add lutimens interface
78394         * lib/utimens.c (lutimens): New function.
78395         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
78396         * lib/utimens.h (lutimens): Declare new interface.
78397         * tests/test-utimens.c (main): Enhance test.
78398         * tests/test-lutimens.h (test_lutimens): New file.
78399         * modules/utimens-tests (Files): Distribute it.
78400         (Depends-on): Add symlink.
78401         (configure.ac): Check for usleep.
78403         utimens: validate futimens usage
78404         * lib/utimens.c (gl_futimens): Require valid fd up front, using
78405         fewer syscalls on failure later on.  Avoid compiler warning on
78406         mingw.
78407         * modules/utimens (Depends-on): Add dup2.
78409         utimens: add test
78410         * modules/utimens-tests: New test.
78411         * tests/test-utimens.h: New file.
78412         * tests/test-futimens.h: Likewise.
78413         * tests/test-utimens.c: Likewise.
78415         doc: mention timestamp portability issues
78416         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
78417         instead.
78418         * doc/posix-functions/utime.texi (utime): Likewise.
78419         * doc/posix-functions/utimes.texi (utimes): Likewise.
78420         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
78421         instead.
78422         * doc/posix-functions/futimens.texi (futimens): Mention utimens
78423         module.
78424         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78425         Mention weakness with symlink timestamps.
78426         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
78427         to utimensat/futimens instead.
78428         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
78430         test-dup2: enhance test
78431         * tests/test-dup2.c (main): Also check AT_FDCWD.
78433         test-stat-time: avoid more spurious failures
78434         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
78435         xfs; and avoid race if the two timestamps cross quantization edge.
78437         relocatable: prefer 'file system' over 'filesystem'
78438         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
78439         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
78440         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
78441         * doc/relocatable.texi (Enabling Relocatability): Likewise.
78442         * lib/relocatable.c (compute_curr_prefix): Likewise.
78444 2009-10-10  Jim Meyering  <meyering@redhat.com>
78446         stat-time-tests: check for the usleep function
78447         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
78449 2009-10-10  Bruno Haible  <bruno@clisp.org>
78451         * modules/xnanosleep: Put the Link section after the Include section.
78453 2009-10-09  Eric Blake  <ebb9@byu.net>
78455         dup2: work around FreeBSD 6.1 bug
78456         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
78457         * doc/posix-functions/dup2.texi (dup2): Document it.
78458         Reported by Nelson H. F. Beebe and Jim Meyering.
78460         test-stat-time: port to buggy NFS clients
78461         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
78462         (test_ctime): Also skip test if mtime and ctime are skewed.
78464         maint: prefer 'file system' over 'filesystem'
78465         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
78466         * doc/posix-functions/lstat.texi (lstat): Likewise.
78467         * lib/file-has-acl.c (file_has_acl): Likewise.
78468         * lib/fwriteerror.c [TEST]: Likewise.
78469         * tests/test-areadlink.h (test_areadlink): Likewise.
78470         * tests/test-areadlinkat-with-size.c (main): Likewise.
78471         * tests/test-areadlinkat.c (main): Likewise.
78472         * tests/test-canonicalize-lgpl.c (main): Likewise.
78473         * tests/test-canonicalize.c (main): Likewise.
78474         * tests/test-fstatat.c (main): Likewise.
78475         * tests/test-linkat.c (main): Likewise.
78476         * tests/test-lstat.h (test_lstat_func): Likewise.
78477         * tests/test-mkdir.h (test_mkdir): Likewise.
78478         * tests/test-readlink.h (test_readlink): Likewise.
78479         * tests/test-remove.c (main): Likewise.
78480         * tests/test-rename.h (test_rename): Likewise.
78481         * tests/test-renameat.c (main): Likewise.
78482         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78483         * tests/test-symlink.h (test_symlink): Likewise.
78484         * tests/test-symlinkat.c (main): Likewise.
78485         * tests/test-unlink.h (test_unlink_func): Likewise.
78486         * tests/test-unlinkat.c (main): Likewise.
78488         maint: make realtime library usage explicit
78489         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
78490         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
78491         * modules/settime (Link): Likewise.
78492         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
78494         test-stat-time: speed up execution
78495         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
78496         warning on mingw.
78497         (nap): New helper function.
78498         (prepare_test): Use it to reduce sleep time.
78499         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
78500         execution.
78501         * modules/stat-time-tests (configure.ac): Check for usleep.
78503 2009-10-09  Jim Meyering  <meyering@redhat.com>
78505         selinux-h: always use getfilecon wrappers
78506         * lib/getfilecon.c: New file.
78507         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
78508         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
78509         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
78510         (fgetfilecon): Provide a stub.
78511         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
78512         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
78513         file unconditionally.
78514         When <selinux/selinux.h> is found, arrange to use wrappers.
78515         * modules/selinux-h (Files): Add getfilecon.c.
78516         (Makefile.am): Substitute include-next-related bits
78517         into the now-always-generated selinux/selinux.h file.
78518         * doc/glibc-functions/lgetfilecon.texi: New file.
78519         * doc/glibc-functions/fgetfilecon.texi: New file.
78520         * doc/glibc-functions/getfilecon.texi: New file.
78521         * doc/glibc-functions/getfilecon-desc.texi: New file.
78522         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
78523         which to pull in the new files.
78524         * MODULES.html.sh (Misc): Add selinux-h.
78526 2009-10-08  Jim Meyering  <meyering@redhat.com>
78528         unistd: fix comment typo
78529         * lib/unistd.in.h (euidaccess): Fix a comment typo.
78531 2009-10-08  Eric Blake  <ebb9@byu.net>
78533         areadlink: use SIZE_MAX consistently
78534         * modules/areadlink (Depends-on): Add stdint.
78535         * modules/areadlink-with-size (Depends-on): Likewise.
78536         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
78537         gives NULL; drop sys/types, since unistd gives size_t; and add
78538         stdint for SIZE_MAX.
78539         (SIZE_MAX): Rely on headers.
78540         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
78541         and add stdint.
78542         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
78543         (SIZE_MAX): Likewise.
78544         (INITIAL_BUF_SIZE): Turn into enum.
78545         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
78547 2009-10-08  Jim Meyering  <meyering@redhat.com>
78549         areadlinkat: avoid compilation failure
78550         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
78551         Fix typo in comment.
78553 2009-10-07  Eric Blake  <ebb9@byu.net>
78555         areadlinkat-with-size: new module
78556         * modules/areadlinkat-with-size: New module.
78557         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
78558         * lib/areadlink.h (areadlinkat): Declare it.
78559         * MODULES.html.sh (File system functions): Mention it.
78560         * modules/areadlinkat-with-size-tests: New test.
78561         * tests/test-areadlinkat-with-size.c: New file.
78563         xreadlinkat: new module
78564         * modules/xreadlinkat: New module.
78565         * lib/xreadlinkat.c (xreadlinkat): New file.
78566         * lib/xreadlink.h (xreadlinkat): Declare it.
78567         * MODULES.html.sh (File system functions): Mention it.
78569         areadlinkat: new module
78570         * lib/at-func.c (FUNC_FAIL): New define.
78571         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
78572         * modules/areadlinkat: New module.
78573         * lib/linkat.c (areadlinkat): Move...
78574         * lib/areadlinkat.c (areadlinkat): ...to new file.
78575         * lib/areadlink.h (areadlinkat): Declare it.
78576         * modules/linkat (Depends-on): Add areadlinkat.
78577         * MODULES.html.sh (File system functions): Mention it.
78578         * modules/areadlinkat-tests: New test.
78579         * tests/test-areadlinkat.c: New file.
78581         areadlink, areadlink-with-size: add tests
78582         * modules/areadlink-tests: New test.
78583         * modules/areadlink-with-size-tests: Likewise.
78584         * tests/test-areadlink.h: New file.
78585         * tests/test-areadlink.c: Likewise.
78586         * tests/test-areadlink-with-size.c: Likewise.
78588         maint: minor cleanups
78589         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
78590         _UNUSED_PARAMETER_ instead.
78591         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
78592         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
78593         * modules/linkat-tests (Files): Distribute test-link.h.
78595         openat, utimens: whitespace cleanup
78596         * lib/openat.c: Prefer space throughout, rather than mix of 8
78597         spaces vs. tabs.
78598         * lib/at-func.c: Likewise.
78599         * lib/utimens.c: Likewise.
78601         openat: avoid using wrong fd
78602         * lib/openat.c (openat_permissive): Reject user's fd if saving the
78603         working directory chooses same fd.
78604         * lib/at-func.c (AT_FUNC_NAME): Likewise.
78606         mkdir, mkdirat: fix cygwin 1.5.x bug
78607         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
78608         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
78609         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
78610         bug.
78611         (gl_PREREQ_MKDIR): Delete unused macro.
78612         * modules/mkdir (Files): Track file rename.
78613         (configure.ac): Update macro name.
78614         * modules/openat (Depends-on): Add mkdir.
78615         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
78617         mkdir, mkdirat: add tests
78618         * modules/mkdir-tests: New test.
78619         * tests/test-mkdir.h: New file.
78620         * tests/test-mkdir.c: Likewise.
78621         * tests/test-mkdirat.c: Likewise.
78622         * modules/openat-tests (Files): Add new files.
78623         (Makefile.am): Run new test.
78625 2009-10-06  Eric Blake  <ebb9@byu.net>
78627         doc: tweak *at function documentation
78628         * doc/posix-functions/faccessat.texi (faccessat): Mention
78629         known issue with replacement.
78630         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
78631         * doc/posix-functions/linkat.texi (linkat): Likewise.
78632         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
78633         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
78634         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
78635         * doc/posix-functions/renameat.texi (renameat): Likewise.
78636         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
78638         openat: fix GNU/Hurd bug in unlinkat
78639         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
78640         broken.
78641         * doc/posix-functions/unlink.texi (unlink): Document this.
78642         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
78644         fdopendir: fix GNU/Hurd bug
78645         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
78646         allowing non-directory fds.
78647         * lib/fdopendir.c (rpl_fdopendir): Work around it.
78648         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
78649         * modules/dirent (Makefile.am): Substitute it.
78650         * lib/dirent.in.h (fdopendir): Declare replacement.
78651         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
78652         * tests/test-fdopendir.c (main): Test something other than
78653         /dev/null, since on Hurd that behaves like a directory.
78655         test-symlink: port to GNU/Hurd
78656         * tests/test-symlink.h (test_symlink): Relax expected errno.
78658         doc: tweak more cygwin information
78659         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
78660         now compatible with glibc.
78661         * doc/posix-functions/getopt.texi (getopt): Likewise.
78663         getopt-gnu: add another test
78664         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
78665         guarantee behavior relied on by m4.
78666         * tests/test-getopt.c (main): Use it.
78667         * modules/getopt-posix-tests (Depends-on): Add setenv.
78668         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
78670         getopt: fix compilation on darwin
78671         * lib/getopt.in.h (includes): Leave breadcrumbs during system
78672         include.
78673         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
78674         Reported by Ludovic Courtès.
78676 2009-10-06  Bruno Haible  <bruno@clisp.org>
78678         * modules/size_max (Description): Discourage its use.
78679         Reported by Simon Josefsson.
78681 2009-10-06  Jim Meyering  <meyering@redhat.com>
78683         linkat: avoid compilation failure
78684         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
78686 2009-10-05  Eric Blake  <ebb9@byu.net>
78688         linkat: support Linux 2.6.17
78689         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
78690         linkat on Linux, but allow cache variable override.
78691         * lib/linkat.c (rpl_linkat): Define override.
78692         * modules/linkat (Depends-on): Add symlinkat.
78693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
78694         * modules/unistd (Makefile.am): Substitute it.
78695         * lib/unistd.in.h (linkat): Declare replacement.
78696         Reported by Pádraig Brady.
78698         quotearg: port test to systems with C.UTF-8 locale
78699         * tests/test-quotearg.c (struct result_strings): Add another
78700         member, differentiating between C.ASCII and C.UTF-8 handling.
78701         (compare_strings): Add parameter.
78702         (main): Adjust all callers.
78704         getopt: avoid clash with FreeBSD _getopt_internal
78705         * lib/getopt.in.h (_getopt_internal): Override the name.
78706         * lib/getopt_int.h (includes): Pick up any overrides.
78707         Reported by Reuben Thomas.
78709         hash: allow C89 compilation
78710         * lib/hash.c (check_tuning): Move declaration before statement.
78711         Reported by Reuben Thomas.
78713 2009-10-05  Karl Berry  <karl@gnu.org>
78715         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
78717 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
78718             Bruno Haible  <bruno@clisp.org>
78720         * lib/uname.c (uname): Use a table-driven algorithm to compute
78721         Windows NT versions.
78723 2009-10-04  Bruno Haible  <bruno@clisp.org>
78725         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
78726         program_invocation_short_name.
78727         * modules/progname (configure.ac): Test for presence of
78728         program_invocation_short_name.
78729         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
78731 2009-10-04  Bruno Haible  <bruno@clisp.org>
78733         * lib/progname.c (set_program_name): Fix comment.
78734         Reported by Jim Meyering.
78736 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
78737             Bruno Haible  <bruno@clisp.org>
78739         * lib/uname.c: Include <string.h>.
78740         (uname): Do only one call to GetVersionEx in the common case.
78742 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
78743             Bruno Haible  <bruno@clisp.org>
78745         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
78746         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
78747         (uname): Add support for Windows CE and various non-x86 CPU types.
78749 2009-10-03  Bruno Haible  <bruno@clisp.org>
78751         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
78752         invocation to tests/configure.ac.
78753         Reported by Ian Beckwith <ianb@erislabs.net>.
78755 2009-10-02  Eric Blake  <ebb9@byu.net>
78757         fchdir: avoid compiler warning
78758         * lib/fchdir.c (canonicalize_file_name)
78759         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
78761         test-open: support mingw errno values
78762         * tests/test-open.h (test_open): Relax test.
78763         * tests/test-fopen.h (test_fopen): Likewise.
78764         * tests/test-openat-safer.c (main): Likewise.
78766         open: fix opening directory on mingw
78767         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
78769         test-open: on GNU/Hurd, /dev/null is a directory
78770         * tests/test-fopen.h (main): Rename...
78771         (test_fopen): ...to this.  Use a guaranteed non-directory when
78772         confirming open behavior on trailing slash.
78773         * tests/test-openat-safer.c (main): Likewise.
78774         * tests/test-open.h (main): Likewise....
78775         (test_open): ...to this.
78776         * tests/test-fopen.c (main): Adjust caller.
78777         * tests/test-fopen-safer.c (main): Likewise.
78778         * tests/test-open.c (main): Likewise.
78779         * tests/test-fcntl-safer.c (main): Likewise.
78780         Reported by Samuel Thibault.
78782         rename, fchdir: don't ignore chdir failure
78783         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
78784         * lib/rename.c (rpl_rename) [W32]: Likewise.
78785         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
78786         an empty destination directory if source cannot be renamed,
78787         although there is still possibility for failure.
78788         * doc/posix-functions/rename.texi (rename): Document the race.
78789         Reported by Jim Meyering.
78791         maint: cleanup whitespace in recent commits
78792         * lib/rename.c (rpl_rename): Remove tabs.
78793         * tests/test-link.h (test_link): Likewise.
78794         * lib/fchdir.c (get_name): Likewise.
78795         Reported by Jim Meyering.
78797 2009-10-02  Ben Pfaff  <blp@gnu.org>
78799         relocatable-prog-wrapper: Add missing dependency on
78800         double-slash-root.
78801         * modules/relocatable-prog-wrapper: Add dependency.
78802         Reported by Ian Beckwith <ianb@erislabs.net>.
78804 2009-10-02  Eric Blake  <ebb9@byu.net>
78806         renameat: fix Solaris bugs
78807         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
78808         needed fixing.
78809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
78810         * modules/stdio (Makefile.am): Substitute it.
78811         * lib/stdio.in.h (renameat): Declare replacement.
78812         * lib/renameat.c (rpl_renameat): Implement fix.
78814         renameat: new module
78815         * modules/renameat: New file.
78816         * lib/renameat.c (renameat): Likewise.
78817         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
78818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
78819         * modules/stdio (Makefile.am): Substitute them.
78820         * lib/stdio.in.h (renameat): Declare it.
78821         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78822         * doc/posix-functions/renameat.texi (renameat): Likewise.
78823         * modules/renameat-tests: New test.
78824         * tests/test-renameat.c: Likewise.
78826         rename: fix mingw bugs
78827         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
78828         directory overwrite bugs.
78830         rename: fix another cygwin 1.5 bug
78831         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
78832         checks.
78833         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
78834         unnecessary cygwin workarounds.  Also work around bug with moving
78835         full directory onto an empty one.
78836         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
78838         rename-dest-slash: merge into rename module
78839         * modules/rename-dest-slash (Status): Mark obsolete.
78840         (Depends-on): Add rename.
78841         (Files): Let rename do it all.
78842         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
78843         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
78844         * m4/rename-dest-slash.m4: ...so this file can be deleted.
78845         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
78846         * lib/rename.c (rpl_rename): Update comments.
78848         rename: fix cygwin 1.5.x bugs
78849         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
78850         * lib/rename.c (rpl_rename): Work around them.
78851         * modules/rename (Depends-on): Add same-inode.
78853         rename: fix Solaris 10 bug
78854         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
78855         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
78856         was the only bug.
78858         rename: fix Solaris 9 bug
78859         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
78860         on non-directory.  Avoid calling exit.
78861         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
78862         strdup.
78863         * modules/rename-tests (Depends-on): Drop lstat.
78864         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
78865         (gl_PREREQ_RENAME): Delete unused macro.
78867         rename-dest-slash: fix NetBSD bug
78868         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
78869         links.
78870         * modules/rename-dest-slash (Depends-on): Add same-inode.
78872         rename-tests: new test, exposes several platform bugs
78873         * modules/rename-tests: New file.
78874         * tests/test-rename.h: Likewise.
78875         * tests/test-rename.c: Likewise.
78876         * doc/posix-functions/rename.texi (rename): Improve documentation,
78877         including bugs that will eventually be fixed in gnulib.
78879 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
78881         * lib/uname.c: Include <stdlib.h>
78882         (uname): Assume version info is available.
78884 2009-10-02  Jim Meyering  <meyering@redhat.com>
78886         gnu-web-doc-update: correct --help output
78887         * build-aux/gnu-web-doc-update: Make --help output relevant.
78889         gnu-web-doc-update: add standard options
78890         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
78892         gnu-web-doc-update: New module.
78893         Use this script to automatically update the on-line web documentation
78894         for your GNU project at http://www.gnu.org/software/$pkg/manual/
78895         * modules/gnu-web-doc-update: New file, from coreutils.
78896         * build-aux/gnu-web-doc-update: New script.
78898 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
78900         link: LoadLibrary is not needed.
78901         * lib/link.c: Use GetModuleHandle.
78903 2009-10-01  Eric Blake  <ebb9@byu.net>
78905         getopt: bump serial number
78906         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
78907         change.
78909         tests: tighten link, rmdir, and remove tests
78910         * tests/test-link.h (includes): No need to use <config.h> here.
78911         Clean up if directory hard link was created, otherwise test for
78912         trailing '.'.
78913         * tests/test-linkat.c (main): Simplify.
78914         * tests/test-remove.c (main): Enhance test for trailing '.'.
78915         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78917 2009-10-01  Jim Meyering  <meyering@redhat.com>
78919         maint.mk: requiring "make major" was annoying, for a "minor" release.
78920         What is intended is "stable", to contrast with alpha and beta,
78921         so require "make stable", not "make major".
78922         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
78923         (get_tool_versions): Likewise.
78924         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
78926 2009-09-30  Ben Pfaff  <blp@gnu.org>
78928         Fix broken build of replacement for Windows tmpfile().
78929         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
78930         flags argument added along with the 'mkostemp' module.
78932 2009-09-28  Bruno Haible  <bruno@clisp.org>
78934         Avoid identifier clash with POSIX function 'remove' defined as a macro.
78935         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
78936         to 'remove_elt'.
78937         (gl_list_remove): Update.
78938         * lib/gl_list.c (gl_list_remove): Update.
78939         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
78940         to 'remove_elt'.
78941         (gl_oset_remove): Update.
78942         * lib/gl_list.c (gl_oset_remove): Update.
78943         Reported by Eric Blake.
78945 2009-09-28  Eric Blake  <ebb9@byu.net>
78947         doc: mention yet more cygwin 1.7 status
78948         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
78949         cygwin.
78950         * doc/glibc-functions/execvpe.texi (execvpe): New file.
78951         * doc/gnulib.texi (Glibc unistd.h): Mention it.
78953         argp: fix test failure
78954         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
78955         that are not upper-case.  Pass correct range to tolower.
78957 2009-09-27  Jim Meyering  <meyering@redhat.com>
78959         test-yesno: work around sparc-dash here-document infelicity
78960         Without this change, the literal \177 byte in a here document
78961         would make dash 0.5.5.1-3 access uninitialized memory.
78962         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
78963         Instead, use a marker, "@", and filter through tr to create the desired
78964         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
78966 2009-09-27  Bruno Haible  <bruno@clisp.org>
78968         Disable untested support for new flavours of ACLs on AIX.
78969         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
78970         progress.
78971         * lib/set-mode-acl.c (qset_acl): Likewise.
78973 2008-12-07  Bruno Haible  <bruno@clisp.org>
78975         Add support for new flavours of ACLs on AIX. (Untested.)
78976         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
78977         (file_has_acl): Add support for newer AIX.
78978         * lib/set-mode-acl.c (qset_acl): Likewise.
78979         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
78980         Rainer Tammer <tammer@tammer.net>.
78982 2009-09-26  Eric Blake  <ebb9@byu.net>
78984         argp: fix compilation of getopt
78985         * lib/getopt.in.h (includes): Use different guard than glibc.
78986         Reported by Sergey Poznyakoff.
78988         doc: mention more cygwin 1.7 status
78989         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
78990         bug.
78991         * doc/posix-functions/execl.texi (execl): Likewise.
78992         * doc/posix-functions/execle.texi (execle): Likewise.
78993         * doc/posix-functions/execlp.texi (execlp): Likewise.
78994         * doc/posix-functions/execv.texi (execv): Likewise.
78995         * doc/posix-functions/execve.texi (execve): Likewise.
78996         * doc/posix-functions/execvp.texi (execvp): Likewise.
78997         * doc/glibc-functions/canonicalize_file_name.texi
78998         (canonicalize_file_name): Cygwin 1.7 now provides this.
78999         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
79000         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
79001         on AT_SYMLINK_NOFOLLOW.
79003 2009-09-24  Eric Blake  <ebb9@byu.net>
79005         test-linkat: make test more robust
79006         * tests/test-linkat.c (main): Avoid collision with EEXIST.
79008         getopt: fix inclusion guards for cygwin
79009         * modules/getopt-posix (Depends-on): Add include-next.
79010         (Makefile.am): Substitute more items in replacement header.
79011         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
79012         <getopt.h>.
79013         * lib/getopt.in.h (includes): Use split inclusion guard, and
79014         prefer <getopt.h> over include <unistd.h> when one is present.
79015         (option): Also override name of 'struct option'.
79017         same-inode: revert prior change; it is not yet ready
79018         * NEWS: Undo mention of this change.
79019         * lib/same-inode.h (same-inode.h): Undo tri-state change.
79020         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79021         * lib/cycle-check.c (cycle_check): Likewise.
79022         * lib/same.c (same_name): Likewise.
79023         * lib/at-func2.c (at_func2): Likewise.
79025 2009-09-23  Eric Blake  <ebb9@byu.net>
79027         linkat: new module
79028         * modules/linkat: New file.
79029         * lib/at-func2.c (at_func2): Likewise.
79030         * lib/linkat.c (linkat): Likewise.
79031         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
79032         * lib/openat-priv.h (at_func2): Add declaration.
79033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79034         * modules/unistd (Makefile.am): Substitute them.
79035         * lib/unistd.in.h (linkat): Declare it.
79036         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79037         * doc/posix-functions/linkat.texi (linkat): Likewise.
79038         * doc/posix-functions/link.texi (link): Tweak wording.
79039         * tests/test-link.c (main): Move guts...
79040         * tests/test-link.h (test_link): ...into new file.
79041         * modules/linkat-tests: New test.
79042         * tests/test-linkat.c: Likewise.
79043         * modules/link-tests (Files): Ship new file.
79044         (Depends-on): Add stdbool.
79046         dirname: add library-safe mdir_name
79047         * lib/dirname.h (mdir_name): New prototype.
79048         * lib/dirname.c (dir_name): Move guts...
79049         (mdir_name): ...to new function that avoids xalloc_die.
79051         fchdir: another mingw fix
79052         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
79053         * lib/fchdir.c (get_name): New helper method; skips canonicalize
79054         on mingw (where it has not yet been ported), and make it optional
79055         elsewhere.
79056         (_gl_register_fd): Use it.
79058         same-inode: make SAME_INODE tri-state, to port to mingw
79059         * NEWS: Mention this change.
79060         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
79061         st_ino always being 0.
79062         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79063         * lib/cycle-check.c (cycle_check): Likewise.
79064         * lib/same.c (same_name): Likewise.
79066         lstat: avoid mingw compilation error
79067         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
79068         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
79069         lstat ourselves.
79070         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
79071         was adequate.
79072         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
79073         the checks for lstat.
79074         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
79076         link: fix test failure on Solaris 9
79077         * lib/link.c (rpl_link): Don't assume link will catch bogus
79078         trailing slash on source.
79080         test-symlinkat: enhance test
79081         * tests/test-readlink.c (main): Move guts...
79082         * tests/test-readlink.h (test_readlink): ...into new file.
79083         * tests/test-symlink.c (main): Move guts...
79084         * tests/test-symlink.h (test_symlink): ...into new file.
79085         * tests/test-symlinkat.c (main): Use new files for further
79086         coverage.
79087         (do_symlink, do_readlink): New helper functions.
79088         * modules/symlink-tests (Files): Ship new file.
79089         (Depends-on): Add stdbool.
79090         * modules/readlink-tests (Files): Ship new file.
79091         (Depends-on): Add stdbool.
79092         * modules/symlinkat-tests (Files): Use new files.
79094 2009-09-23  Eric Blake  <ebb9@byu.net>
79096         readlink: document portability issue with symlink length
79097         * doc/posix-functions/lstat.texi (lstat): Mention that some file
79098         systems have bogus st_size on symlinks, and mention the
79099         areadlink-with-size module.
79100         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79101         * doc/posix-functions/readlink.texi (readlink): Mention the
79102         areadlink module, and ERANGE failure.
79103         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79104         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
79106         readlink: fix Solaris 9 bug with trailing slash
79107         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
79108         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
79109         * doc/posix-functions/readlink.texi (readlink): Document this.
79110         * modules/readlink-tests: New test.
79111         * tests/test-readlink.c: Likewise.
79113         readlink: fix cygwin 1.5.x bug with return type
79114         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
79115         * lib/unistd.in.h (readlink): Use ssize_t.
79116         * lib/readlink.c (readlink): Likewise.
79117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79118         * modules/unistd (Makefile.am): Substitute it.
79119         * lib/unistd.in.h (readlink): Declare replacement.
79120         * doc/posix-functions/readlink.texi (readlink): Document this.
79122         symlink: use throughout gnulib
79123         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
79124         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
79125         symlink is not used.
79126         * modules/symlinkat (Depends-on): Add symlink.
79127         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79128         * modules/canonicalize-tests (Depends-on): Likewise.
79129         * modules/lstat-tests (Depends-on): Likewise.
79130         * modules/openat-tests (Depends-on): Likewise.
79131         * modules/remove-tests (Depends-on): Likewise.
79132         * modules/rmdir-tests (Depends-on): Likewise.
79133         * modules/unlink-tests (Depends-on): Likewise.
79134         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
79135         * tests/test-canonicalize.c (symlink): Likewise.
79136         * tests/test-fstatat.c (symlink): Likewise.
79137         * tests/test-lstat.c (symlink): Likewise.
79138         * tests/test-remove.c (symlink): Likewise.
79139         * tests/test-rmdir.c (symlink): Likewise.
79140         * tests/test-unlink.c (symlink): Likewise.
79141         * tests/test-unlinkat.c (symlink): Likewise.
79143         symlink: new module, for Solaris 9 bug
79144         * modules/symlink: New file.
79145         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
79146         * lib/symlink.c: Likewise.
79147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
79148         * modules/unistd (Makefile.am): Substitute them.
79149         * lib/unistd.in.h (symlink): Declare replacement.
79150         * MODULES.html.sh (File system functions): Mention it.
79151         * doc/posix-functions/symlink.texi (symlink): Likewise.
79152         * modules/symlink-tests: New test.
79153         * tests/test-symlink.c: Likewise.
79155 2009-09-23  Bruno Haible  <bruno@clisp.org>
79157         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
79158         when needed.
79159         Test case: gnulib-tool --import --with-tests atexit inttypes.
79160         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
79162 2009-09-23  Bruno Haible  <bruno@clisp.org>
79164         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
79165         subcommand, not in a subshell.
79167 2009-09-22  Eric Blake  <ebb9@byu.net>
79169         unistd: sort replacement declarations
79170         * lib/unistd.in.h: Sort declarations.
79172         open, openat: minor optimization
79173         * lib/open.c (open): If open succeeded, len is non-zero.
79174         * lib/openat.c (rpl_openat): Likewise.
79176         link-follow: ensure correct result
79177         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
79178         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
79179         distinguish between possible failures.
79181 2009-09-21  Eric Blake  <ebb9@byu.net>
79183         fts: avoid compiler warning
79184         * lib/fts.c (dirent_inode_sort_may_be_useful)
79185         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
79187 2009-09-19  Bruno Haible  <bruno@clisp.org>
79189         * lib/progreloc.c (canonicalize_file_name): New declaration.
79191 2009-09-19  Eric Blake  <ebb9@byu.net>
79193         link: fix quoting
79194         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
79196         openat: fix openat bugs on Solaris 9
79197         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
79198         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
79199         * modules/openat (Depends-on): Add open.
79200         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
79201         * modules/fcntl-h (Makefile.am): Substitute it.
79202         * lib/fcntl.in.h (openat): Declare replacement.
79203         * doc/posix-functions/openat.texi (openat): Document this.
79205         openat: move fstatat and unlinkat into correct files
79206         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
79207         compiled.
79208         * lib/openat.c (fstatat, unlinkat): Move...
79209         * lib/fstatat.c (fstatat): ...into correct files.
79210         * lib/unlinkat.c (unlinkat): Likewise.
79212         openat: fix unlinkat bugs on Solaris 9
79213         * lib/unlinkat.c (unlinkat): New file.
79214         * modules/openat (Depends-on): Add unlink.
79215         (Files): Distribute it.
79216         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
79217         trailing slash behavior is broken.
79218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79219         * modules/unistd (Makefile.am): Substitute it.
79220         * lib/unistd.in.h (unlinkat): Declare replacement.
79221         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
79223         openat: fix fstatat bugs on Solaris 9
79224         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
79225         stat.
79226         * doc/posix-functions/fstatat.texi (fstatat): Document this.
79228         test-unlinkat: enhance test, to expose Solaris 9 bug
79229         * tests/test-unlink.c (main): Factor guts...
79230         * tests/test-unlink.h (test_rmdir_func): ...into new file.
79231         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
79232         * tests/test-rmdir.c (main): Adjust caller.
79233         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
79234         (unlinker): New helper function.
79235         (rmdirat): Enhance check.
79236         * modules/rmdir-tests (Depends-on): Add stdbool.
79237         * modules/unlink-tests (Depends-on): Likewise.
79238         (Files): Add test-unlink.h.
79239         * modules/openat-tests (Files): Likewise.
79240         (Depends-on): Add unlinkdir.
79242         test-fstatat: new test, to expose Solaris 9 bugs
79243         * tests/test-stat.c (main): Factor guts...
79244         * tests/test-stat.h (test_stat_func): ...into new file.
79245         * tests/test-lstat.c (main): Factor guts...
79246         * tests/test-lstat.h (test_lstat_func): ...into new file.
79247         * tests/test-fstatat.c: New file.
79248         * modules/stat-tests (Files): Add test-stat.h.
79249         * modules/lstat-tests (Files): Add test-lstat.h.
79250         (Depends-on): Add stdbool.
79251         * modules/openat-tests (Depends-on): Add pathmax.
79252         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
79253         (Makefile.am): Run new test.
79255         remove: new module, for mingw and Solaris 9 bugs
79256         * modules/remove: New file.
79257         * lib/remove.c: Likewise.
79258         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
79259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79260         * modules/stdio (Makefile.am): Use them.
79261         * lib/stdio.in.h (remove): Declare replacement.
79262         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79263         * doc/posix-functions/remove.texi (remove): Likewise.
79264         * modules/remove-tests: New test.
79265         * tests/test-remove.c: Likewise.
79267         unlink: new module, for Solaris 9 bug
79268         * modules/unlink: New file.
79269         * lib/unlink.c: Likewise.
79270         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
79271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79272         * modules/unistd (Makefile.am): Use them.
79273         * lib/unistd.in.h (stat): Declare replacement.
79274         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79275         * doc/posix-functions/unlink.texi (unlink): Likewise.
79276         * modules/unlink-tests: New test.
79277         * tests/test-unlink.c: Likewise.
79279         lstat: fix Solaris 9 bug
79280         * lib/lstat.c (lstat): Also check for trailing slash on
79281         non-symlink, non-directories.  Use stat module to simplify logic.
79282         * doc/posix-functions/lstat.texi (lstat): Document it.
79283         * modules/lstat-tests (Depends-on): Add errno, same-inode.
79284         (configure.ac): Check for symlink.
79285         * tests/test-lstat.c (main): Add more tests.
79287         stat: add as dependency to other modules
79288         * modules/chown (Depends-on): Add stat.
79289         * modules/euidaccess (Depends-on): Likewise.
79290         * modules/fchdir (Depends-on): Likewise.
79291         * modules/isdir (Depends-on): Likewise.
79292         * modules/link (Depends-on): Likewise.
79293         * modules/lstat (Depends-on): Likewise.
79294         * modules/mkdir-p (Depends-on): Likewise.
79295         * modules/modechange (Depends-on): Likewise.
79296         * modules/open (Depends-on): Likewise.
79297         * modules/readlink (Depends-on): Likewise.
79298         * modules/same (Depends-on): Likewise.
79300         stat: fix Solaris 9 bug
79301         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
79302         slash.
79303         * lib/stat.c (rpl_stat): Work around it.
79304         * doc/posix-functions/stat.texi (stat): Update documentation.
79306         stat: new module, for mingw bug
79307         * modules/stat: New file.
79308         * lib/stat.c: Likewise.
79309         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
79310         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79311         * modules/sys_stat (Makefile.am): Use them.
79312         * lib/sys_stat.in.h (stat): Declare replacement.
79313         * lib/openat.c (fstatat): Deal with lstat and stat being function
79314         macros.
79315         * modules/openat (Depends-on): Add inline.
79316         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79317         * doc/posix-functions/stat.texi (stat): Likewise.
79318         * modules/stat-tests: New test.
79319         * tests/test-stat.c: Likewise.
79321 2009-09-19  Jim Meyering  <meyering@redhat.com>
79323         syntax-check: detect unnecessary inclusion of canonicalize.h
79324         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
79326 2009-09-19  Eric Blake  <ebb9@byu.net>
79328         canonicalize-lgpl: adjust clients to use correct header
79329         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79330         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
79331         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
79332         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
79333         * lib/progreloc.c (includes): Likewise.
79335 2009-09-19  Jim Meyering  <meyering@redhat.com>
79337         test-posixtm.c: correct a comment
79338         * tests/test-posixtm.c: Correct first-line comment.
79339         Spotted by Eric Blake.
79341 2009-09-16  Jim Meyering  <meyering@redhat.com>
79343         posixtm-tests: make T const-correct; add a test case
79344         * tests/test-posixtm.c (T): Declare const.
79345         Add a test for -(2^31+1).
79346         Remove useless can-succeed-only-in-2002 test.
79348         posixtm-tests: adjust the sole failing test
79349         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
79350         expected output matches what mktime now produces.  Cross-checked via
79351         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
79353         posixtm: move #ifdef'd tests into a new module
79354         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
79355         * tests/test-posixtm.c: ... this new file.
79356         * modules/posixtm-tests: New module.
79358 2009-09-19  Eric Blake  <ebb9@byu.net>
79360         openat: simplify use of at-func.c
79361         * lib/at-func.c (includes): Include prerequisites here, to
79362         simplify requirements on client files.
79363         * lib/openat-priv.h: Add double-inclusion guard.
79364         * lib/faccessat.c (includes): Simplify.
79365         * lib/fchmodat.c (includes): Likewise.
79366         * lib/fchownat.c (includes): Likewise.
79367         * lib/mkdirat.c (includes): Likewise.
79368         * lib/mkfifoat.c (includes): Likewise.
79369         * lib/symlinkat.c (includes): Likewise.
79371         openat: allow return of fd 0
79372         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
79373         * modules/save-cwd (Depends-on): Replace fcntl-safer with
79374         unistd-safer.
79375         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
79376         <fcntl.h>; this module does not leak fds.
79377         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
79378         must be allowed to return 0, leaving openat_safer to add the
79379         safety.
79380         (openat_permissive): Avoid writing to just-opened fd 2 if
79381         restoring the current directory fails.
79382         * lib/openat-die.c (openat_restore_fail): Add comment.
79383         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
79384         (save_cwd): Guarantee safe fd, but without use of open_safer.
79385         * tests/test-openat.c: New test.
79386         * modules/openat-tests (Files, Makefile.am): Distribute and build
79387         new file.
79389         relocatable-prog-wrapper: fix build
79390         * modules/relocatable-prog-wrapper (Files): Update name of
79391         canonicalize m4 file, broken on 2009-09-17.
79392         Reported by emad hajjar <aleppos@hotmail.com>.
79394 2009-09-19  Bruno Haible  <bruno@clisp.org>
79396         * lib/safe-alloc.h: Use the standard header with GPL copyright.
79397         * lib/safe-alloc.c: Likewise.
79398         Reported by Ian Beckwith <ianb@erislabs.net>.
79400 2009-09-18  Bruno Haible  <bruno@clisp.org>
79402         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
79403         Reported by <erobles@sensacd.com.mx>.
79405 2009-09-17  Eric Blake  <ebb9@byu.net>
79407         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
79408         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
79409         slashes when checking if last component is missing.
79410         * tests/test-canonicalize.c (main): Test this.
79412         canonicalize, canonicalize-lgpl: honor // if distinct from /
79413         * modules/canonicalize (Files): Add double-slash-root.m4.
79414         * modules/canonicalize-lgpl (Files): Likewise.
79415         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79416         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
79417         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
79418         fallback definition.
79419         (canonicalize_filename_mode): Use it to protect //.
79420         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
79421         (__realpath): Likewise.
79422         * tests/test-canonicalize.c (main): Test this.
79423         * tests/test-canonicalize-lgpl.c (main): Likewise.
79424         * modules/canonicalize-tests (Depends-on): Add same-inode.
79425         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79427         canonicalize-lgpl: fix glibc bug with trailing slash
79428         * m4/canonicalize-lgpl.m4: Move contents...
79429         * m4/canonicalize.m4: ...here.
79430         (gl_CANONICALIZE_LGPL): Factor realpath check...
79431         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
79432         glibc 2.3.5 bug, fixed 2005-04-27.
79433         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
79434         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
79435         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
79436         * modules/canonicalize-lgpl (Files): Manage file rename.
79437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79438         * modules/stdlib (Makefile.am): Substitute witness.
79439         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
79440         is needed.
79441         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
79442         replacement is required.
79443         * lib/canonicalize.c (canonicalize_file_name): Likewise.
79444         * doc/glibc-functions/canonicalize_file_name.texi
79445         (canonicalize_file_name): Document this.
79446         * doc/posix-functions/realpath.texi (realpath): Likewise.
79448         canonicalize-lgpl: reject non-directory with trailing slash
79449         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
79450         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
79451         catches failures in glibc 2.3.5.
79452         * tests/test-canonicalize.c (main): Likewise.
79454         canonicalize-lgpl: use native realpath if it works
79455         * lib/canonicalize-lgpl.c (realpath): Guard with
79456         FUNC_REALPATH_WORKS.
79457         * lib/stdlib.in.h (realpath): Make declaration optional based on
79458         HAVE_REALPATH.
79459         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
79460         native realpath works.
79461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79462         * modules/stdlib (Makefile.am): Substitute witness.
79464         canonicalize, canonicalize-lgpl: use <stdlib.h>
79465         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
79466         (Include): Mention <stdlib.h>.
79467         (configure.ac): Mention functions we provide.
79468         * modules/canonicalize (configure.ac): Likewise.
79469         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
79470         realpath if canonicalize_file_name is missing.
79471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
79472         * modules/stdlib (Makefile.am): Substitute witnesses.
79473         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
79474         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
79475         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
79476         * NEWS: Document this.
79477         * doc/glibc-functions/canonicalize_file_name.texi
79478         (canonicalize_file_name): Likewise.
79479         * doc/posix-functions/realpath.texi (realpath): Likewise.
79480         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
79482         test-canonicalize: consolidate into single C program
79483         * tests/test-canonicalize.sh: Delete; move setup into...
79484         * tests/test-canonicalize.c (main): ...the program, making it
79485         easier to run in debugger.  Add some tests.
79486         * modules/canonicalize-tests (Files): Remove unused file.
79487         (Depends-on): Add progname.
79488         (configure.ac, Makefile.am): Simplify.
79490         test-canonicalize-lgpl: consolidate into single C program
79491         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
79492         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
79493         easier to run in debugger.  Add some tests.
79494         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
79495         (configure.ac, Makefile.am): Simplify.
79497         canonicalize: avoid resolvepath
79498         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
79499         unnecessary checks.
79500         * lib/canonicalize.c (includes): Simplify.
79501         (canonicalize_file_name): Drop resolvepath implementation.
79502         * modules/canonicalize (Depends-on): Drop filenamecat.
79504         canonicalize: don't lose errno
79505         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
79506         over calls to free.
79508         canonicalize: simplify errno handling
79509         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
79510         assignment.
79512         canonicalize, canonicalize-lgpl: update module dependencies
79513         * modules/canonicalize (Depends-on): Add extensions, lstat,
79514         pathmax, stdlib.
79515         (Files): Drop pathmax.h.
79516         (configure.ac): Adjust macro name.
79517         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
79518         lstat, stdlib, sys_stat.
79519         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
79520         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
79521         extensions.
79522         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
79523         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
79524         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
79525         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
79526         declaration, if available.
79527         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
79528         we can rely on the readlink module.
79529         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
79530         (includes): Use <unistd.h> unconditionally.
79532 2009-09-17  Eric Blake  <ebb9@byu.net>
79534         maint: make Include sections of modules consistent
79535         * modules/alloca: Use only header name; no need to list #include.
79536         * modules/alloca-opt: Likewise.
79537         * modules/arpa_inet: Likewise.
79538         * modules/canon-host: Likewise.
79539         * modules/configmake: Likewise.
79540         * modules/dirent: Likewise.
79541         * modules/eealloc: Likewise.
79542         * modules/environ: Likewise.
79543         * modules/fchdir: Likewise.
79544         * modules/fcntl: Likewise.
79545         * modules/fcntl-h: Likewise.
79546         * modules/gethrxtime: Likewise.
79547         * modules/gettime: Likewise.
79548         * modules/ignore-value: Likewise.
79549         * modules/inet_ntop: Likewise.
79550         * modules/inet_pton: Likewise.
79551         * modules/inttypes: Likewise.
79552         * modules/isnand-nolibm: Likewise.
79553         * modules/isnanf-nolibm: Likewise.
79554         * modules/mbchar: Likewise.
79555         * modules/mbfile: Likewise.
79556         * modules/mbiter: Likewise.
79557         * modules/mbuiter: Likewise.
79558         * modules/netdb: Likewise.
79559         * modules/netinet_in: Likewise.
79560         * modules/nproc: Likewise.
79561         * modules/pagealign_alloc: Likewise.
79562         * modules/poll: Likewise.
79563         * modules/printf-frexp: Likewise.
79564         * modules/pthread: Likewise.
79565         * modules/putenv: Likewise.
79566         * modules/random_r: Likewise.
79567         * modules/relocatable-prog: Likewise.
79568         * modules/search: Likewise.
79569         * modules/select: Likewise.
79570         * modules/selinux-h: Likewise.
79571         * modules/settime: Likewise.
79572         * modules/signal: Likewise.
79573         * modules/size_max: Likewise.
79574         * modules/socklen: Likewise.
79575         * modules/ssize_t: Likewise.
79576         * modules/stdarg: Likewise.
79577         * modules/stdbool: Likewise.
79578         * modules/stddef: Likewise.
79579         * modules/stdint: Likewise.
79580         * modules/stdio: Likewise.
79581         * modules/stdlib: Likewise.
79582         * modules/string: Likewise.
79583         * modules/strings: Likewise.
79584         * modules/sys_file: Likewise.
79585         * modules/sys_ioctl: Likewise.
79586         * modules/sys_select: Likewise.
79587         * modules/sys_socket: Likewise.
79588         * modules/sys_stat: Likewise.
79589         * modules/sys_time: Likewise.
79590         * modules/sys_times: Likewise.
79591         * modules/sys_utsname: Likewise.
79592         * modules/sys_wait: Likewise.
79593         * modules/sysexits: Likewise.
79594         * modules/time: Likewise.
79595         * modules/times: Likewise.
79596         * modules/tmpfile: Likewise.
79597         * modules/trim: Likewise.
79598         * modules/unistd: Likewise.
79599         * modules/wchar: Likewise.
79600         * modules/wctype: Likewise.
79602 2009-09-17  Bruno Haible  <bruno@clisp.org>
79604         Make getdate.y compile on QNX and NetBSD 5 / i386.
79605         * m4/getdate.m4 (gl_GETDATE): Conditionally define
79606         TIME_T_FITS_IN_LONG_INT.
79607         * lib/getdate.y (long_time_t): New type.
79608         (relative_time): Change type of 'seconds' field to long_time_t.
79609         (get_date): Update types of local variables. Check against overflow
79610         during conversion from long_time_t to time_t.
79611         Reported by Matt Kraai <kraai@ftbfs.org>
79612         and Hasso Tepper <hasso@netbsd.org>.
79614 2009-09-17  Bruno Haible  <bruno@clisp.org>
79616         * modules/COPYING: Update copyright years.
79617         * modules/README: Likeiwse.
79618         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
79619         Reported by Ian Beckwith <ianb@erislabs.net>.
79621 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
79623         * users.txt: Update references for gnuit package.
79625 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
79627         * m4/getdelim.m4: Fix typo in copyright line.
79629 2009-09-17  Bruno Haible  <bruno@clisp.org>
79631         * lib/atoll.c: Use the standard header with GPL copyright.
79632         * lib/argz.in.h: Likewise.
79633         * lib/glob.c: Likewise.
79634         * lib/glob-libc.h: Likewise.
79635         * lib/random_r.c: Likewise.
79636         * lib/siglist.h: Likewise.
79637         * lib/strsignal.c: Likewise.
79638         Reported by Ian Beckwith <ianb@erislabs.net>.
79640 2009-09-17  Eric Blake  <ebb9@byu.net>
79642         rmdir: ensure correct dependency order
79643         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
79645 2009-09-17  Bruno Haible  <bruno@clisp.org>
79647         Disable assertion that fails on NetBSD 5 / i386.
79648         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
79649         Reported by Sam Steingold <sds@gnu.org>
79650         and Hasso Tepper <hasso@netbsd.org>.
79652 2009-09-16  Eric Blake  <ebb9@byu.net>
79654         unlinkdir: port to mingw
79655         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
79656         on which no one can unlink a directory.
79658         stdlib: sort witness names
79659         * modules/stdlib (Makefile.am): Sort replacements.
79660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79661         * lib/stdlib.in.h: Likewise.
79663         parse-duration-tests: avoid link failure
79664         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
79665         LIBINTL.
79666         Reported by Tom G. Christensen.
79668         openat-tests: ensure unlinkat behaves like rmdir
79669         * tests/test-rmdir.c (main): Factor guts...
79670         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
79671         * modules/rmdir-tests (Files): Ship new file.
79672         * modules/openat-tests: New test.
79673         * tests/test-unlinkat.c: Likewise.
79675         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
79676         * modules/rmdir-errno (Status, Notice): Now obsolete.
79678         rmdir: work around cygwin 1.5.x and mingw bugs
79679         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
79680         * lib/rmdir.c (rmdir): Work around it.
79681         * modules/rmdir (Status, Notice): No longer obsolete.
79682         (Files): Add dos.m4.
79683         (Depends-on): Add unistd.
79684         (configure.ac): Set witnesses.
79685         (License): Relax to LGPLv2+.
79686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
79687         * modules/unistd (Makefile.am): Substitute witnesses.
79688         * lib/unistd.in.h (rmdir): Declare replacement.
79689         * doc/posix-functions/rmdir.texi (rmdir): Document this.
79690         * modules/rmdir-tests: New tests.
79691         * tests/test-rmdir.c: Likewise.
79693 2009-09-15  Eric Blake  <ebb9@byu.net>
79695         fchdir: improve use of replacement functions
79696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
79697         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
79698         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
79699         REPLACE_CLOSEDIR.
79700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
79701         * modules/sys_stat (Makefile.am): Substitute correct witness.
79702         * modules/dirent (Makefile.am): Likewise.
79703         * modules/unistd (Makefile.am): Likewise.
79704         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
79705         * lib/unistd.in.h (dup): Likewise.
79706         * lib/sys_stat.in.h (fstat): Likewise.
79708         maint: ignore gnulib-tool temp files
79709         * .gitignore: Ignore files created during gnulib-tool --test.
79711 2009-09-13  Jim Meyering  <meyering@redhat.com>
79713         posixtm: don't reject a time that specify "60" as the number of seconds
79714         * lib/posixtm.c (posixtime): The code to reject invalid dates
79715         would also reject a time specified with the .60 suffix.
79716         But POSIX allows that, in order to accommodate leap seconds.
79717         So don't reject it.
79718         (main): Adjust tests accordingly.
79719         * modules/posixtm (Depends-on): Add stpcpy.
79721 2009-09-11  Jim Meyering  <meyering@redhat.com>
79723         announce-gen: include [$release_type] in emitted Subject:
79724         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
79725         e.g., [stable] in the emitted Subject: line.
79727 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79729         Remove obsolete macros from several modules.
79730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
79731         obsolete Autoconf macros with their modern counterparts.
79732         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
79733         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
79734         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
79735         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
79736         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
79737         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
79738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
79739         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
79740         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
79741         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
79742         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
79743         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
79744         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
79745         * m4/sockets.m4 (gl_SOCKETS): Likewise.
79746         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
79747         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
79748         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
79749         * m4/time_r.m4 (gl_TIME_R): Likewise.
79750         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
79751         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
79752         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
79754         Fix copyright header in build-aux scripts.
79755         * build-aux/git-version-gen: Fix copyright header to match GPLv3
79756         recommendation.
79757         * build-aux/ncftpput-ftp: Likewise.
79758         * build-aux/update-copyright: Likewise.
79760 2009-09-09  Eric Blake  <ebb9@byu.net>
79762         test-link: allow Linux choice of errno
79763         * tests/test-link.c (main): Relax test for alternate error.
79765         strndup: fix improper m4 caching
79766         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
79767         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
79768         (gl_PREREQ_STRNDUP): Delete.
79769         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
79770         * modules/string (Makefile.am): Substitute it.
79771         * lib/string.in.h (strndup): Modernize prototype.
79773         getcwd: port to mingw
79774         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
79775         different from the POSIX assumptions made throughout the getcwd
79776         module; fortunately, the mingw getcwd does not need replacement.
79777         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
79778         * modules/getcwd-tests: New test.
79779         * tests/test-getcwd.c: Likewise.
79781         link: fix platform bugs
79782         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
79783         * lib/link.c (link): Work around them.  Fix related mingw bug.
79784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
79785         * modules/unistd (Makefile.am): Substitute it.
79786         * lib/unistd.in.h (link): Declare replacement.
79787         * doc/posix-functions/link.texi (link): Document this.
79788         * modules/link (Depends-on): Add strdup-posix, sys_stat.
79790         test-link: consolidate into single C program, test more cases
79791         * tests/test-link.sh: Delete.
79792         * tests/test-link.c: Test more error conditions.  Exposes bugs on
79793         at least Cygwin and Solaris.
79794         * modules/link-tests (Files): Remove unused file.
79795         (Depends-on): Add errno, sys_stat.
79796         (Makefile.am): Simplify.
79798 2009-09-08  Bruno Haible  <bruno@clisp.org>
79800         Work around towlower, towupper bug on mingw.
79801         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
79802         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
79803         * doc/posix-functions/towlower.texi: Mention the mingw bug.
79804         * doc/posix-functions/towupper.texi: Likewise.
79805         Reported by Eric Blake.
79807 2009-09-08  Jim Meyering  <meyering@redhat.com>
79809         build: don't try to run autoheader if we don't use it
79810         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
79811         is not used in configure.ac.
79813 2009-09-08  Eric Blake  <ebb9@byu.net>
79815         euidaccess: fix compilation error
79816         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
79818         rawmemchr: relax license
79819         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
79820         okay.
79821         Reported by Jim Meyering.
79823         mkfifoat: new module
79824         * modules/mkfifoat: New file.
79825         * lib/mkfifoat.c: Likewise.
79826         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
79827         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79828         * modules/sys_stat (Makefile.am): Use them.
79829         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
79830         * MODULES.html.sh (File system functions): Mention module.
79831         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79832         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79833         * modules/mkfifoat-tests: New test.
79834         * tests/test-mkfifoat.c: Likewise.
79836         strchrnul: relax license
79837         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
79838         okay.
79839         Reported by Jim Meyering.
79841 2009-09-08  Eric Blake  <ebb9@byu.net>
79843         fstatat: fix compilation on Solaris
79844         * lib/fstatat.c (includes): Add fcntl.h.
79845         Reported by Pádraig Brady.
79847 2009-09-07  Eric Blake  <ebb9@byu.net>
79849         rename: modernize replacement
79850         * modules/rename (Depends-on): Add stdio.
79851         (configure.ac): Declare witness.
79852         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
79853         stdio take care of replacement.
79854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
79855         * modules/stdio (Makefile.am): Substitute them.
79856         * lib/stdio.in.h (rename): Declare replacement.
79857         * lib/rename.c (includes): Allow cross-compilation to non-windows
79858         machines.
79859         * doc/posix-functions/rename.texi (rename): Improve
79860         documentation.
79862         stdio: sort witness names
79863         * modules/stdio (Makefile.am): Sort replacements.
79864         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
79865         * lib/stdio.in.h: Likewise.
79867         getcwd: minor cleanups
79868         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
79869         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
79871         openat: provide more convenience names
79872         * modules/faccessat (configure.ac): Add C witness.
79873         * lib/unistd.in.h (readlinkat): Fix typo.
79874         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
79875         convenience wrappers.
79876         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
79877         wrappers in syntax checks.
79879 2009-09-06  Eric Blake  <ebb9@byu.net>
79881         doc: fix comments in recent patches
79882         * lib/faccessat.c: Mention correct function.
79883         * lib/fchmodat.c: Likewise.
79884         * lib/fchownat.c: Likewise.
79885         * lib/symlinkat.c: Likewise.
79886         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
79887         constants.
79889         faccessat, symlinkat: continue cleanup of previous patch
79890         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
79891         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
79892         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
79893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
79894         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
79895         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
79896         set.
79898 2009-09-06  Bruno Haible  <bruno@clisp.org>
79900         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
79901         (fstatat): Declare if GNULIB_FSTATAT is set.
79902         (mkdirat): Declare if GNULIB_MKDIRAT is set.
79903         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
79904         (unlinkat): Declare if GNULIB_UNLINKAT is set.
79905         * modules/fcntl-h (Files): Remove m4/openat.m4.
79906         * modules/sys_stat (Files): Remove m4/openat.m4.
79907         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
79908         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
79909         * modules/unistd (Files): Remove m4/openat.m4.
79910         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
79911         GNULIB_OPENAT.
79912         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
79913         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
79914         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
79915         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
79916         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
79917         gl_OPENAT_DEFAULTS.
79918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
79919         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
79920         Don't require gl_OPENAT_DEFAULTS.
79921         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
79922         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
79923         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
79924         (gl_OPENAT_DEFAULTS): Remove macro.
79926 2009-09-06  Bruno Haible  <bruno@clisp.org>
79928         * modules/openat (configure.ac): Remove unneeded witness.
79930 2009-09-06  Bruno Haible  <bruno@clisp.org>
79932         Set errno to ENOSYS when a function is entirely unsupported.
79933         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
79934         EOPNOTSUPP.
79935         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
79936         * modules/chown (Depends-on): Remove errno.
79938 2009-09-06  Bruno Haible  <bruno@clisp.org>
79940         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
79942 2009-09-06  Bruno Haible  <bruno@clisp.org>
79944         * lib/sys_stat.in.h: Fix preprocessor command indentation.
79946 2009-09-06  Ben Pfaff  <blp@gnu.org>
79947             Bruno Haible  <bruno@clisp.org>
79949         Work around a glibc bug in strtok_r.
79950         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
79951         Undefine if UNDEFINE_STRTOK_R is set.
79952         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
79953         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79954         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
79955         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
79956         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
79957         UNDEFINE_STRTOK_R.
79958         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
79960 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
79962         exclude: minor fix
79963         * lib/exclude.c: Include wctype.h
79965 2009-09-06  Akim Demaille  <demaille@gostai.com>
79967         bootstrap: improve error message
79968         * build-aux/bootstrap (find_tool): Upon failure, report the list
79969         of candidates.
79970         Honor the initial value of the envvar.
79972 2009-09-05  Eric Blake  <ebb9@byu.net>
79974         symlinkat: new module
79975         * modules/symlinkat: New file.
79976         * lib/symlinkat.c: Likewise.
79977         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
79978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79979         * modules/unistd (Makefile.am): Use them.
79980         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
79981         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
79982         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
79983         * MODULES.html.sh (File system functions): Mention module.
79984         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79985         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79986         * modules/symlinkat-tests: New test.
79987         * tests/test-symlinkat.c: Likewise.
79989         test-openat-safer: add more checks
79990         * tests/test-openat-safer.c (main): Check more code paths.
79992 2009-09-05  Jim Meyering  <meyering@redhat.com>
79994         syntax-check: detect unnecessary inclusion of openat.h
79995         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
79997 2009-09-05  Bruno Haible  <bruno@clisp.org>
79999         Support towlower, towupper.
80000         * doc/posix-functions/towlower.texi: Mention module wctype.
80001         * doc/posix-functions/towupper.texi: Likewise.
80002         * lib/wctype.in.h (towlower, towupper): New functions.
80003         * tests/test-wctype.c: Include stdio.h, stdlib.h.
80004         (ASSERT): New macro.
80005         (e): New variable.
80006         (main): Test also towlower, towupper. Test WEOF argument.
80007         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
80009 2009-09-05  Bruno Haible  <bruno@clisp.org>
80011         Fix conversion behaviour when the input is invalid.
80012         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
80013         mark occurring in first pass of indirect conversion.
80014         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
80015         input.
80016         Found by clang's static analyzer.
80018 2009-09-05  Bruno Haible  <bruno@clisp.org>
80020         * tests/test-striconveh.c (main): Test indirect conversion on platforms
80021         where direct conversion is possible.
80023 2009-09-04  Eric Blake  <ebb9@byu.net>
80025         openat: fail with ENOENT on empty name
80026         * lib/openat-proc.c (openat_proc_name): Special-case the empty
80027         buffer.
80029         link-follow: fix logic bug in prior patch
80030         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
80031         reversed sense of yes and no in prior patch.  Avoid confusing
80032         compilation failure with desired semantics.
80034         link-follow: accommodate mingw and cross-compilation
80035         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
80036         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
80037         cross-compilation results to -1, to make linkat easier to
80038         implement when cross-compiling.  Trivially support mingw.
80039         * modules/link-follow (configure.ac): Call new name.
80040         * NEWS: Mention this.
80042 2009-09-03  Eric Blake  <ebb9@byu.net>
80044         faccessat: compile replacement
80045         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
80046         needed.
80048         fts: fix compilation error
80049         * lib/fts.c (includes): Re-add "openat.h", for
80050         openat_needs_fchdir.
80052         faccessat: new module
80053         * modules/faccessat: New file.
80054         * lib/faccessat.c: Likewise.
80055         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80057         * modules/unistd (Makefile.am): Use it.
80058         * lib/unistd.in.h (faccessat): Declare it.
80059         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
80060         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
80061         * MODULES.html.sh (File system functions): Mention it.
80062         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
80063         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
80065         euidaccess: prefer POSIX over non-standard implementation
80066         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
80067         * lib/euidaccess.c (euidaccess): Use it if available.
80069         openat: make template easier to use
80070         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
80071         AT_FUNC_F2 to be undefined.
80072         (VALIDATE_FLAG): New macro; use it to reject bad flags.
80073         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
80074         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
80075         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
80076         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
80077         Likewise.
80078         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
80079         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
80080         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
80081         Likewise.
80083         openat: declare in POSIX headers
80084         * NEWS: Mention this.
80085         * modules/openat (configure.ac): Declare witnesses.
80086         (Depends-on): Add fcntl-h, sys_stat, unistd.
80087         (Include): Mention correct headers.
80088         * modules/fcntl-h (Depends-on): Add link-warning.
80089         (Files): Add openat.m4.
80090         (Makefile.am): Substitute witnesses.
80091         * modules/sys_stat (Files, Makefile.am): Likewise.
80092         * modules/unistd (Files, Makefile.am): Likewise.
80093         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
80094         (gl_OPENAT_DEFAULTS): New macro.
80095         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
80096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
80097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
80098         (SYS_STAT_H): Remove unused variable.
80099         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
80100         * lib/fcntl--.h (includes): Remove unneeded header.
80101         * lib/openat-safer.c (includes): Likewise.
80102         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
80103         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
80104         appropriate headers.
80105         (__OPENAT_PREFIX): Delete.
80106         * lib/fcntl.in.h (openat): Provide declaration.
80107         (AT_FDCWD): Fix Solaris bug.
80108         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
80109         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
80110         * lib/fchmodat.c (includes):  Adjust to find declaration.
80111         * lib/fchownat.c (includes): Likewise.
80112         * lib/mkdirat.c (includes): Likewise.
80113         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
80114         still visible.
80116 2009-09-02  Eric Blake  <ebb9@byu.net>
80118         errno: use consistently
80119         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
80120         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
80121         * lib/canonicalize.c (ELOOP): Likewise.
80122         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
80123         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
80124         * lib/lchown.c (EOPNOTSUPP): Likewise.
80125         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
80126         * lib/savewd.c (ESTALE): Likewise.
80127         * lib/settime.c (ENOSYS): Likewise.
80128         * lib/utimens.c (ENOSYS): Likewise.
80129         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
80130         * lib/chdir-safer.c (ELOOP): Likewise.
80131         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
80132         * modules/c-stack (Depends-on): Add errno.
80133         * modules/canonicalize (Depends-on): Likewise.
80134         * modules/chdir-safer (Depends-on): Likewise.
80135         * modules/fdopendir (Depends-on): Likewise.
80136         * modules/inet_ntop (Depends-on): Likewise.
80137         * modules/inet_pton (Depends-on): Likewise.
80138         * modules/lchown (Depends-on): Likewise.
80139         * modules/openat (Depends-on): Likewise.
80140         * modules/savewd (Depends-on): Likewise.
80141         * modules/settime (Depends-on): Likewise.
80142         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
80144         fts: avoid leaking fds
80145         * modules/fts (Depends-on): Add cloexec.
80146         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
80147         flag.
80149         fts: make directory fds more robust
80150         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
80151         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
80153         backupfile, chdir-long, fts, savedir: make safer
80154         * lib/backupfile.c (includes): Use "dirent--.h", since
80155         numbered_backup can write to stderr during readdir.
80156         * lib/savedir.c (includes): Likewise.
80157         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
80158         emulation can write to stderr on failure.
80159         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
80160         * lib/getcwd.c: Document why opendir_safer is unused.
80161         * lib/glob.c: Likewise.
80162         * lib/scandir.c: Likewise.
80163         * lib/openat-proc.c: Likewise, for open_safer.
80164         * modules/backupfile (Depends-on): Add dirent-safer.
80165         * modules/savedir (Depends-on): Likewise.
80166         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
80167         * modules/chdir-long (Depends-on): Add openat-safer.
80169         openat-safer: new module
80170         * modules/openat-safer: New file.
80171         * lib/openat-safer.c: Likewise.
80172         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
80173         * lib/fcntl-safer.h (openat_safer): Declare.
80174         * lib/fcntl--.h (openat): Override.
80175         * MODULES.html.sh (File descriptor based I/O): Mention it.
80176         * lib/openat.h: Add double-inclusion guards.
80177         * lib/openat.c (includes): Only include "fcntl-safer.h", not
80178         "fcntl--.h", so we can implement openat.
80179         * modules/openat-safer-tests: New test.
80180         * tests/test-openat-safer.c: New file.
80182         dirent-safer: new module
80183         * modules/dirent-safer: New file.
80184         * lib/dirent--.h: Likewise.
80185         * lib/dirent-safer.h: Likewise.
80186         * lib/opendir-safer.c: Likewise.
80187         * m4/dirent-safer.m4: Likewise.
80188         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
80189         * modules/dirent-safer-tests: New test.
80190         * tests/test-dirent-safer.c: New file.
80191         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
80193         fdopendir: optimize on mingw
80194         * lib/unistd.in.h (_gl_directory_name): New prototype.
80195         * lib/fchdir.c (_gl_directory_name): Implement it.
80196         (fchdir): Use it to simplify implementation.
80197         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
80198         fchdir, when available, to avoid calling [f]chdir().
80200         fdopendir: split into its own module
80201         * lib/openat.c (fdopendir): Move...
80202         * lib/fdopendir.c: ...into new file.
80203         * modules/fdopendir: New module.
80204         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
80205         * modules/openat (Depends-on): Add fdopendir.
80206         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
80207         fdopendir here.
80208         * modules/savedir (Depends-on): Only need fdopendir, not full
80209         openat.
80210         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
80211         * lib/openat.h (fdopendir): Drop prototype.
80212         * lib/dirent.in.h (fdopendir): Provide prototype.
80213         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
80214         * modules/dirent (Makefile.am): Substitute them.
80215         * MODULES.html.sh (File system functions): Mention it.
80216         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
80217         * modules/fdopendir-tests: New file.
80218         * tests/test-fdopendir.c: Likewise.
80220         fchdir: use more consistent macro convention
80221         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
80222         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
80223         REPLACE_FCHDIR, rather than relying on config.h macros.
80224         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
80225         inside a single make-time REPLACE_FCHDIR block, rather than using
80226         the config.h FCHDIR_REPLACEMENT.
80227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
80228         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
80229         Manage fstat replacement.
80230         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
80231         REPLACE_FCHDIR.
80232         * modules/sys_stat (Files): Add m4/unistd_h.m4.
80233         (Makefile.am): Substitute REPLACE_FCHDIR.
80234         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
80235         FCHDIR_REPLACEMENT.
80236         * lib/dup-safer.c (dup_safer): Likewise.
80237         * lib/dup2.c (rpl_dup2): Likewise.
80238         * lib/dup3.c (rpl_dup3): Likewise.
80239         * lib/open.c (rpl_open): Likewise.
80241         fchdir: simplify error handling, and support dup3
80242         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
80243         stdbool, malloc-posix, realloc-posix.
80244         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
80245         (ensure_dirs_slot): Return false on allocation failure.
80246         (rpl_dup2): Delete.
80247         (_gl_register_dup): New function.
80248         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
80249         (_gl_register_fd): Close fd on allocation failure.
80250         * lib/fcntl.in.h (_gl_register_fd): Update signature.
80251         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
80252         prototype.
80253         (rpl_dup2_fchdir): Delete prototype.
80254         * lib/open.c (open): Update caller.
80255         * lib/dup2.c (dup2): Track fchdir metadata.
80256         * lib/dup3.c (dup3): Likewise.
80257         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
80258         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
80260 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80262         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
80263         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
80264         don't pass arguments to AC_OUTPUT.
80266 2009-09-02  Bruno Haible  <bruno@clisp.org>
80268         * modules/mkdtemp (License): Relicense under LGPLv2+.
80269         Reported by Paolo Bonzini.
80271 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80273         Replace uses of obsolete autoconf macros in Jim's modules.
80274         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
80275         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
80276         can evoke a warning from autoconf when run with -Wobsolete
80277         enabled.  They were declared obsolete for good reasons (see
80278         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
80279         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
80280         should not continue using the deprecated macros.
80281         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
80282         obsolete Autoconf macros with modern counterparts.
80283         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80284         * m4/dos.m4 (gl_AC_DOS): Likewise.
80285         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
80286         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
80287         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
80288         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
80289         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
80290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
80291         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
80292         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
80293         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
80294         Likewise.
80295         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
80296         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80297         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
80298         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
80299         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
80300         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80302 2009-09-01  Eric Blake  <ebb9@byu.net>
80304         fchdir: fix off-by-one bug in previous patch
80305         * lib/fchdir.c (rpl_fstat): Use correct bounds.
80306         (_gl_unregister_fd): Delete useless if.
80308 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
80310         maint.mk: sort the list of syntax-check rules
80311         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
80312         easier to get a sense of progress when the rules are run sequentially
80313         and take a long time.
80315 2009-09-01  Simon Josefsson  <simon@josefsson.org>
80317         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
80318         * modules/netinet_in: Likewise.
80319         * modules/sys_file: Likewise.
80320         * modules/sys_ioctl: Likewise.
80321         * modules/sys_select: Likewise.
80322         * modules/sys_socket: Likewise.
80323         * modules/sys_stat: Likewise.
80324         * modules/sys_time: Likewise.
80325         * modules/sys_times: Likewise.
80326         * modules/sys_utsname: Likewise.
80327         * modules/sys_wait: Likewise.
80329 2009-09-01  Jim Meyering  <meyering@redhat.com>
80331         fts: help ensure that return values are not ignored
80332         * lib/fts_.h (__GNUC_PREREQ): Define.
80333         (__attribute_warn_unused_result__): Define.
80334         (fts_children, fts_close, fts_open, fts_read): Declare with
80335         __attribute_warn_unused_result__.
80337         fts: fts_close now fails also when closing a dir file descriptor fails
80338         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
80339         and propagate to caller, along with errno.
80341         announce-gen: correct formatting in --help output
80342         * build-aux/announce-gen (usage): Move the one-line description in
80343         --help output "up", to where it belongs, just after Usage:.
80345 2009-08-31  Eric Blake  <ebb9@byu.net>
80347         fchdir: port to mingw
80348         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
80349         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
80350         opened, then use a substitute.
80351         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
80352         replacement.
80353         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
80354         (_gl_register_fd): No need to check stat if open already filters
80355         all directories.
80356         (fchdir): Fix error condition to match POSIX.
80357         * modules/fchdir (Depends-on): Add sys_stat.
80358         * doc/posix-functions/open.texi (open): Document the limitation.
80359         * modules/fchdir-tests: New file.
80360         * tests/test-fchdir.c: Likewise.
80362         canonicalize: allow cross-testing from cygwin to mingw
80363         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
80364         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
80365         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
80366         Likewise.
80367         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
80368         target does not support symlinks.
80369         * tests/test-canonicalize-lgpl.sh: Likewise.
80371         chown: avoid compilation warning on mingw
80372         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
80373         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
80374         mingw.
80375         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80376         * modules/chown (Depends-on): Add errno.
80378 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
80380         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
80381         command.
80383 2009-08-31  Jim Meyering  <meyering@redhat.com>
80385         canonicalize: remove useless initialization
80386         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
80387         initialization of local, "end".
80389 2009-08-30  Bruno Haible  <bruno@clisp.org>
80391         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
80392         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
80393         ENOSYS.
80395 2009-08-30  Bruno Haible  <bruno@clisp.org>
80397         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
80398         /usr/xpg4/bin/tr when it exists.
80399         * tests/test-pipe-filter-gi1.sh: Likewise.
80401 2009-08-30  Bruno Haible  <bruno@clisp.org>
80403         Work around deficient /usr/bin/id program on Solaris.
80404         * tests/test-file-has-acl.sh (ID): New variable.
80405         * tests/test-set-mode-acl.sh (ID): Likewise.
80406         * tests/test-copy-acl.sh (ID): Likewise.
80407         * tests/test-copy-file.sh (ID): Likewise.
80409 2009-08-30  Bruno Haible  <bruno@clisp.org>
80411         New module 'xstriconveh'.
80412         * lib/xstriconveh.h: New file.
80413         * lib/xstriconveh.c: New file.
80414         * modules/xstriconveh: New file.
80416 2009-08-30  Bruno Haible  <bruno@clisp.org>
80418         Make it easier to use mem_cd_iconveh.
80419         * lib/striconveh.h (iconveh_t): New type.
80420         (iconveh_open, iconveh_close): New declarations.
80421         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80422         with a single 'const iconveh_t *' argument.
80423         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
80424         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80425         with a single 'const iconveh_t *' argument.
80426         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
80427         * tests/test-striconveh.c (main): Update.
80428         * NEWS: Mention the change.
80430 2009-08-30  Bruno Haible  <bruno@clisp.org>
80432         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
80433         problem.
80435 2009-08-30  Bruno Haible  <bruno@clisp.org>
80437         Work around iconv_open problem on Solaris.
80438         * lib/iconv_open-solaris.gperf: New file.
80439         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
80440         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
80441         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
80442         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
80443         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
80444         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
80446 2009-08-29  Jim Meyering  <meyering@redhat.com>
80448         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
80449         * top/maint.mk (cvs-check): Remove target; it was just an alias
80450         to the better-named vc-diff-check.
80451         (maintainer-distcheck): Remove rule.  It was used only from
80452         the (alpha/beta/major) target, and all of its commands but one
80453         were coreutils-specific.
80454         (vc-dist): Remove rule.
80455         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
80456         Run vc-diff-check, not vc-dist.
80457         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
80459 2009-08-27  Bruno Haible  <bruno@clisp.org>
80461         * tests/test-bitrotate.c (main): Remove test that uses a shift count
80462         of 0.
80464 2009-08-27  Bruno Haible  <bruno@clisp.org>
80466         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
80467         compilers.
80468         * doc/func.texi: Document the SunPRO C bug.
80470 2009-08-27  Bruno Haible  <bruno@clisp.org>
80472         Fix link error on Solaris.
80473         * tests/test-parse-duration.c (xstrdup): Remove function.
80475 2009-08-26  Pádraig Brady  <P@draigbrady.com>
80477         ignore-value: handle pointer types, too
80478         * lib/ignore-value.h (__attribute__): Remove definition.
80479         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
80480         of a more concise and more-often effective "(void) i" statement.
80481         (ignore_ptr): New function to suppress warnings from functions that
80482         return pointers, and to make it explicit that one function doesn't
80483         handle all cases.
80485 2009-08-25  Bruno Haible  <bruno@clisp.org>
80487         dup2: work around a Linux bug.
80488         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
80489         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
80490         * doc/posix-functions/dup2.texi: Mention the Linux bug.
80491         Reported by Simon Josefsson.
80493 2009-08-25  Jim Meyering  <meyering@redhat.com>
80495         libguestfs uses gnulib
80496         * users.txt: Add libguestfs.
80498 2009-08-24  Eric Blake  <ebb9@byu.net>
80500         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
80501         * lib/pipe2.c (includes): Add binary-io.h.
80502         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
80504 2009-08-24  Bruno Haible  <bruno@clisp.org>
80506         Tolerate declared but missing accept4 syscall.
80507         * lib/accept4.c (accept4): Invoke original accept4 function first, if
80508         available.
80509         * lib/sys_socket.in.h (accept4): If the function is already present,
80510         override it.
80511         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
80512         * modules/accept4 (Makefile.am): Compile accept4.c always.
80513         Reported by Paolo Bonzini and Eric Blake.
80515 2009-08-23  Bruno Haible  <bruno@clisp.org>
80517         New module 'accept4'.
80518         * lib/sys_socket.in.h (accept4): New declaration.
80519         * lib/accept4.c: New file.
80520         * m4/accept4.m4: New file.
80521         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
80522         GNULIB_ACCEPT4, HAVE_ACCEPT4.
80523         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
80524         HAVE_ACCEPT4.
80525         * modules/accept4: New file.
80526         * doc/glibc-functions/accept4.texi: Mention the new module.
80528 2009-08-24  Jim Meyering  <meyering@redhat.com>
80530         progname: also set global program_invocation_name, when possible
80531         Before this change, a libtool-enabled program that calls glibc's
80532         error function would report the program name as
80533         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
80534         * modules/progname (configure.ac): Check for a declaration of
80535         program_invocation_name.
80536         * lib/progname.c:  Include <errno.h>.
80537         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
80538         Set program_invocation_name.
80540 2009-08-23  Bruno Haible  <bruno@clisp.org>
80542         * lib/dup3.c: Include <string.h>.
80544 2009-08-23  Bruno Haible  <bruno@clisp.org>
80546         * lib/dup3.c (dup3): Test only once whether the system actually exists.
80547         * lib/pipe2.c (pipe2): Likewise.
80548         Suggested by Eric Blake.
80550 2009-08-23  Bruno Haible  <bruno@clisp.org>
80552         Tolerate declared but missing dup3 syscall.
80553         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
80554         * lib/unistd.in.h (dup3): If the function is already present,
80555         override it.
80556         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
80557         * modules/dup3 (Makefile.am): Compile dup3.c always.
80558         Reported by Paolo Bonzini.
80560 2009-08-23  Bruno Haible  <bruno@clisp.org>
80562         Tolerate declared but missing pipe2 syscall.
80563         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
80564         available.
80565         * lib/unistd.in.h (pipe2): If the function is already present,
80566         override it.
80567         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
80568         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
80569         Reported by Paolo Bonzini.
80571 2009-08-23  Bruno Haible  <bruno@clisp.org>
80573         * lib/pipe2.c (pipe2): Move #ifs inside function.
80575 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80577         quotearg: document limitations of quote_these_too
80578         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
80579         those limitations are created.
80580         * lib/quotearg.h (set_char_quoting): Document that digits and
80581         letters that are special after backslash are not permitted.
80582         (quotearg_char): Cross-reference set_char_quoting documentation.
80584 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
80586         quotearg: implement custom_quoting_style
80587         * lib/quotearg.c: (struct quoting_options): Add left_quote and
80588         right_quote fields.
80589         (set_custom_quoting): New public function.
80590         (quotearg_buffer_restyled): Add left_quote and right_quote
80591         arguments, handle them very much like locale quoting, and update
80592         all uses.
80593         (quotearg_n_custom): New public function.
80594         (quotearg_n_custom_mem): New public function.
80595         (quotearg_custom): New public function.
80596         (quotearg_custom_mem): New public function.
80597         * lib/quotearg.h: Prototype and document new public functions.
80598         (enum quoting_style): For escape_quoting_style and
80599         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
80600         ignored even though they're otherwise like c_quoting_style.
80601         Add custom_quoting_style member and document with comparison to
80602         clocale_quoting_style.
80603         * tests/test-quotearg.c (custom_quotes): New array.
80604         (custom_results): New array.
80605         (main): Extend to test custom quoting.
80607 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80609         quotearg: fix right quote escaping when it's in quote_these_too
80610         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
80611         quote, be sure to prepend only one backslash.
80612         * tests/test-quotearg.c (use_quote_double_quotes): New function.
80613         (main): Test it.
80615 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
80617         quotearg-tests: test escaping of embedded locale quotes
80618         * tests/test-quotearg.c (struct result_strings): Add member for
80619         new input.
80620         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
80621         (inputs): Add new input.
80622         (results_g): Add expected results.
80623         (flag_results): Likewise.
80624         (locale_results): Likewise.
80625         (compare_strings): Check those.
80627 2009-08-23  Bruno Haible  <bruno@clisp.org>
80629         Tests for module 'dup3'.
80630         * modules/dup3-tests: New file.
80631         * tests/test-dup3.c: New file.
80633         New module 'dup3'.
80634         * lib/unistd.in.h (dup3): New declaration.
80635         * lib/dup3.c: New file.
80636         * m4/dup3.m4: New file.
80637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
80638         HAVE_DUP3.
80639         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
80640         * modules/dup3: New file.
80641         * doc/glibc-functions/dup3.texi: Mention the new module.
80643 2009-08-23  Bruno Haible  <bruno@clisp.org>
80645         Tweak the dup2 test.
80646         * tests/test-dup2.c (main): Create the test file empty. Verify that an
80647         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
80648         the test file is still empty. Fix argument order of lseek.
80650 2009-08-23  Bruno Haible  <bruno@clisp.org>
80652         Avoid test link errors when the modules getopt-gnu, gettext are used.
80653         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
80654         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
80656 2009-08-23  Bruno Haible  <bruno@clisp.org>
80658         Fix getdtablesize() on mingw.
80659         * lib/getdtablesize.c (getdtablesize): Implement differently.
80660         * lib/unistd.in.h (getdtablesize): Improve comment.
80662 2009-08-23  Bruno Haible  <bruno@clisp.org>
80664         New module 'mkostemp'.
80665         Based on Ulrich Drepper's 2007-08-10 change in glibc.
80666         * lib/stdlib.in.h (mksotemp): New declaration.
80667         * lib/mkostemp.c: New file, from glibc with modifications.
80668         * lib/tempname.h (GT_FILE): Remove outdated comment.
80669         (gen_tempname): Add flags argument.
80670         * lib/tempname.c (__GT_BIGFILE): Remove macro.
80671         (__GT_FILE): Map to 1.
80672         (small_open, large_open): Remove macros.
80673         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
80674         * lib/mkstemp.c (mkstemp): Update.
80675         * lib/mkdtemp.c (mkdtemp): Likewise.
80676         * m4/mkostemp.m4: New file.
80677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
80678         HAVE_MKOSTEMP.
80679         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
80680         HAVE_MKOSTEMP.
80681         * modules/mkostemp: New file, based on modules/mkstemp.
80682         * doc/glibc-functions/mkostemp.texi: Mention the new module.
80683         * NEWS: Mention the change.
80685 2009-08-23  Bruno Haible  <bruno@clisp.org>
80687         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
80688         Reported by Eric Blake.
80690 2009-08-23  Bruno Haible  <bruno@clisp.org>
80692         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
80693         Reported by Eric Blake.
80695 2009-08-23  Bruno Haible  <bruno@clisp.org>
80697         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
80698         * modules/pipe2 (Depends-on): Likewise.
80700 2009-08-23  Eric Blake  <ebb9@byu.net>
80702         fcntl-h: add O_TTY_INIT support
80703         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
80704         * tests/test-fcntl-h.c (o): Test it.
80705         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
80707         fcntl-h: rename from fcntl, in preparation for fcntl(2)
80708         * modules/fcntl: Move <fcntl.h> header replacement...
80709         * modules/fcntl-h: ...to new name, so as not to collide with
80710         like-named function.
80711         * tests/test-fcntl.c: Rename...
80712         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
80713         * modules/fcntl-tests: Rename...
80714         * modules/fcntl-h-tests: ...to this.  Update test file name.
80715         * modules/chdir-long (Depends-on): Update clients.
80716         * modules/chdir-safer (Depends-on): Likewise.
80717         * modules/fcntl-safer (Depends-on): Likewise.
80718         * modules/fts (Depends-on): Likewise.
80719         * modules/mkancesdirs (Depends-on): Likewise.
80720         * modules/mkdir-p (Depends-on): Likewise.
80721         * modules/open (Depends-on): Likewise.
80722         * modules/savewd (Depends-on): Likewise.
80723         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
80724         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
80726 2009-08-22  Bruno Haible  <bruno@clisp.org>
80728         * modules/binary-io (License): Relicense under LGPL.
80729         * modules/pipe2 (License): Likewise.
80731 2009-08-22  Bruno Haible  <bruno@clisp.org>
80733         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
80734         return value.
80735         * lib/pipe-filter-gi.c (filter_init): Likewise.
80736         Reported by Eric Blake.
80738 2009-08-22  Bruno Haible  <bruno@clisp.org>
80740         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
80741         * modules/pipe (Depends-on): Add pipe2.
80743 2009-08-22  Bruno Haible  <bruno@clisp.org>
80745         Tests for module 'pipe2'.
80746         * modules/pipe2-tests: New file.
80747         * tests/test-pipe2.c: New file.
80749         New module 'pipe2'.
80750         * lib/unistd.in.h (pipe2): New declaration.
80751         * lib/pipe2.c: New file.
80752         * m4/pipe2.m4: New file.
80753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
80754         HAVE_PIPE2.
80755         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
80756         * modules/pipe2: New file.
80757         * doc/glibc-functions/pipe2.texi: Mention the new module.
80759 2009-08-22  Bruno Haible  <bruno@clisp.org>
80761         Reference some new glibc functions.
80762         * doc/glibc-functions/accept4.texi: New file.
80763         * doc/glibc-functions/dup3.texi: New file.
80764         * doc/glibc-functions/mkostemp.texi: New file.
80765         * doc/glibc-functions/pipe2.texi: New file.
80766         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
80767         (Glibc sys/socket.h): Refer to accept4.
80768         (Glibc unistd.h): Refer to dup3, pipe2.
80769         Reported by Eric Blake.
80771 2009-08-22  Jim Meyering  <meyering@redhat.com>
80772             Bruno Haible  <bruno@clisp.org>
80774         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
80775         This makes it so packages using automake-1.11's silent-rules option
80776         can print e.g., a single "GEN    configmake.h" line, rather than
80777         the 30+ statements that perform the job.  If you want to see the
80778         actual commands, you can still run "make V=1".
80779         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
80780         so that make output is abbreviated when those variables are defined
80781         appropriately.
80782         * modules/argz: Likewise.
80783         * modules/arpa_inet: Likewise.
80784         * modules/byteswap: Likewise.
80785         * modules/configmake: Likewise.
80786         * modules/dirent: Likewise.
80787         * modules/errno: Likewise.
80788         * modules/fcntl: Likewise.
80789         * modules/float: Likewise.
80790         * modules/fnmatch: Likewise.
80791         * modules/getopt-posix: Likewise.
80792         * modules/glob: Likewise.
80793         * modules/iconv_open: Likewise.
80794         * modules/inttypes: Likewise.
80795         * modules/localcharset: Likewise.
80796         * modules/locale: Likewise.
80797         * modules/math: Likewise.
80798         * modules/netdb: Likewise.
80799         * modules/netinet_in: Likewise.
80800         * modules/poll: Likewise.
80801         * modules/posix_spawnp-tests: Likewise.
80802         * modules/sched: Likewise.
80803         * modules/search: Likewise.
80804         * modules/selinux-h: Likewise.
80805         * modules/signal: Likewise.
80806         * modules/spawn: Likewise.
80807         * modules/stdarg: Likewise.
80808         * modules/stdbool: Likewise.
80809         * modules/stddef: Likewise.
80810         * modules/stdint: Likewise.
80811         * modules/stdio: Likewise.
80812         * modules/stdlib: Likewise.
80813         * modules/string: Likewise.
80814         * modules/strings: Likewise.
80815         * modules/sys_file: Likewise.
80816         * modules/sys_ioctl: Likewise.
80817         * modules/sys_select: Likewise.
80818         * modules/sys_socket: Likewise.
80819         * modules/sys_stat: Likewise.
80820         * modules/sys_time: Likewise.
80821         * modules/sys_times: Likewise.
80822         * modules/sys_utsname: Likewise.
80823         * modules/sys_wait: Likewise.
80824         * modules/sysexits: Likewise.
80825         * modules/time: Likewise.
80826         * modules/unistd: Likewise.
80827         * modules/wchar: Likewise.
80828         * modules/wctype: Likewise.
80830 2009-08-22  Jim Meyering  <meyering@redhat.com>
80832         announce-gen: detect write failure
80833         * build-aux/announce-gen: Add Coda at end.
80834         Remove equivalent-but-more-verbose block at top.
80836 2009-08-19  Akim Demaille  <demaille@gostai.com>
80838         bootstrap: --help to stdout.
80839         * bootstrap (usage): Don't send --help to stderr.
80840         Use a here doc instead of a long string.
80842 2009-08-21  Eric Blake  <ebb9@byu.net>
80844         test-popen-safer: split from test-popen
80845         * tests/test-popen.c (main): Move...
80846         * tests/test-popen.h: ...into new file.
80847         * tests/test-popen-safer2.c: New file.
80848         * modules/popen-tests (Files): Add test-popen.h.
80849         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
80850         Suggested by Bruno Haible.
80852         test-fcntl-safer: split from test-open
80853         * tests/test-open.c (main): Move...
80854         * tests/test-open.h: ...into new file.
80855         * tests/test-fcntl-safer.c: New file.
80856         * modules/open-tests (Files): Add test-open.h.
80857         * modules/fcntl-safer-tests: New file.
80858         Suggested by Bruno Haible.
80860         test-fopen-safer: split from test-fopen
80861         * tests/test-fopen.c (main): Move...
80862         * tests/test-fopen.h: ...into new file.
80863         * tests/test-fopen-safer.c: New file.
80864         * modules/fopen-tests (Files): Add test-fopen.h.
80865         * modules/fopen-safer-tests: New file.
80866         Suggested by Bruno Haible.
80868 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
80870         popen-safer: test O_CLOEXEC at run-time.
80871         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
80873 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
80875         fcntl: move more flags to the header
80876         * lib/cloexec.c: Do not define FD_CLOEXEC here.
80877         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
80878         * lib/fcntl.in.h: Do both things here.
80880 2009-08-21  Jim Meyering  <meyering@redhat.com>
80882         consistently remove $@-t before redirecting to it
80883         * modules/argz: Remove $@-t and $@ before redirecting to the former.
80884         * modules/alloca-opt: Likewise.
80885         * modules/byteswap: Likewise.
80886         * modules/fnmatch: Likewise.
80887         * modules/getopt-posix: Likewise.
80888         * modules/glob: Likewise.
80889         * modules/poll: Likewise.
80890         * modules/posix_spawnp-tests: Likewise.
80891         * modules/sys_socket: Likewise.
80892         * modules/sysexits: Likewise.
80894 2009-08-21  Eric Blake  <ebb9@byu.net>
80896         popen: simplify access to original popen
80897         * lib/popen.c (rpl_popen): No need to worry about popen being a
80898         macro.
80899         Reported by Bruno Haible.
80901 2009-08-20  Eric Blake  <ebb9@byu.net>
80903         build: avoid some compiler warnings
80904         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
80905         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
80906         type.
80907         (new_exclude_segment, excluded_file_pattern_p)
80908         (excluded_file_name_p): Reduce scope.
80909         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
80910         old-style declaration.
80912 2009-08-20  Simon Josefsson  <simon@josefsson.org>
80914         * tests/test-exclude1.sh: Handle Windows EOL.
80915         * tests/test-exclude2.sh: Likewise.
80916         * tests/test-exclude3.sh: Likewise.
80917         * tests/test-exclude4.sh: Likewise.
80918         * tests/test-exclude5.sh: Likewise.
80919         * tests/test-exclude6.sh: Likewise.
80920         * tests/test-exclude7.sh: Likewise.
80922 2009-08-19  Akim Demaille  <demaille@gostai.com>
80924         bootstrap: find sha1sum when named gsha1sum.
80925         * bootstrap (find_tool): New.
80926         ($SHA1SUM): New.
80927         Use it.
80929 2009-08-20  Jim Meyering  <meyering@redhat.com>
80931         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
80932         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
80933         expression that converts "." in a file name to "\." in the resulting
80934         regexp.  Start with a dummy statement, so that prior shell variable
80935         definitions are expanded portably.  Reported by Simon Josefsson.
80937 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
80939         Fix polling for writeability of a screen buffer.
80940         * lib/poll.c: Distinguish input and screen buffers for the
80941         Win32 implementation.
80942         * lib/select.c: Likewise.
80944 2009-08-19  Eric Blake  <ebb9@byu.net>
80946         popen-safer: prevent popen from clobbering std descriptors
80947         * modules/popen-safer: New file.
80948         * lib/popen-safer.c: Likewise.
80949         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
80950         * lib/stdio--.h (popen): Provide override.
80951         * lib/stdio-safer.h (popen_safer): Provide declaration.
80952         * tests/test-popen.c (includes): Partially test this.
80953         * modules/popen-safer-tests: New file, for more tests.
80954         * tests/test-popen-safer.c: Likewise.
80955         * MODULES.html.sh (file stream based Input/Output): Mention it.
80957         tests: test some of the *-safer modules
80958         * modules/fopen-safer (Depends-on): Add fopen.
80959         * modules/fcntl-safer (Depends-on): Add fcntl.
80960         * modules/stdlib-safer (Depends-on): Add stdlib.
80961         (configure.ac): Set indicator.
80962         * modules/unistd-safer (configure.ac): Likewise.
80963         * modules/tmpfile-safer (configure.ac): Likewise.
80964         (Depends-on): Add tmpfile.
80965         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
80966         active.
80967         * tests/test-fopen.c (includes): Test safer versions when they are
80968         in use.
80969         * tests/test-open.c (includes): Likewise.
80971         popen: fix cygwin 1.5 bug when stdin closed
80972         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
80973         * modules/popen: New file.
80974         * modules/popen-tests: Likewise.
80975         * tests/test-popen.c: Likewise.
80976         * m4/popen.m4: Likewise.
80977         * lib/popen.c: Likewise.
80978         * lib/stdio.in.h (popen): New declaration.
80979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
80980         * modules/stdio (Makefile.am): Likewise.
80981         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
80983 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
80985         maint.mk: give full control over update-copyright exclusions
80986         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
80987         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
80988         (update-copyright): Don't force inclusion of top-level
80989         ChangeLog.  Don't force exclusion of all COPYING files, but make
80990         them the default exclusion instead.
80992 2009-08-16  Bruno Haible  <bruno@clisp.org>
80994         Fix test failures on Solaris 10.
80995         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
80996         tests when Solaris iconv() is used.
80997         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
80998         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
80999         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
81000         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
81001         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
81003 2009-08-16  Bruno Haible  <bruno@clisp.org>
81005         Fix test failures on Solaris 10.
81006         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
81007         'tr' program and pass it as first argument.
81008         * tests/test-pipe-filter-gi1.sh: Likewise.
81009         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
81010         program as first argument.
81011         * tests/test-pipe-filter-gi1.c (main): Likewise.
81013 2009-08-16  Eric Blake  <ebb9@byu.net>
81015         fpurge: fix previous commits
81016         * modules/fpurge (Makefile.am): Make replacement conditional,
81017         partially reverting 2007-04-29 change; missed in previous
81018         attempt.
81019         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
81020         is missing.
81022 2009-08-16  Bruno Haible  <bruno@clisp.org>
81024         Clarify fpurge's effect on the file position.
81025         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
81026         * tests/test-fpurge.c (main): Make a second pass for checking the file
81027         position.
81029 2009-08-16  Bruno Haible  <bruno@clisp.org>
81031         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
81032         declaration of fpurge is missing.
81033         * tests/test-fpurge.c (main): Check that the file has not more contents
81034         than expected. Close the file before removing it.
81036 2009-08-15  Eric Blake  <ebb9@byu.net>
81038         fpurge: don't wrap working cygwin implementation
81039         * lib/fpurge.c (fpurge): Fix comment typo.
81040         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
81041         1.7 to avoid replacement.
81042         * tests/test-fpurge.c (main): Enhance test.
81044 2009-08-15  Eric Blake  <ebb9@byu.net>
81045         and Jim Meyering  <meyering@redhat.com>
81047         test-update-copyright: skip if perl is insufficient
81048         * tests/test-update-copyright.sh: Failure to run maintainer tool
81049         should not cause testsuite failure on cygwin 1.5.
81051 2009-08-14  Eric Blake  <ebb9@byu.net>
81053         doc: mention more functions added in cygwin 1.7.0
81054         * doc/posix-headers/limits.texi (limits.h): Update for recent
81055         cygwin additions.
81056         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
81057         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
81058         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
81059         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
81060         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
81062 2009-08-14  Eric Blake  <ebb9@byu.net>
81064         maint.mk: simplify update-copyright rule
81065         * top/maint.mk (update-copyright-local): Delete, and document how
81066         to do it in cfg.mk instead.
81067         (update-copyright-exclude-regexp): Delete, and document how to do
81068         it in .x-update-copyright instead.
81069         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
81070         exclude ChangeLog.
81072 2009-08-14  Bruno Haible  <bruno@clisp.org>
81074         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
81076 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81078         maint.mk: support update-copyright-env
81079         * top/maint.mk (update-copyright-env): Define place-holder.
81080         (update-copyright): Expand $(update-copyright-env) before
81081         invoking update-copyright.
81083 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81085         update-copyright: implement forced reformatting
81086         * build-aux/update-copyright: Implement and document
81087         UPDATE_COPYRIGHT_FORCE.
81088         * tests/test-update-copyright.sh: Test it.
81090 2009-08-14  Eric Blake  <ebb9@byu.net>
81091         and Bruno Haible  <bruno@clisp.org>
81093         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
81094         * tests/test-locale.c: Revert previous patch related to NULL.
81095         * tests/test-stdio.c: Likewise.
81096         * tests/test-stdlib.c: Likewise.
81097         * tests/test-string.c: Likewise.
81098         * tests/test-unistd.c: Likewise.
81099         * modules/time-tests (Depends-on): Add verify.
81100         * modules/wchar-tests (Depends-on): Likewise.
81101         * tests/test-time.c: Test for NULL compliance.
81102         * tests/test-wchar.c: Likewise.
81103         * modules/locale (Depends-on): Add stddef.
81104         * modules/stdio (Depends-on): Likewise.
81105         * modules/stdlib (Depends-on): Likewise.
81106         * modules/string (Depends-on): Likewise.
81107         * modules/time (Depends-on): Likewise.
81108         * modules/unistd (Depends-on): Likewise.
81109         * modules/wchar (Depends-on): Likewise.
81110         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
81111         * lib/stdlib.in.h (includes): Likewise.
81112         * lib/string.in.h (includes): Likewise.
81113         * lib/time.in.h (includes): Likewise.
81114         * lib/unistd.in.h (includes): Likewise.
81115         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
81116         replaced.
81117         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
81118         * m4/stddef_h.m4: New file.
81119         * modules/stddef: Likewise.
81120         * lib/stddef.in.h: Likewise.
81121         * modules/stddef-tests: Likewise.
81122         * tests/test-stddef.c: Likewise.
81123         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
81124         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
81125         * doc/posix-headers/locale.texi (locale.h): Likewise.
81126         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
81127         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
81128         * doc/posix-headers/string.texi (string.h): Likewise.
81129         * doc/posix-headers/time.texi (time.h): Likewise.
81130         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
81131         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
81133 2009-08-14  Eric Blake  <ebb9@byu.net>
81135         doc: improve git diff of texinfo files
81136         * .gitattributes: Add rule for *.texi files, with hint on how to
81137         use it.
81138         Copied from m4, and based on a report by Bruno Haible.
81140 2009-08-14  Bruno Haible  <bruno@clisp.org>
81142         Disable multithread support by default on Cygwin 1.5.x for real.
81143         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
81145 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81147         update-copyright: much ado about intervals
81148         * build-aux/update-copyright: Implement and document
81149         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
81150         of copyright year intervals.
81151         Also, document UPDATE_COPYRIGHT_YEAR.
81152         * tests/test-update-copyright.sh: Test it.
81154         update-copyright: convert 2-digit to 4-digit years
81155         * build-aux/update-copyright: Implement and document.
81156         * tests/test-update-copyright.sh: Update.
81158 2009-08-14  Jim Meyering  <meyering@redhat.com>
81160         test-exclude: avoid coreutils "make check" failure
81161         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
81162         just as in test-argmatch.c.
81164 2009-08-13  Eric Blake  <ebb9@byu.net>
81166         test-dup2: fix bad assumption
81167         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
81168         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
81170         test-version-etc: fix CRLF portability issue
81171         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
81172         recognize \r.
81173         * tests/test-argp-version-etc-1.sh: Likewise.
81175         getopt: update client modules
81176         * modules/argp (Depends-on): Use getopt-gnu.
81177         * modules/git-merge-changelog (Depends-on): Likewise.
81178         * modules/long-options (Depends-on): Likewise.
81179         * modules/xstrtol (Depends-on): Likewise.
81181 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81183         * tests/test-version-etc.sh: Don't fail on different
81184         project/version.  Don't fail on CRLF differences.  Rewrite to use
81185         multiple -e instead of multiple sed forks, suggested by Eric Blake
81186         <ebb9@byu.net>.
81187         * tests/test-argp-version-etc-1.sh: Likewise.
81189 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81191         * tests/test-version-etc.sh: Don't fail on different
81192         project/version.
81194 2009-08-12  Bruno Haible  <bruno@clisp.org>
81196         Tests for modules 'getopt-posix', 'getopt-gnu'.
81197         * modules/getopt-posix-tests: New file.
81198         * tests/test-getopt.c: New file.
81199         * tests/test-getopt.h: New file.
81200         * tests/test-getopt_long.h: New file.
81202         New modules 'getopt-posix', 'getopt-gnu'.
81203         * modules/getopt-gnu: New file, renamed from modules/getopt.
81204         * modules/getopt-posix: New file.
81205         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
81206         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
81207         (gl_GETOPT): Remove macro.
81208         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
81209         Disable the test against BSD systems that declare optreset. Test
81210         against mingw bug. Test against lack of support of optional arguments
81211         on many platforms.
81212         * doc/glibc-headers/getopt.texi: Update module name and list of
81213         relevant platforms.
81214         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
81215         'getopt-gnu' and more portability problems.
81216         * NEWS: Mention the changes.
81218 2009-08-12  Bruno Haible  <bruno@clisp.org>
81220         Ensure that optarg etc. get declared by <unistd.h>.
81221         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
81222         AC_USE_SYSTEM_EXTENSIONS.
81223         * modules/getopt (Depends-on): Add 'extensions'.
81225 2009-08-12  Bruno Haible  <bruno@clisp.org>
81227         Avoid test link errors.
81228         * modules/pipe-filter-ii-tests (Makefile.am): Define
81229         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
81230         * modules/pipe-filter-gi-tests (Makefile.am): Define
81231         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
81232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81234 2009-08-12  Bruno Haible  <bruno@clisp.org>
81236         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
81237         gl_GETOPT_SUBSTITUTE before.
81238         (gl_GETOPT): Use it.
81239         * m4/argp.m4 (gl_ARGP): Update.
81240         Reported by Sergey Poznyakoff.
81242         * m4/getopt.m4: Reorder macros.
81243         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
81244         (gl_GETOPT_SUBSTITUTE): Remove macro.
81246 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81248         Minor improvement in gitlog-to-changelog
81250         * build-aux/gitlog-to-changelog: New option `--format' makes
81251         output format string configurable.
81253 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81255         Optimize exclude: use hash tables for non-wildcard patterns.
81257         * lib/exclude.c: Include hash.h and mbuiter.h
81258         (struct exclude_pattern, exclude_segment): New data types.
81259         (struct exclude): Rewrite.
81260         (fnmatch_pattern_has_wildcards): New function.
81261         (new_exclude_segment, free_exclude_segment): New functions.
81262         (excluded_file_pattern_p, excluded_file_name_p): New functions.
81263         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
81264         * lib/exclude.h (is_fnmatch_pattern): New prototype.
81265         * modules/exclude: Depend on hash and mbuiter.
81267         * modules/exclude-tests: New file.
81268         * tests/test-exclude.c: New file.
81269         * tests/test-exclude1.sh: New file.
81270         * tests/test-exclude2.sh: New file.
81271         * tests/test-exclude3.sh: New file.
81272         * tests/test-exclude4.sh: New file.
81273         * tests/test-exclude5.sh: New file.
81274         * tests/test-exclude6.sh: New file.
81275         * tests/test-exclude7.sh: New file.
81277 2009-08-12  Bruno Haible  <bruno@clisp.org>
81279         Ensure that getopt() gets declared by <unistd.h>.
81280         * lib/unistd.in.h: Conditionally include getopt.h.
81281         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
81282         Set GNULIB_UNISTD_H_GETOPT.
81283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81284         GNULIB_UNISTD_H_GETOPT.
81285         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
81287 2009-08-12  Bruno Haible  <bruno@clisp.org>
81289         Clarify logic.
81290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
81291         gl_replace_getopt instead of GETOPT_H.
81293 2009-08-12  Bruno Haible  <bruno@clisp.org>
81295         * m4/getopt.m4: Add comments.
81297 2009-08-12  Bruno Haible  <bruno@clisp.org>
81299         Disable multithread support by default on Cygwin 1.5.x.
81300         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
81301         set gl_use_threads=no if not specified otherwise.
81303 2009-08-11  Bruno Haible  <bruno@clisp.org>
81305         Avoid compilation error on NetBSD 5.0.
81306         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
81307         * tests/test-stdio.c: Likewise.
81308         * tests/test-stdlib.c: Likewise.
81309         * tests/test-string.c: Likewise.
81310         * tests/test-unistd.c: Likewise.
81311         Reported by Greg Troxel <gdt@ir.bbn.com>
81312         at <https://savannah.gnu.org/support/?106973>.
81314 2009-08-11  Bruno Haible  <bruno@clisp.org>
81316         * modules/dup2-tests (Depends-on): Remove close.
81318         Undo 2009-07-19 commit.
81319         * modules/acl-tests (Depends-on): Remove close.
81320         * modules/binary-io-tests (Depends-on): Likewise.
81321         * modules/closein-tests (Depends-on): Likewise.
81322         * modules/flock-tests (Depends-on): Likewise.
81323         * modules/fsync-tests (Depends-on): Likewise.
81324         * modules/lseek-tests (Depends-on): Likewise.
81325         * modules/pipe-tests (Depends-on): Likewise.
81326         * modules/posix_spawn-tests (Depends-on): Likewise.
81327         * modules/posix_spawnp-tests (Depends-on): Likewise.
81328         * modules/stat-time-tests (Depends-on): Likewise.
81329         * modules/yesno-tests (Depends-on): Likewise.
81331 2009-08-10  Bruno Haible  <bruno@clisp.org>
81333         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
81335 2009-08-10  Bruno Haible  <bruno@clisp.org>
81337         Fix a gcc warning.
81338         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
81340 2009-08-10  Bruno Haible  <bruno@clisp.org>
81342         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
81343         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
81344         not only the first time.
81345         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
81346         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
81347         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
81348         is 1, not only the first time.
81350 2009-08-10  Bruno Haible  <bruno@clisp.org>
81352         Make it possible to use module 'gethostname' without module 'close'.
81353         * lib/unistd.in.h (close): Evoke a link error only if
81354         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81356         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81357         * modules/unistd (Makefile.am): Substitute
81358         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81359         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
81360         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81361         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
81362         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81363         * modules/sys_ioctl (Makefile.am): Substitute
81364         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81365         * modules/socket (configure.ac): On native Windows, set
81366         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
81367         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81368         Reported by Sam Steingold <sds@gnu.org>.
81370 2009-08-10  Bruno Haible  <bruno@clisp.org>
81372         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
81373         * modules/ioctl (configure.ac): Likewise.
81375 2009-08-10  Bruno Haible  <bruno@clisp.org>
81377         Avoid collision between gnulib wrapper and libintl wrapper.
81378         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
81379         already defined in intl/printf.c.
81380         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
81381         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
81383 2009-08-09  Bruno Haible  <bruno@clisp.org>
81385         Make <sys/select.h> really self-contained, also on Solaris 10.
81386         * lib/sys_select.in.h: Include <string.h>.
81387         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
81388         Solaris 10 problem.
81389         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
81390         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
81391         Reported by Jim Meyering.
81393 2009-08-09  Bruno Haible  <bruno@clisp.org>
81395         Avoid warnings from 'aclocal' that are due to a use of macro name
81396         AM_XGETTEXT_OPTION that is not defined in automake.
81397         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
81398         automake.
81399         * modules/error (configure.ac): Likewise.
81400         * modules/propername (configure.ac): Likewise.
81401         * modules/vasprintf (configure.ac): Likewise.
81402         * modules/verror (configure.ac): Likewise.
81403         * modules/xprintf (configure.ac): Likewise.
81404         * modules/xvasprintf (configure.ac): Likewise.
81406 2009-08-08  Bruno Haible  <bruno@clisp.org>
81408         Avoid compilation error in C++ mode.
81409         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
81410         Reported by Sam Steingold <sds@gnu.org>.
81412 2009-08-08  Bruno Haible  <bruno@clisp.org>
81414         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
81415         for the various Unix platforms.
81416         * doc/posix-headers/limits.texi: Update platforms list regarding
81417         HOST_NAME_MAX.
81418         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81420 2009-08-07  Jim Meyering  <meyering@redhat.com>
81422         selinux-at: fix typo in a comment
81423         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
81424         Spotted by Paolo Bonzini.
81426         selinux-at: remove redundant m4 code, add documentation
81427         * modules/selinux-at (configure.ac): Remove redundant code.
81428         LIB_SELINUX is already set via the dependent module, selinux-h.
81429         (Include): Add quotes around selinux-at.h.
81430         * lib/selinux-at.h: Add documentation.
81431         Reported by Bruno Haible in
81432         http://marc.info/?l=gnulib-bug&m=124958988300749
81434 2009-08-07  Bruno Haible  <bruno@clisp.org>
81436         Avoid link error on MacOS X 10.3 and 10.4.
81437         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
81438         on non-ELF systems.
81439         * lib/argp-pv.c (argp_program_version): Likewise.
81440         Reported by Simon Josefsson.
81442 2009-08-07  Simon Josefsson  <simon@josefsson.org>
81444         * tests/test-version-etc.sh: Use $EXEEXT.
81446 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
81448         update-copyright: update documentation to point to maint.mk
81449         * build-aux/update-copyright: Here.
81451 2009-08-06  Jim Meyering  <meyering@redhat.com>
81453         maint.mk: support update-copyright-local
81454         * top/maint.mk (update-copyright-local): Define place-holder.
81455         (update-copyright): Depend on $(update-copyright-local).
81457 2009-08-06  Jim Meyering  <meyering@redhat.com>
81459         selinux-at: new module
81460         Initially written for coreutils, this module will soon be
81461         used by findutils, too.
81462         * MODULES.html.sh [Misc]: Add selinux-at.
81463         * lib/selinux-at.h: New file, from coreutils.
81464         * lib/selinux-at.c: Likewise.
81465         * modules/selinux-at: Likewise.
81466         (License): Change from LGPL to GPL, since it depends
81467         on the GPL'd openat module.
81469         doc: update README
81470         * README: Remove references to cogito.
81471         Remove cvs-repo-updating instructions from 2007.
81472         Don't imply that CVS is better if you have limited disk space.
81474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81476         update-copyright: support C-style comments
81477         * build-aux/update-copyright: Implement and document.
81478         * tests/test-update-copyright.sh: Test.
81480 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81482         update-copyright: support omitted "(C)"
81483         * build-aux/update-copyright: Implement and document.  Also,
81484         allow variable whitespace before "(C)".
81485         * tests/test-update-copyright.sh: Test.
81487 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81489         update-copyright: don't trip on non-FSF copyright statements
81490         * build-aux/update-copyright: Fix so that the first correctly
81491         formatted FSF copyright statement is recognized no matter what
81492         appears before it.  Update documentation.
81493         * tests/test-update-copyright.sh: Test that.
81495 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81497         update-copyright: clean up code a little
81498         * build-aux/update-copyright: Append "_re" to the name of any
81499         variable holding a regular expression.
81500         Replace "old" and "new" with "stmt" in variable names.
81501         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
81502         handled correctly.
81503         Format code more consistently.
81505 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81507         update-copyright-tests: improve portability
81508         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
81509         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
81511 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81513         update-copyright: support @copyright{} and &copy;
81514         * build-aux/update-copyright: Implement and document.
81515         * tests/test-update-copyright.sh: Test.
81517 2009-08-04  Jim Meyering  <meyering@redhat.com>
81519         update-copyright-tests: correctly test EOL=\r\n handling
81520         * tests/test-update-copyright.sh: Put \r at the end of some lines
81521         for the dos-eol tests.  Based on a patch by Joel E. Denny.
81523         maint.mk: make update-copyright exclusion list more configurable
81524         * top/maint.mk (update-copyright): Default to excluding COPYING,
81525         but allow an override, in case someone does want to update that file.
81527         maint.mk: don't update copyright date in COPYING
81528         * top/maint.mk (update-copyright): Exclude COPYING.
81530         maint.mk: add a copyright-updating rule
81531         * top/maint.mk (update-copyright): New rule.
81532         Derived from coreutils/Makefile.am.
81534         update-copyright: rename some variables
81535         * build-aux/update-copyright: Rename a few variables for clarity.
81536         Tweak syntax.  List Joel E. Denny as coauthor.
81538 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
81540         update-copyright: fix bug for 2-digit last year and add tests
81541         * build-aux/update-copyright: Fix bug.
81542         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
81543         specified.
81544         * modules/update-copyright-tests: New
81545         * tests/test-update-copyright.sh: New.
81547 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81549         update-copyright: handle leading tabs in line prefix
81550         * build-aux/update-copyright: Count leading tabs as 8 spaces
81551         when computing margin.  This helps with the formatting of
81552         ChangeLogs, for example.
81553         Fix documentation a little.
81555 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81557         update-copyright: support EOL=\r\n
81558         * build-aux/update-copyright: Implement that.
81560 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
81562         update-copyright: automatically format copyright statements
81563         * build-aux/update-copyright: Implement that.
81564         Also, be a little more predictable and safer by always failing
81565         when the full copyright format is not perfectly recognized as an
81566         unbroken whole.  Discussed at
81567         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
81568         Rewrite documentation.
81570 2009-08-03  Bruno Haible  <bruno@clisp.org>
81572         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
81574 2009-08-02  Bruno Haible  <bruno@clisp.org>
81576         Tests for module 'uname'.
81577         * modules/uname-tests: New file.
81578         * tests/test-uname.c: New file.
81580         New module 'uname'.
81581         * lib/uname.c: New file.
81582         * m4/uname.m4: New file.
81583         * modules/uname: New file.
81584         * doc/posix-functions/uname.texi: Mention the new module.
81586 2009-08-02  Bruno Haible  <bruno@clisp.org>
81588         Tests for module 'sys_utsname'.
81589         * modules/sys_utsname-tests: New file.
81590         * tests/test-sys_utsname.c: New file.
81592         New module 'sys_utsname'.
81593         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
81594         * m4/sys_utsname_h.m4: New file.
81595         * modules/sys_utsname: New file.
81596         * doc/posix-headers/sys_utsname.texi: Mention the new module.
81598 2009-08-02  Bruno Haible  <bruno@clisp.org>
81600         Implicitly initialize the sockets library.
81601         * lib/gethostname.c: Include sockets.h.
81602         (rpl_gethostname): Invoke gl_sockets_startup.
81603         * lib/socket.c: Include sockets.h.
81604         (rpl_socket): Invoke gl_sockets_startup.
81605         * modules/gethostname (Depends-on): Add sockets.
81606         * modules/socket (Depends-on): Likewise.
81607         * tests/test-poll.c: Don't include sockets.h.
81608         (main): Don't invoke gl_sockets_startup.
81609         * tests/test-select.c: Don't include sockets.h.
81610         (main): Don't invoke gl_sockets_startup.
81612 2009-08-02  Bruno Haible  <bruno@clisp.org>
81614         Allow multiple calls to gl_sockets_startup.
81615         * lib/sockets.c (initialized_sockets_version): New variable.
81616         (gl_sockets_startup): Do nothing if already called for this or a higher
81617         version.
81618         (gl_sockets_cleanup): Reset initialized_sockets_version.
81620 2009-08-03  Simon Josefsson  <simon@josefsson.org>
81622         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
81623         different project/version.
81625 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
81626             Bruno Haible  <bruno@clisp.org>
81628         Tests for module 'pipe-filter-gi'.
81629         * modules/pipe-filter-gi-tests: New file.
81630         * tests/test-pipe-filter-gi1.sh: New file.
81631         * tests/test-pipe-filter-gi1.c: New file.
81632         * tests/test-pipe-filter-gi2.sh: New file.
81633         * tests/test-pipe-filter-gi2-main.c: New file.
81634         * tests/test-pipe-filter-gi2-child.c: New file.
81636         New module 'pipe-filter-gi'.
81637         * lib/pipe-filter-gi.c: New file.
81638         * modules/pipe-filter-gi: New file.
81640 2009-08-02  Bruno Haible  <bruno@clisp.org>
81641             Paolo Bonzini  <bonzini@gnu.org>
81643         Tests for module 'pipe-filter-ii'.
81644         * modules/pipe-filter-ii-tests: New file.
81645         * tests/test-pipe-filter-ii1.sh: New file.
81646         * tests/test-pipe-filter-ii1.c: New file.
81647         * tests/test-pipe-filter-ii2.sh: New file.
81648         * tests/test-pipe-filter-ii2-main.c: New file.
81649         * tests/test-pipe-filter-ii2-child.c: New file.
81651         New module 'pipe-filter-ii'.
81652         * lib/pipe-filter.h: New file.
81653         * lib/pipe-filter-ii.c: New file.
81654         * lib/pipe-filter-aux.h: New file.
81655         * modules/pipe-filter-ii: New file.
81657 2009-08-02  Simon Josefsson  <simon@josefsson.org>
81659         * lib/gc-libgcrypt.c: Change copyright to FSF.
81660         * lib/gc-gnulib.c: Likewise.
81662 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
81664         * lib/gethostname.c: Include limits.h.
81666 2009-08-02  Simon Josefsson  <simon@josefsson.org>
81667             Bruno Haible  <bruno@clisp.org>
81669         Ensure HOST_NAME_MAX as part of the gethostname module.
81670         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
81671         define also HOST_NAME_MAX.
81672         * tests/test-gethostname.c: Include <limits.h>.
81673         (main): Check also HOST_NAME_MAX.
81674         * doc/posix-headers/limits.texi: Document the mingw problem.
81676 2009-08-02  Bruno Haible  <bruno@clisp.org>
81678         * lib/gethostname.c (gethostname): Fix handling of large len argument.
81679         Add comments.
81681 2009-03-31  Simon Josefsson  <simon@josefsson.org>
81683         * lib/gethostname.c: Add Windows wrapper.
81684         * m4/gethostname.m4: Look for gethostname in -lws2_32.
81685         * modules/gethostname: Depend on sys_socket & errno, for also
81686         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
81687         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
81689 2009-07-31  Jim Meyering  <meyering@redhat.com>
81691         getloadavg: fix symbol name in comment
81692         * lib/getloadavg.c: Correct a typo I introduced when adding
81693         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
81694         Matt Kraai spotted the problem.
81696 2009-07-29  Matt Kraai  <mkraai@beckman.com>
81698         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
81699         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
81700         code also if ! defined N_NAME_POINTER.
81701         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
81702         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
81703         but the n_name member is a 12-byte array.
81705 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
81707         update-copyright: generalize comment handling
81708         * build-aux/update-copyright: Handle copyright statements
81709         within more comment styles.
81710         Document usage.
81711         Report any file with an external copyright holder or parse failure.
81713 2009-07-29  Jim Meyering  <meyering@redhat.com>
81715         mktime: correct setting of REPLACE_MKTIME
81716         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
81718         update-copyright: new module
81719         * modules/update-copyright: New file.
81720         * build-aux/update-copyright: New file.
81721         * MODULES.html.sh (maint+release support): Add update-copyright.
81723 2009-07-27  Bruno Haible  <bruno@clisp.org>
81725         Fix compilation error when <ctime> is used and mktime is replaced.
81726         * lib/time.in.h (mktime): New declaration.
81727         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
81728         REPLACE_MKTIME instead of defining mktime in config.h.
81729         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
81730         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
81731         Reported by Ross McFarland <rwmcfa1@neces.com>.
81733 2009-07-27  Bruno Haible  <bruno@clisp.org>
81735         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
81736         Reported by Matt Kraai <mkraai@beckman.com>.
81738 2009-07-25  Jim Meyering  <meyering@redhat.com>
81740         maint.mk: avoid warnings about missing files
81741         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
81742         diagnostic when .prev-version does not exist.
81743         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
81744         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
81745         nonexistent cfg.mk.
81746         Suggestions from Simon Josefsson.
81748 2009-07-25  Bruno Haible  <bruno@clisp.org>
81750         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
81751         defined as macros. Needed on QNX 6.4.1.
81752         Reported by Matt Kraai <mkraai@beckman.com>.
81754 2009-07-23  Jim Meyering  <meyering@redhat.com>
81756         maint.mk: invoke "make dist" with a working value of XZ_OPT
81757         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
81759 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
81761         Make fseeko.c compile on QNX.
81762         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
81764 2009-07-22  Peter Simons  <simons@cryp.to>
81766         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
81767         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
81768         * lib/md4.h: Likewise.
81769         * lib/md5.h: Likewise.
81770         * lib/sha1.h: Likewise.
81771         * lib/sha256.h: Likewise.
81772         * lib/sha512.h: Likewise.
81774         tests-sha1: don't assign literal string to 'char *' variable
81775         * tests/test-sha1.c (main): Declare locals with "const" to match
81776         attributes of the right hand side.
81778 2009-07-21  Eric Blake  <ebb9@byu.net>
81780         dup2: fix more mingw problems
81781         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
81782         fd to itself.
81783         * doc/posix-functions/dup2.texi (dup2): Document the bug.
81784         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
81785         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
81786         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
81787         care of mingw bugs.
81789 2009-07-21  Jim Meyering  <meyering@redhat.com>
81791         vc-list-files: avoid failure when /bin/sh is dash
81792         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
81793         On some Debian based systems, /bin/sh is a symlink to dash, and running
81794         this command would omit the "/" following each 'tests' prefix:
81795           dash -x build-aux/vc-list-files -C . tests
81796         That is because bash and dash work differently:
81797           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
81798           bash ok
81799           dash odd
81801 2009-07-21  Eric Blake  <ebb9@byu.net>
81803         dup2-tests: test previous patch
81804         * modules/dup2-tests: New file.
81805         * tests/test-dup2.c: Likewise.
81806         * tests/test-open.c (main): Avoid unspecified behavior.
81807         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
81808         test.
81810         dup2: work around mingw and cygwin 1.5 bug
81811         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
81812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81813         * modules/unistd (Makefile.am): Substitute it.
81814         * lib/unistd.in.h (dup2): Declare the replacement.
81815         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
81816         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
81817         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
81818         * modules/execute (Depends-on): Add dup2.
81819         * modules/fseterr (Depends-on): Likewise.
81820         * modules/pipe (Depends-on): Likewise.
81821         * modules/posix_spawn-internal (Depends-on): Likewise.
81823 2009-07-21  Bruno Haible  <bruno@clisp.org>
81825         * modules/.gitattributes: New file.
81827 2009-07-20  Bruno Haible  <bruno@clisp.org>
81829         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
81830         (main): Use it.
81832 2009-07-20  Eric Blake  <ebb9@byu.net>
81834         test-pipe: make a bit more robust.
81835         * tests/test-pipe.c (myerr): Allow error messages regardless of
81836         what we do to stderr.
81837         (test_pipe): Rearrange to avoid deadlock.
81838         (child_main): Try a larger read, to ensure we avoided deadlock.
81839         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
81840         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
81841         if misused.
81843 2009-07-19  Jim Meyering  <meyering@redhat.com>
81845         fts: avoid false-positive cycle-detection
81846         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
81847         for each new command line argument.
81849 2009-07-19  Bruno Haible  <bruno@clisp.org>
81851         Fix build error on mingw with the modules sys_select and unistd.
81852         * modules/acl-tests (Depends-on): Add close.
81853         * modules/binary-io-tests (Depends-on): Likewise.
81854         * modules/closein-tests (Depends-on): Likewise.
81855         * modules/flock-tests (Depends-on): Likewise.
81856         * modules/fsync-tests (Depends-on): Likewise.
81857         * modules/lseek-tests (Depends-on): Likewise.
81858         * modules/pipe-tests (Depends-on): Likewise.
81859         * modules/posix_spawn-tests (Depends-on): Likewise.
81860         * modules/posix_spawnp-tests (Depends-on): Likewise.
81861         * modules/stat-time-tests (Depends-on): Likewise.
81862         * modules/yesno-tests (Depends-on): Likewise.
81864 2009-07-19  Bruno Haible  <bruno@clisp.org>
81866         Unify conditionals.
81867         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
81868         macros, not at the compiler macros.
81869         * lib/pipe.c: Likewise.
81870         * lib/execute.c: Likewise.
81871         * lib/spawni.c: Likewise.
81873 2009-07-19  Bruno Haible  <bruno@clisp.org>
81875         Fix handling of closed stdin/stdout/stderr on mingw.
81876         * lib/w32spawn.h: Include unistd.h.
81877         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
81878         file descriptor with O_NOINHERIT flag.
81879         (fd_safer_noinherit): New function, based on fd-safer.c.
81880         (dup_safer_noinherit): New function, based on dup-safer.c.
81881         (undup_safer_noinherit): New function.
81882         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
81883         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
81884         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
81885         instead of fd_safer.
81886         * tests/test-pipe.c: Include <windows.h>.
81887         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
81888         result.
81890         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
81891         from main.
81892         (test_pipe): Pass an extra argument for disambiguation.
81893         (main): Invoke parent_main or child_main.
81895         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
81896         consistently.
81898 2009-07-18  Eric Blake  <ebb9@byu.net>
81900         test-pipe: fix mingw build
81901         * tests/test-pipe.c (main): Avoid fcntl on mingw.
81903 2009-07-18  Bruno Haible  <bruno@clisp.org>
81905         * modules/pipe-tests (Makefile.am): Fix typo.
81907 2009-07-18  Eric Blake  <ebb9@byu.net>
81909         error: fix mingw build
81910         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
81911         Reported by Bruno Haible.
81913         error: avoid undefined use of stdout
81914         * lib/error.c (error, error_at_line): Check that fd 1 is open
81915         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
81916         is handling faults and the close_stdout module wants to report the
81917         detection of closed stdout as an error.
81919 2009-07-17  Eric Blake  <ebb9@byu.net>
81921         pipe: be robust in face of closed fds
81922         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
81923         should cause child to misbehave.
81924         * modules/pipe-tests: New module.
81925         * tests/test-pipe.c: New file.
81926         * tests/test-pipe.sh: New file.
81927         Reported by Akim Demaille.
81929 2009-07-14  Bruno Haible  <bruno@clisp.org>
81931         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
81932         Reported by anonymous kc.
81934 2009-07-07  Jim Meyering  <meyering@redhat.com>
81936         maint.mk: don't look for translatable strings in *.m4 or *.mk
81937         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
81938         when searching for translatable strings.
81940 2009-07-05  Jim Meyering  <meyering@redhat.com>
81942         remove superfluous parentheses in STREQ definition
81943         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
81944         * lib/getugroups.c (STREQ): Likewise.
81945         * lib/fnmatch.c (STREQ): Likewise.
81946         Spotted by Bruno Haible.
81948 2009-07-04  Jim Meyering  <meyering@redhat.com>
81950         argv-iter: new module
81951         * MODULES.html.sh: Add argv-iter.
81952         * lib/argv-iter.c, lib/argv-iter.h: New files.
81953         * modules/argv-iter: New file.
81954         * modules/argv-iter-tests: New file.
81955         * tests/test-argv-iter.c: Test it.
81957 2009-07-04  Bruno Haible  <bruno@clisp.org>
81959         Fix assertion.
81960         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
81961         contains more exact copies of a given entry than file2, leave the extra
81962         copies unpaired rather than aborting.
81963         Reported by Eric Blake.
81965 2009-07-02  Bruno Haible  <bruno@clisp.org>
81967         Speedup git-merge-changelog for git cherry-pick.
81968         * lib/git-merge-changelog.c (struct entries_mapping): New type.
81969         (entries_mapping_get): New function, extracted from compute_mapping.
81970         (entries_mapping_reverse_get): New function.
81971         (compute_mapping): Add a 'full' argument. Return the result in a
81972         'struct entries_mapping'.
81973         (main): Update. Access the mappings through entries_mapping_get.
81974         Reported by Eric Blake.
81976 2009-07-02  Bruno Haible  <bruno@clisp.org>
81978         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
81979         best_i.
81981 2009-07-02  Bruno Haible  <bruno@clisp.org>
81983         Speed up approximate search for matching ChangeLog entries.
81984         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
81985         argument. Call fstrcmp_bounded instead of fstrcmp.
81986         (compute_mapping, try_split_merged_entry, main): Update callers.
81988 2009-07-02  Bruno Haible  <bruno@clisp.org>
81990         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
81992 2009-06-30  Bruno Haible  <bruno@clisp.org>
81994         Reduce the number of uc_is_cased calls.
81995         * lib/unicase.h (casing_suffix_context_t): Add
81996         'first_char_except_ignorable' field.
81997         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
81998         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
81999         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
82000         Update initializer.
82001         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
82002         case-ignorable characters.
82003         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
82004         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
82005         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
82006         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
82007         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
82009 2009-06-30  Bruno Haible  <bruno@clisp.org>
82011         Tests for module 'unicase/ignorable'.
82012         * modules/unicase/ignorable-tests: New file.
82013         * tests/unicase/test-ignorable.c: New file, generated by
82014         gen-uni-tables.
82016         Tests for module 'unicase/cased'.
82017         * modules/unicase/cased-tests: New file.
82018         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
82019         * tests/unicase/test-predicate-part1.h: New file, derived from
82020         tests/unictype/test-predicate-part1.h.
82021         * tests/unicase/test-predicate-part2.h: New file, same as
82022         tests/unictype/test-predicate-part2.h.
82024         Fix evaluation of "Before C" condition of FINAL_SIGMA.
82025         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
82026         (output_casing_properties): New function.
82027         (main): Call it.
82028         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
82029         * lib/unicase/cased.c: Include unictype/bitmap.h.
82030         (uc_is_cased): Define through a bitmap lookup.
82031         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
82032         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
82033         (uc_is_case_ignorable): Define through a bitmap lookup.
82034         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
82035         lib/unictype/bitmap.h.
82036         (Depends-on): Add inline. Clean up.
82037         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
82038         lib/unictype/bitmap.h.
82039         (Depends-on): Add inline. Clean up.
82040         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
82041         recognition.
82042         * tests/unicase/test-u16-tolower.c (main): Likewise.
82043         * tests/unicase/test-u32-tolower.c (main): Likewise.
82045 2009-06-30  Bruno Haible  <bruno@clisp.org>
82047         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
82048         * lib/unicase/u16-casemap.c: Likewise.
82049         * lib/unicase/u32-casemap.c: Likewise.
82051 2009-06-29  Bruno Haible  <bruno@clisp.org>
82053         Define u32_casefold as a wrapper around u32_ct_casefold.
82054         * lib/unicase/u32-casefold.c: Update.
82055         * modules/unicase/u32-casefold (Depends-on): Add
82056         unicase/u32-ct-casefold, unicase/empty-prefix-context,
82057         unicase/empty-suffix-context. Clean up.
82059         Define u16_casefold as a wrapper around u16_ct_casefold.
82060         * lib/unicase/u16-casefold.c: Update.
82061         * modules/unicase/u16-casefold (Depends-on): Add
82062         unicase/u16-ct-casefold, unicase/empty-prefix-context,
82063         unicase/empty-suffix-context. Clean up.
82065         Define u8_casefold as a wrapper around u8_ct_casefold.
82066         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
82067         * lib/unicase/u8-casefold.c: Update.
82068         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
82069         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82071         Define u32_totitle as a wrapper around u32_ct_totitle.
82072         * lib/unicase/u32-totitle.c: Update.
82073         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
82074         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82076         Define u16_totitle as a wrapper around u16_ct_totitle.
82077         * lib/unicase/u16-totitle.c: Update.
82078         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
82079         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82081         Define u8_totitle as a wrapper around u8_ct_totitle.
82082         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
82083         functions.
82084         (FUNC): Delegate to U_CT_TOTITLE.
82085         * lib/unicase/u8-totitle.c: Update.
82086         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
82087         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82089         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
82090         invocation.
82091         * modules/unicase/u32-tolower (Depends-on): Add
82092         unicase/empty-prefix-context, unicase/empty-suffix-context.
82094         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
82095         invocation.
82096         * modules/unicase/u16-tolower (Depends-on): Add
82097         unicase/empty-prefix-context, unicase/empty-suffix-context.
82099         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
82100         * modules/unicase/u8-tolower (Depends-on): Add
82101         unicase/empty-prefix-context, unicase/empty-suffix-context.
82103         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
82104         invocation.
82105         * modules/unicase/u32-toupper (Depends-on): Add
82106         unicase/empty-prefix-context, unicase/empty-suffix-context.
82108         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
82109         invocation.
82110         * modules/unicase/u16-toupper (Depends-on): Add
82111         unicase/empty-prefix-context, unicase/empty-suffix-context.
82113         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
82114         * modules/unicase/u8-toupper (Depends-on): Add
82115         unicase/empty-prefix-context, unicase/empty-suffix-context.
82117         New module 'unicase/u32-ct-casefold'.
82118         * lib/unicase/u32-ct-casefold.c: New file.
82119         * modules/unicase/u32-ct-casefold: New file.
82121         New module 'unicase/u16-ct-casefold'.
82122         * lib/unicase/u16-ct-casefold.c: New file.
82123         * modules/unicase/u16-ct-casefold: New file.
82125         New module 'unicase/u8-ct-casefold'.
82126         * lib/unicase/u8-ct-casefold.c: New file.
82127         * lib/unicase/u-ct-casefold.h: New file, derived from
82128         lib/unicase/u-casefold.h.
82129         * modules/unicase/u8-ct-casefold: New file.
82131         New module 'unicase/u32-ct-totitle'.
82132         * lib/unicase/u32-ct-totitle.c: New file.
82133         * modules/unicase/u32-ct-totitle: New file.
82135         New module 'unicase/u16-ct-totitle'.
82136         * lib/unicase/u16-ct-totitle.c: New file.
82137         * modules/unicase/u16-ct-totitle: New file.
82139         New module 'unicase/u8-ct-totitle'.
82140         * lib/unicase/u8-ct-totitle.c: New file.
82141         * lib/unicase/u-ct-totitle.h: New file, derived from
82142         lib/unicase/u-totitle.h.
82143         * modules/unicase/u8-ct-totitle: New file.
82145         New module 'unicase/u32-ct-tolower'.
82146         * lib/unicase/u32-ct-tolower.c: New file.
82147         * modules/unicase/u32-ct-tolower: New file.
82149         New module 'unicase/u16-ct-tolower'.
82150         * lib/unicase/u16-ct-tolower.c: New file.
82151         * modules/unicase/u16-ct-tolower: New file.
82153         New module 'unicase/u8-ct-tolower'.
82154         * lib/unicase/u8-ct-tolower.c: New file.
82155         * modules/unicase/u8-ct-tolower: New file.
82157         New module 'unicase/u32-ct-toupper'.
82158         * lib/unicase/u32-ct-toupper.c: New file.
82159         * modules/unicase/u32-ct-toupper: New file.
82161         New module 'unicase/u16-ct-toupper'.
82162         * lib/unicase/u16-ct-toupper.c: New file.
82163         * modules/unicase/u16-ct-toupper: New file.
82165         New module 'unicase/u8-ct-toupper'.
82166         * lib/unicase/u8-ct-toupper.c: New file.
82167         * modules/unicase/u8-ct-toupper: New file.
82169         Add context arguments to u*_casemap functions.
82170         * lib/unicase/unicasemap.h: Include unicase.h.
82171         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
82172         suffix_context arguments.
82173         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
82174         functions.
82175         (FUNC): Add prefix_context and suffix_context arguments. Use
82176         uc_is_cased and uc_is_case_ignorable.
82177         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
82178         * lib/unicase/u16-casemap.c: Likewise.
82179         * lib/unicase/u32-casemap.c: Likewise.
82180         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
82181         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82182         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
82183         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82184         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
82185         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82187         New module 'unicase/u32-suffix-context'.
82188         * lib/unicase/u32-suffix-context.c: New file.
82189         * modules/unicase/u32-suffix-context: New file.
82191         New module 'unicase/u16-suffix-context'.
82192         * lib/unicase/u16-suffix-context.c: New file.
82193         * modules/unicase/u16-suffix-context: New file.
82195         New module 'unicase/u8-suffix-context'.
82196         * lib/unicase/u8-suffix-context.c: New file.
82197         * lib/unicase/u-suffix-context.h: New file.
82198         * modules/unicase/u8-suffix-context: New file.
82200         New module 'unicase/empty-suffix-context'.
82201         * lib/unicase/empty-suffix-context.c: New file.
82202         * modules/unicase/empty-suffix-context: New file.
82204         New module 'unicase/u32-prefix-context'.
82205         * lib/unicase/u32-prefix-context.c: New file.
82206         * modules/unicase/u32-prefix-context: New file.
82208         New module 'unicase/u16-prefix-context'.
82209         * lib/unicase/u16-prefix-context.c: New file.
82210         * modules/unicase/u16-prefix-context: New file.
82212         New module 'unicase/u8-prefix-context'.
82213         * lib/unicase/u8-prefix-context.c: New file.
82214         * lib/unicase/u-prefix-context.h: New file.
82215         * lib/unicase/context.h: New file.
82216         * modules/unicase/u8-prefix-context: New file.
82218         New module 'unicase/empty-prefix-context'.
82219         * lib/unicase/empty-prefix-context.c: New file.
82220         * modules/unicase/empty-prefix-context: New file.
82222         New module 'unicase/ignorable'.
82223         * lib/unicase/ignorable.c: New file.
82224         * modules/unicase/ignorable: New file.
82226         New module 'unicase/cased'.
82227         * lib/unicase/caseprop.h: New file.
82228         * lib/unicase/cased.c: New file.
82229         * modules/unicase/cased: New file.
82231         New functions for case mapping of substrings.
82232         * lib/unicase.h (casing_prefix_context_t): New type.
82233         (unicase_empty_prefix_context): New variable.
82234         (u8_casing_prefix_context, u16_casing_prefix_context,
82235         u32_casing_prefix_context, u8_casing_prefixes_context,
82236         u16_casing_prefixes_context, u32_casing_prefixes_context): New
82237         declarations.
82238         (casing_suffix_context_t): New type.
82239         (unicase_empty_suffix_context): New variable.
82240         (u8_casing_suffix_context, u16_casing_suffix_context,
82241         u32_casing_suffix_context, u8_casing_suffixes_context,
82242         u16_casing_suffixes_context, u32_casing_suffixes_context,
82243         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
82244         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
82245         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
82246         declarations.
82248 2009-06-28  Jim Meyering  <meyering@redhat.com>
82250         boostrap: indent only with spaces
82251         * build-aux/bootstrap: Indent only with spaces, never TABs.
82253         bootstrap: split long lines
82254         * build-aux/bootstrap: Keep line length < 80.
82256         bootstrap: sync from coreutils
82257         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
82258         just as autoreconf does.  Verify a list of prerequisite
82259         package-name,version-number pairs if defined in bootstrap.conf.
82260         Refer to README-prereq, if prerequisites are not satisfied.
82262 2009-06-27  Eric Blake  <ebb9@byu.net>
82264         tests: add test for bogus NULL definition
82265         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
82266         * tests/test-stdlib.c: Likewise.
82267         * tests/test-string.c: Likewise.
82268         * tests/test-locale.c: Likewise.
82269         * tests/test-unistd.c: Likewise.
82270         * modules/stdio-tests (Depends-on): Add verify.
82271         * modules/stdlib-tests (Depends-on): Likewise.
82272         * modules/string-tests (Depends-on): Likewise.
82273         * modules/locale-tests (Depends-on): Likewise.
82274         * modules/unistd-tests (Depends-on): Likewise.
82276 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
82278         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
82279         self-explaining comment.
82280         * m4/selinux-selinux-h: Update serial.
82281         (gl_LIBSELINUX): New macro, adding a warning for missing development
82282         packages to code extracted from...
82283         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
82284         Add warning for missing development packages here, too.
82286 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
82288         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
82290 2009-06-25  Eric Blake  <ebb9@byu.net>
82292         version-etc: fix regression
82293         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
82294         gcc.
82295         (version_etc): Use it, to catch bugs with trailing NULL.
82296         * lib/version-etc.c (version_etc_arn): Delete unused argument.
82297         (version_etc_va): Fix logic bug.
82298         * modules/version-etc-tests: Add test.
82299         * tests/test-version-etc.c: New file.
82300         * tests/test-version-etc.sh: Likewise.
82302 2009-06-25  Sam Steingold  <sds@gnu.org>
82304         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
82305         mbtowc declaration.
82307 2009-06-25  Eric Blake  <ebb9@byu.net>
82309         fpurge: migrate into <stdio.h>
82310         * lib/fpurge.h: Delete...
82311         * lib/stdio.in.h (fpurge): ...and declare here, instead.
82312         * lib/fpurge.c (fpurge): Change declaring header.
82313         * modules/fpurge (Files): Drop deleted file.
82314         (Depends-on): Add stdio.
82315         (configure.ac): Set witness.
82316         * modules/stdio (Makefile.am): Support fpurge macros.
82317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
82318         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
82319         * lib/fflush.c: Update client.
82320         * tests/test-fpurge.c: Likewise.
82321         * NEWS: Mention the change.
82323 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82325         * lib/argp-version-etc.c (program_authors): Add const
82326         qualifier.
82327         * lib/version-etc.c: Fix typos in the comments.
82328         * modules/argp-version-etc: Depends on version-etc.
82330 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82332         argp-version-etc: new module.
82334         * lib/argp-version-etc.c: New file.
82335         * lib/argp-version-etc.h: New file.
82336         * modules/argp-version-etc: New file.
82337         * modules/argp-version-etc-tests: New file.
82338         * tests/test-argp-version-etc.c: New test.
82339         * tests/test-argp-version-etc-1.sh: New test.
82341 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82343         Provide additional interfaces and documentation for version-etc
82344         module.
82346         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
82347         interfaces.
82348         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
82349         prototypes.
82351 2009-06-24  Bruno Haible  <bruno@clisp.org>
82353         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
82354         HAVE_LIB${NAME} macro.
82355         Reported by Sam Steingold <sds@gnu.org>.
82357 2009-06-23  Simon Josefsson  <simon@josefsson.org>
82359         * modules/hash-tests (test_hash_LDADD): Link to libintl when
82360         needed.
82362 2009-06-21  Bruno Haible  <bruno@clisp.org>
82364         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
82365         work.
82366         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
82367         together with LIB${NAME}, LTLIB${NAME}.
82368         Reported by Sam Steingold <sds@gnu.org>.
82370 2009-06-20  Jim Meyering  <meyering@redhat.com>
82372         tests: make sc_require_test_exit_idiom more generic
82373         * top/maint.mk (Exit_witness_file): New overridable variable.
82374         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
82375         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
82377 2009-06-19  Jim Meyering  <meyering@redhat.com>
82379         hash: reverse order of src/dst parameters in an internal interface
82380         * lib/hash.c (transfer_entries): Reverse order of parameters to
82381         put DST before SRC.  Adjust callers.
82383         tests: test-hash: avoid wholesale duplication
82384         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
82385         Instead, use a loop and add a single conditional.
82387         tests: test-hash: allow seed selection via a command line argument
82388         * tests/test-hash.c (get_seed): New function.
82389         (main): Use it.
82391 2009-06-19  Eric Blake  <ebb9@byu.net>
82393         hash: avoid memory leak on allocation failure
82394         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
82395         failure.  Factor repeated algorithm...
82396         (transfer_entries): ...into new helper routine.
82397         (hash_delete): React to hash_rehash return value.
82399         hash: reduce memory pressure in hash_rehash no-op case
82400         * lib/hash.c (next_prime): Avoid overflow.
82401         (hash_initialize): Factor bucket size computation...
82402         (compute_bucket_size): ...into new helper function.
82403         (hash_rehash): Use new function and open coding to reduce memory
82404         pressure, and avoid a memory leak in USE_OBSTACK code.
82405         Reported by Jim Meyering.
82407 2009-06-18  Eric Blake  <ebb9@byu.net>
82409         hash: make rotation more obvious
82410         * modules/hash (Depends-on): Add bitrotate and stdint.
82411         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
82412         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
82413         (SIZE_MAX): Rely on headers for definition.
82414         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
82415         (raw_hasher): Use rotr_sz.
82416         Suggested by Jim Meyering.
82418         hash: fix memory leak in last patch
82419         * lib/hash.c (hash_rehash): Avoid memory leak.
82421         hash: avoid no-op rehashing
82422         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
82424         hash: provide default callback functions
82425         * lib/hash.c (raw_hasher, raw_comparator): New functions.
82426         (hash_initialize): Use them as defaults.
82427         * tests/test-hash.c (main): Test this.
82429         hash: minor optimization
82430         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
82431         when possible.
82432         (hash_initialize): Document this promise.
82433         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
82434         * tests/test-hash.c (hash_compare_strings): Test this.
82436 2009-06-18  Bruno Haible  <bruno@clisp.org>
82438         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
82439         going to be replaced anyway.
82441 2009-06-18  Bruno Haible  <bruno@clisp.org>
82443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
82444         in one place.
82445         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
82446         be replaced anyway.
82448 2009-06-18  Eric Blake  <ebb9@byu.net>
82450         hash: check for resize before insertion
82451         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
82452         threshold before insertion, so that a pathological hash_rehash
82453         that fills every bucket can still trigger another rehash.
82455 2009-06-18  Jim Meyering  <meyering@redhat.com>
82457         hash-tests: add a loop around the small tests
82458         * tests/test-hash.c (main): Repeat small tests with selected
82459         small initial table sizes.
82461 2009-06-17  Eric Blake  <ebb9@byu.net>
82463         hash: minor cleanups
82464         * lib/hash.h (hash_entry): Make opaque, by moving...
82465         * lib/hash.c (hash_entry): ...here.
82466         (hash_insert): Clarify restrictions on what can be inserted.
82467         (hash_get_next): Clarify when it is safe to remove an element
82468         during traversal.
82469         (check_tuning): Skip verification when tuning is known safe.
82470         (hash_initialize): Clarify restrictions on tuning.
82472 2009-06-17  Jim Meyering  <jim@meyering.net>
82473         and Eric Blake  <ebb9@byu.net>
82475         hash-tests: new module
82476         * modules/hash-tests: New file.
82477         * tests/test-hash.c: New file.
82479 2009-06-17  Eric Blake  <ebb9@byu.net>
82481         strstr-simple: document new module
82482         * MODULES.html.sh: Document new module.
82484         strstr, strcasestr: replace on platforms with broken memchr
82485         * modules/strstr: Split into...
82486         * modules/strstr-simple: ...new module that does not care about
82487         performance, but does care about glibc bug.
82488         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
82489         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
82490         if platform memchr is broken, per Debian bug 521737.
82491         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
82492         memchr.
82493         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
82494         * doc/posix-functions/strstr.texi (strstr): Document the fix.
82495         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
82496         * modules/mountlist (Depends-on): Add strstr-simple.
82497         * modules/gen-uni-tables (Depends-on): Likewise.
82498         * modules/argz (Depends-on): Add strstr.
82500 2009-06-17  Bruno Haible  <bruno@clisp.org>
82502         * modules/posix_spawn-internal (Depends-on): Add errno.
82504 2009-06-17  Bruno Haible  <bruno@clisp.org>
82506         Define missing ESTALE on Interix 3.5.
82507         * lib/errno.in.h (ESTALE): Assign a value if missing.
82508         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
82509         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
82510         missing.
82511         * doc/posix-headers/errno.texi: Mention the Interix bug.
82512         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
82514 2009-06-15  Eric Blake  <ebb9@byu.net>
82516         memchr, memchr2: add valgrind exception
82517         * lib/memchr.valgrind: New file.
82518         * lib/memchr2.valgrind: New file.
82519         * modules/memchr (Files): Distribute valgrind file.
82520         * modules/memchr2 (Files): Likewise.
82522         docs: memchr is no longer obsolete
82523         * MODULES.html.sh: Move memchr from obsolete to string.h section.
82524         * lib/string.in.h (memchr): Simplify logic.
82526 2009-06-14  Jim Meyering  <meyering@redhat.com>
82528         link-follow: fix the "checking..." message to not mention trailing slash
82529         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
82530         never considered trailing slashes.
82532 2009-06-14  Bruno Haible  <bruno@clisp.org>
82534         * m4/memchr.m4: Mention also the bug on IA-64.
82535         * doc/posix-functions/memchr.texi: Likewise.
82537 2009-06-12  Eric Blake  <ebb9@byu.net>
82539         memchr: detect broken x86_64 and alpha implementations
82540         * modules/memchr-tests (Depends-on): Move mmap detection...
82541         * modules/memchr (Depends-on): ...here.
82542         (configure.ac): Set indicator.
82543         * lib/string.in.h (memchr): Declare replacement.
82544         * modules/string (Makefile.am): Trigger replacement.
82545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
82546         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
82547         bugs.
82548         * doc/posix-functions/memchr.texi (memchr): Document the bug.
82549         * modules/getpagesize (License): Relax license.
82551 2009-06-11  Bruno Haible  <bruno@clisp.org>
82553         * lib/idpriv.h: Add more references.
82555 2009-06-08  Bruno Haible  <bruno@clisp.org>
82557         Tests for module 'idpriv-droptemp'.
82558         * modules/idpriv-droptemp-tests: New file.
82559         * tests/test-idpriv-droptemp.sh: New file.
82560         * tests/test-idpriv-droptemp.su.sh: New file.
82561         * tests/test-idpriv-droptemp.c: New file.
82563         New module 'idpriv-droptemp'.
82564         * lib/idpriv-droptemp.c: New file.
82565         * modules/idpriv-droptemp: New file.
82567 2009-06-08  Bruno Haible  <bruno@clisp.org>
82569         Tests for module 'idpriv-drop'.
82570         * modules/idpriv-drop-tests: New file.
82571         * tests/test-idpriv-drop.sh: New file.
82572         * tests/test-idpriv-drop.su.sh: New file.
82573         * tests/test-idpriv-drop.c: New file.
82575         New module 'idpriv-drop'.
82576         * lib/idpriv.h: New file.
82577         * lib-idpriv-drop.c: New file.
82578         * m4/idpriv.m4: New file.
82579         * modules/idpriv-drop: New file.
82581 2009-06-08  Bruno Haible  <bruno@clisp.org>
82583         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
82584         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82585         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82586         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82587         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82588         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82589         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82591 2009-06-08  Eric Blake  <ebb9@byu.net>
82593         test-strstr: use memory fence, when possible
82594         * tests/test-strstr.c (main): Use memory fence, in order to be
82595         more likely to trigger Debian bug 521737.
82596         * modules/strstr-tests (Files): Pull in additional files.
82598         memchr: no longer obsolete, for wider field testing
82599         * modules/memchr (Status, Notice): Delete, this module is no
82600         longer obsolete.
82601         * modules/vasnprintf (Depends-on): Add memchr.
82603 2009-06-07  Jim Meyering  <meyering@redhat.com>
82605         hash: declare some functions with the warn_unused_result attribute
82606         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
82608 2009-06-07  Bruno Haible  <bruno@clisp.org>
82610         * tests/test-alignof.c: Don't test int64_t if it does not exist.
82611         Reported by Eric Blake.
82613 2009-06-06  Eric Blake  <ebb9@byu.net>
82615         test-alignof: fix typo with long double
82616         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
82617         compiler error.
82619 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
82621         Escape non-texinfo { and }s.
82622         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
82623         markup error.
82625 2009-06-04  Jim Meyering  <meyering@redhat.com>
82627         gitlog-to-changelog: don't infloop on an empty commit log
82628         * build-aux/gitlog-to-changelog: Warn about an empty log message.
82629         Reported by Boris Petersen <transacid@centerim.org>.
82631 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
82633         version-etc: extend for packagers
82634         Add three new configure options, intended for packagers:
82635           --with-packager="packager name"
82636           --with-packager-version="packager-specific version"
82637           --with-packager-bug-reports="packager bug reporting"
82638         An example with coreutils:
82639           $ ./configure \
82640             --with-packager=Gentoo \
82641             --with-packager-bug-report=http://bugs.gentoo.org/ \
82642             --with-packager-version="patchset 1.6"
82643           $ ./src/ls --version | head -n2
82644           ls (GNU coreutils) 7.1-dirty
82645           Packaged by Gentoo (patchset 1.6)
82646         Note that the bug reporting info via --help doesn't show up because
82647         coreutils uses its own custom emit_bug_reporting_address() implementation
82648         in src/system.h.  If it didn't, it'd look like:
82649           $ ./src/ls --help | tail -n4
82650           Report bugs to <bug-coreutils@gnu.org>.
82651           Report Gentoo bugs to <http://bugs.gentoo.org/>.
82652           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
82653           General help using GNU software: <http://www.gnu.org/gethelp/>.
82654         * lib/version-etc.c: Print new information, if provided.
82655         * m4/version-etc.m4: New file.
82656         * modules/version-etc (Files): Add m4/version-etc.m4.
82657         (configure.ac): Add gl_VERSION_ETC.
82659 2009-05-31  Bruno Haible  <bruno@clisp.org>
82661         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
82662         and 'int64_t'.
82663         * modules/alignof-tests (Dependencies): Add stdint.
82664         Reported by Eric Blake.
82666 2009-05-31  Bruno Haible  <bruno@clisp.org>
82668         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
82669         restriction due to compiler bugs.
82670         Reported by Eric Blake.
82672 2009-05-31  Simon Josefsson  <simon@josefsson.org>
82673             Bruno Haible  <bruno@clisp.org>
82675         Fix test-alignof failure.
82676         * lib/alignof.h (alignof_slot): New macro.
82677         (alignof_type): New macro, with the same semantics as the previous
82678         'alignof'.
82679         (alignof): Alias to alignof_slot.
82680         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
82681         check that the results are usable as constant expressions.
82683 2009-05-31  Bruno Haible  <bruno@clisp.org>
82685         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
82686         * tests/test-memchr.c (main): Check that memchr does not read past the
82687         first occurrence of the byte.
82688         * tests/test-strstr.c (main): Update comment.
82689         Suggested by Eric Blake.
82691 2009-05-30  Bruno Haible  <bruno@clisp.org>
82693         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
82694         detail how to use dumpbin.
82695         Reported by David Byron <dbyron@dbyron.com>.
82697 2009-06-02  Simon Josefsson  <simon@josefsson.org>
82699         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
82701 2009-06-02  Simon Josefsson  <simon@josefsson.org>
82703         * m4/manywarnings.m4: Add GCC 4.4 warnings.
82705 2009-05-28  Bruno Haible  <bruno@clisp.org>
82707         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
82708         build-aux/ files.
82710 2009-05-28  Simon Josefsson  <simon@josefsson.org>
82712         * gnulib-tool (func_import): Transform license on build-aux/ files too.
82714 2009-05-27  Simon Josefsson  <simon@josefsson.org>
82716         * gnulib-tool (sed_transform_main_lib_file)
82717         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
82718         regexps.
82720 2009-05-26  Simon Josefsson  <simon@josefsson.org>
82722         * tests/test-strstr.c: Add another self-test.
82723         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
82724         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
82726 2009-05-23  Bruno Haible  <bruno@clisp.org>
82728         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
82729         change.
82731 2009-05-21  Bruno Haible  <bruno@clisp.org>
82733         Simplify use of mode_t varargs.
82734         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
82735         uses 'mode_t' or 'int'.
82736         * lib/openat.c (openat): Likewise.
82737         * lib/open-safer.c (open_safer): Likewise.
82738         * m4/mode_t.m4: New file.
82739         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
82740         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
82741         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
82742         * modules/open (Files): Add m4/mode_t.m4.
82743         * modules/openat (Files): Likewise.
82744         * modules/fcntl-safer (Files): Likewise.
82745         Suggested by Eric Blake.
82747 2009-05-21  Pádraig Brady  <P@draigbrady.com>
82749         * doc/glibc-functions/fallocate.texi: New file.
82750         * doc/gnulib.texi: Include it.
82752 2009-05-21  Eric Blake  <ebb9@byu.net>
82753             Bruno Haible  <bruno@clisp.org>
82755         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
82756         invocations.
82757         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
82759 2009-05-21  Eric Blake  <ebb9@byu.net>
82760             Bruno Haible  <bruno@clisp.org>
82762         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
82763         include_next. Fix of 2008-11-20 commit.
82764         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
82765         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
82766         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
82767         NEXT_MATH_H.
82768         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
82769         instead of NEXT_MATH_H.
82771 2009-05-21  Bruno Haible  <bruno@clisp.org>
82773         Avoid redefinition warnings for SIZE_MAX.
82774         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
82775         Reported by Simon Josefsson.
82777 2009-05-21  Bruno Haible  <bruno@clisp.org>
82779         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
82780         AC_CACHE_VAL.
82782 2009-05-20  Bruno Haible  <bruno@clisp.org>
82784         Make zeroptr.h work on mingw.
82785         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
82786         mprotect.
82787         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
82788         * modules/memchr2-tests (configure.ac): Likewise.
82789         * modules/memcmp-tests (configure.ac): Likewise.
82790         * modules/memmem-tests (configure.ac): Likewise.
82791         * modules/memrchr-tests (configure.ac): Likewise.
82792         Reported by Simon Josefsson.
82794 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82796         * tests/test-glob.c: Include string.h for strcmp prototype.
82798 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82800         * modules/getdelim (Depends-on): Add explicit stdint, although it
82801         was implicitly already pulled in via realloc-posix.
82802         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
82804 2009-05-20  Simon Josefsson  <simon@josefsson.org>
82806         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
82807         G. Christensen" <tgc@jupiterrise.com>.
82808         * m4/sys_socket_h.m4: Check for sa_family_t.
82809         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
82810         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
82811         * tests/test-sys_socket.c: Check that sa_family_t works.
82813 2009-05-18  Eric Blake  <ebb9@byu.net>
82815         maint.mk: allow gnulib_dir in VPATH build
82816         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
82818 2009-05-15  Jim Meyering  <meyering@redhat.com>
82820         maint.mk: Give gnulib_dir a default definition.
82821         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
82822         Thus, most packages no longer need to specify this variable in cfg.mk
82824 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
82826         rename.m4: fix typos that would make non-mingw cross-configure fail
82827         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
82829 2009-05-13  Eric Blake  <ebb9@byu.net>
82831         mmap-anon: avoid out-of-order autoconf expansion
82832         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
82833         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
82834         * modules/memchr-tests (Depends-on): Add extensions.
82835         * modules/memchr2-tests (Depends-on): Add extensions.
82836         * modules/memcmp-tests (Depends-on): Add extensions.
82837         * modules/memmem-tests (Depends-on): Add extensions.
82838         * modules/memrchr-tests (Depends-on): Add extensions.
82840 2009-05-13  Bruno Haible  <bruno@clisp.org>
82842         Make some tests ISO C 99 compliant.
82843         * tests/zerosize-ptr.h: New file.
82844         * tests/test-memchr.c: Include zerosize-ptr.h.
82845         (main): Use a zero-size object pointer instead of NULL.
82846         * tests/test-memchr2.c: Include zerosize-ptr.h.
82847         (main): Use a zero-size object pointer instead of NULL.
82848         * tests/test-memcmp.c: Include zerosize-ptr.h.
82849         (main): Use a zero-size object pointer instead of NULL.
82850         * tests/test-memmem.c: Include zerosize-ptr.h.
82851         (main): Use a zero-size object pointer instead of NULL.
82852         * tests/test-memrchr.c: Include zerosize-ptr.h.
82853         (main): Use a zero-size object pointer instead of NULL.
82854         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
82855         m4/mmap-anon.m4.
82856         (Depends-on): Add getpagesize.
82857         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
82858         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
82859         m4/mmap-anon.m4.
82860         (Depends-on): Add getpagesize.
82861         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
82862         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
82863         m4/mmap-anon.m4.
82864         (Depends-on): Add getpagesize.
82865         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
82866         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
82867         m4/mmap-anon.m4.
82868         (Depends-on): Add getpagesize.
82869         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
82870         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
82871         m4/mmap-anon.m4.
82872         (Depends-on): Add getpagesize.
82873         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
82875 2009-05-12  Bruno Haible  <bruno@clisp.org>
82877         Tests for module 'alignof'.
82878         * modules/alignof-tests: New file.
82879         * tests/test-alignof.c: New file.
82881 2009-05-12  Bruno Haible  <bruno@clisp.org>
82883         Fix alignof macro.
82884         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
82885         vendor compilers that are always correct.
82887 2009-05-12  Bruno Haible  <bruno@clisp.org>
82889         Make the MAP_ANONYMOUS detection work on HP-UX 11.
82890         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
82891         not whether its fully works.
82893 2009-05-12  Bruno Haible  <bruno@clisp.org>
82895         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
82897 2009-05-12  Jim Meyering  <meyering@redhat.com>
82899         * top/maint.mk: Adjust backslash alignment.
82901 2009-05-11  Simon Josefsson  <simon@josefsson.org>
82903         * top/maint.mk: Make $(srcdir)/build-aux configurable.
82905 2009-05-11  Eric Blake  <ebb9@byu.net>
82907         argp: avoid undefined behavior
82908         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
82909         macros.
82911 2009-05-08  Simon Josefsson  <simon@josefsson.org>
82913         * tests/test-vc-list-files-git.sh: Do git config of user.email and
82914         user.name to prevent git commit from complaining.
82916 2009-05-10  Bruno Haible  <bruno@clisp.org>
82918         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
82919         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
82920         it rewrites every file name only once.
82921         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
82923 2009-05-08  Bruno Haible  <bruno@clisp.org>
82925         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
82926         instead of 'max'.
82928 2009-05-08  Simon Josefsson  <simon@josefsson.org>
82930         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
82931         sockaddr_storage test.
82933 2009-05-07  Simon Josefsson  <simon@josefsson.org>
82935         * modules/sys_socket (Makefile.am): Substitute
82936         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
82937         * m4/sys_socket_h.m4: Check for sockaddr_storage.
82938         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
82939         * tests/test-sys_socket.c: Check sockaddr_storage.
82941 2009-05-08  Bruno Haible  <bruno@clisp.org>
82943         New module 'alignof'.
82944         * lib/alignof.h: New file.
82945         * modules/alignof: New file.
82947 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82948             Bruno Haible  <bruno@clisp.org>
82950         Fix test-file-has-acl on FreeBSD.
82951         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
82952         mask is implicitly added.
82953         * tests/test-file-has-acl.c: Include <signal.h>.
82954         (main): Terminate the test after 5 seconds.
82955         * modules/acl-tests (configure.ac): Check for alarm function.
82957 2009-05-04  Bruno Haible  <bruno@clisp.org>
82959         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
82960         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
82961         * modules/errno (configure.ac): Drop AC_REQUIRE.
82962         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
82963         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
82965 2009-05-04  Simon Josefsson  <simon@josefsson.org>
82967         * modules/glob-tests: New module.
82968         * tests/test-glob.c: Add.
82970 2009-05-04  Simon Josefsson  <simon@josefsson.org>
82972         * modules/fnmatch-tests: New module.
82973         * tests/test-fnmatch.c: Add.
82975 2009-05-04  Eric Blake  <ebb9@byu.net>
82977         maint: make the new no-submodule-changes rule VPATH-safe
82978         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
82980 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82981             Bruno Haible  <bruno@clisp.org>
82983         acl: Fix infinite loop on FreeBSD.
82984         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
82985         of return value from acl_get_entry.
82986         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
82987         Likewise.
82989 2009-05-03  Bruno Haible  <bruno@clisp.org>
82991         * lib/acl-internal.h (acl_entries): Clarify return value.
82992         * lib/acl_entries.c (acl_entries): Likewise.
82994 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
82996         Bug fix in acl module.
82997         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
82999 2009-05-03  Bruno Haible  <bruno@clisp.org>
83001         Create gperf-generated file in the source dir, not in the build dir.
83002         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
83003         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
83004         * modules/unicase/locale-language (unicase/locale-languages.h):
83005         Likewise.
83006         * modules/unicase/special-casing (unicase/special-casing-table.h):
83007         Likewise.
83008         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
83009         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
83010         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
83011         Reported by Ralf Wildenhues.
83013 2009-05-03  Bruno Haible  <bruno@clisp.org>
83015         * modules/fnmatch (Description, configure.ac): Taken from
83016         fnmatch-posix.
83017         * modules/fnmatch-posix: Turn into a symbolic reference to the
83018         'fnmatch' module, and deprecate.
83019         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
83021 2009-05-03  Bruno Haible  <bruno@clisp.org>
83023         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
83024         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
83025         Reported by Ralf Wildenhues.
83027 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83029         * m4/fnmatch.m4: Fix fnmatch re-define.
83031 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83033         priv-set: new module and tests; adapt write-any-file
83034         * lib/priv-set.c: New file.
83035         * lib/priv-set.h: New file.
83036         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
83037         * lib/write-any-file.c: Simplify by using priv-set module.
83038         * m4/priv-set.m4: New file.
83039         * modules/priv-set: New file.
83040         * modules/unlinkdir: Add dependency on priv-set module.
83041         * modules/write-any-file: Likewise.
83043         Tests for module 'priv-set'.
83044         * modules/priv-set-tests: New file.
83045         * tests/test-priv-set.c: New file.
83047 2009-05-03  Jim Meyering  <meyering@redhat.com>
83048             Bruno Haible  <bruno@clisp.org>
83050         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
83051         use the converted UTF-8 variant of the name instead.
83053 2009-05-03  Jim Meyering  <meyering@redhat.com>
83055         tests: tighten some getdate tests
83056         * tests/test-getdate.c (main): Tighten tests: require equality,
83057         not just greater than.  Set TZ envvar to UTC0.
83059 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
83061         getdate: correctly interpret "next monday" when run on a Monday
83062         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
83063         that e.g., "next tues" (when run on a tuesday) results in a date
83064         that is one week in the future, and not today's date.
83065         I.e., add a week when the wday is the same as the current one.
83066         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
83067         and earlier by Martin Bernreuther and Jan Minář.
83068         * tests/test-getdate.c (main): Check that "next DAY" is always in
83069         the future and that "last DAY" is always in the past.
83071 2009-05-02  Jim Meyering  <meyering@redhat.com>
83073         build: ensure that a release build fails when a submodule is unclean
83074         * top/maint.mk (no-submodule-changes): New rule.
83075         (alpha beta major): Depend on it.
83077 2009-05-02  Bruno Haible  <bruno@clisp.org>
83079         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
83080         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
83081         shell variable gl_fnmatch_required to detect which variant is
83082         requested.
83083         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
83084         gl_FUNC_FNMATCH_POSIX.
83085         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
83086         exclude fnmatch-posix.
83088 2009-05-02  Bruno Haible  <bruno@clisp.org>
83090         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
83091         * modules/mbsrtowcs (License): Change to LGPLv2+.
83092         * modules/strnlen1 (License): Likewise.
83093         Reported by Simon Josefsson.
83095 2009-05-02  Bruno Haible  <bruno@clisp.org>
83097         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
83098         "cross".
83099         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
83100         gnulib-tool was called with option --source-base=lib.
83102 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83104         Use automake *-local hooks without commands, for extensibility.
83105         * modules/localcharset (Makefile.am): Rename install-exec-local
83106         rule to install-exec-localcharset, and make it a prerequisite of
83107         install-exec-local.  Likewise, rename the uninstall-local rule to
83108         uninstall-localcharset, and make it a prerequisite of the former.
83110 2009-05-01  Bruno Haible  <bruno@clisp.org>
83112         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
83113         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83114         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
83115         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
83116         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
83117         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83118         m4/locale-zh.m4, m4/codeset.m4.
83120         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83121         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
83122         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83123         m4/locale-zh.m4.
83125         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
83126         REPLACE_WCRTOMB if mbstate_t must be replaced.
83127         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
83128         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
83130 2009-05-01  Bruno Haible  <bruno@clisp.org>
83132         Avoid compiler warnings when redefining macros defined by <libintl.h>.
83133         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
83134         dngettext, dcngettext, textdomain, bindtextdomain,
83135         bind_textdomain_codeset): Undefine before redefining.
83137 2009-04-30  Bruno Haible  <bruno@clisp.org>
83139         Fix bug introduced on 2009-04-25.
83140         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
83141         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
83142         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
83143         is defined.
83144         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
83145         is defined.
83146         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
83147         is defined.
83148         Reported by Elbert_Pol <elbert.pol@gmail.com>.
83150 2009-04-28  Bruno Haible  <bruno@clisp.org>
83152         Comment tweaks.
83153         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
83154         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
83155         * lib/unicase.h (u*_casexfrm): Likewise.
83156         Reported by Paolo Bonzini.
83158 2009-04-28  Bruno Haible  <bruno@clisp.org>
83160         Fix a compilation error.
83161         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
83162         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
83163         Reported by Jim Meyering.
83165 2009-04-27  Bruno Haible  <bruno@clisp.org>
83167         New module 'libunistring'.
83168         * modules/libunistring: New file.
83169         * m4/libunistring.m4: New file.
83170         * MODULES.html.sh (Unicode string functions): Add it.
83172 2009-04-27  Eric Blake  <ebb9@byu.net>
83174         maint.mk: allow package-specific header to provide <config.h>
83175         * top/maint.mk (sc_require_config_h): New variable.
83176         (sc_require_config_h, sc_require_config_h_first): Use it.
83178 2009-04-27  Simon Josefsson  <simon@josefsson.org>
83180         * top/maint.mk (sc_avoid_if_before_free): Except
83181         useless-if-before-free script.
83183 2009-04-27  Eric Blake  <ebb9@byu.net>
83185         maintainer-makefile: depend on all required helper scripts
83186         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
83187         useless-if-before-free.
83188         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
83189         version, rather than assuming gnulib checkout is available.
83190         Reported by Simen Josefsson.
83192 2009-04-26  Bruno Haible  <bruno@clisp.org>
83194         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
83195         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
83196         "../" or "..".
83198 2009-04-26  Bruno Haible  <bruno@clisp.org>
83200         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
83201         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
83202         AC_LIB_HAVE_LINKFLAGS.
83204 2009-04-26  Bruno Haible  <bruno@clisp.org>
83206         Simplify calling convention of u*_conv_from_encoding.
83207         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
83208         u32_conv_from_encoding): Expect a resultbuf argument and return the
83209         result directly as a pointer.
83210         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
83211         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
83212         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
83213         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
83214         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
83215         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83216         Update.
83217         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
83218         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
83219         * lib/vasnprintf.c (VASNPRINTF): Update.
83220         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
83221         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
83222         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
83223         * NEWS: Mention the change.
83225 2009-04-26  Bruno Haible  <bruno@clisp.org>
83227         Simplify calling convention of u*_conv_to_encoding.
83228         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
83229         u32_conv_to_encoding): Expect a resultbuf argument and return the
83230         result directly as a pointer.
83231         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83232         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
83233         freeing scaled_offsets if mem_iconveha failed.
83234         * lib/unicase/u-casexfrm.h (FUNC): Update.
83235         * lib/uninorm/u-normxfrm.h (FUNC): Update.
83236         * lib/vasnprintf.c (VASNPRINTF): Update.
83237         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
83238         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
83239         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
83240         * NEWS: Mention the change.
83242 2009-04-26  Bruno Haible  <bruno@clisp.org>
83244         Avoid test failures on AIX and OSF/1.
83245         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
83246         malloc(0).
83247         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83248         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83249         Likewise.
83250         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
83251         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
83252         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
83253         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
83254         * doc/posix-functions/malloc.texi: Document the portability problem
83255         related to malloc(0).
83257 2009-04-26  Bruno Haible  <bruno@clisp.org>
83259         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
83260         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
83261         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
83263 2009-04-25  Bruno Haible  <bruno@clisp.org>
83265         Avoid link error when creating a namespace clean library.
83266         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
83267         as macro with arguments if already defined as an alias.
83268         * lib/signbitf.c (gl_signbitf): Don't undefine.
83269         * lib/signbitd.c (gl_signbitd): Don't undefine.
83270         * lib/signbitl.c (gl_signbitl): Don't undefine.
83272 2009-04-25  Jim Meyering  <meyering@redhat.com>
83274         vc-list-files: fix another quoting bug
83275         * build-aux/vc-list-files: Avoid sed backslash expansion
83276         of pathological directory names.
83278 2009-04-25  Eric Blake  <ebb9@byu.net>
83280         vc-list-files: fix shell quoting error
83281         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
83282         timestamp.
83284 2009-04-25  Jim Meyering  <meyering@redhat.com>
83286         vc-list-files: restore lost functionality with subdir argument
83287         * build-aux/vc-list-files: When given a non-"." sub-directory
83288         argument, substitute the $dir/ prefix back onto each resulting name.
83289         Otherwise, coreutils' root_tests check would fail.
83291 2009-04-24  Eric Blake  <ebb9@byu.net>
83293         vc-list-files: ignore git symlinks
83294         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
83295         than ls-files, to ignore git symlinks.
83297         maint.mk: import improvements from m4
83298         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
83299         (move_if_change): Delete unused macro.
83300         (news-date-check, vc-diff-check): Support VPATH builds.
83301         (announcement): Likewise.  Split --bootstrap-tools list...
83302         (boostrap-tools): ...into separate list, which can be overridden
83303         in cfg.mk.
83304         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
83305         requiring dependency on useless-if-before-free module.
83306         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
83307         Support VPATH builds.
83309 2009-04-24  Jim Meyering  <meyering@redhat.com>
83311         maint.mk: remove coreutils-specific rules and variables
83312         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
83313         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
83314         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
83316         maint.mk: remove obsolete rule
83317         * top/maint.mk (rel-check): Remove rule.
83318         (WGET, WGETFLAGS): Remove now-unused variables.
83320 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83322         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
83323         consistency.
83325         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
83326         '$(PATH_SEPARATOR)' instead of ':'.
83328 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83330         * lib/getopt1.c (main): Use 'const' for static array.
83332 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83334         * top/maint.mk: Sync with coreutils.
83335         * NEWS: Explain incompatibilities.
83337 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83338             Bruno Haible  <bruno@clisp.org>
83340         Fix cross-compilation results.
83341         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
83342         statement, as third argument of AC_TRY_RUN.
83343         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
83344         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
83345         Likewise.
83346         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
83347         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
83348         Likewise.
83349         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
83350         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
83351         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
83353 2009-04-20  Bruno Haible  <bruno@clisp.org>
83355         Avoid test failure on mingw.
83356         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
83358 2009-04-20  Bruno Haible  <bruno@clisp.org>
83360         Avoid compilation error on mingw.
83361         * modules/localename-tests (Depends-on): Add locale.
83363 2009-04-19  Bruno Haible  <bruno@clisp.org>
83365         Support for building a shared library on Windows platforms.
83366         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
83367         (main): Test the presence of UNINORM_NFC here.
83368         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
83369         (main): Test the presence of UNINORM_NFD here.
83370         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
83371         (main): Test the presence of UNINORM_NFKC here.
83372         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
83373         (main): Test the presence of UNINORM_NFKD here.
83375 2009-04-19  Bruno Haible  <bruno@clisp.org>
83377         Avoid a compiler warning.
83378         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
83379         Change type of variable 'sequence'.
83381 2009-04-19  Bruno Haible  <bruno@clisp.org>
83383         * modules/configmake (Makefile.am): When the contents of configmake.h
83384         does not change, arrange to preserve its modification time.
83386 2009-04-17  Simon Josefsson  <simon@josefsson.org>
83388         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
83389         gettext domain.
83391 2009-04-16  Jim Meyering  <meyering@redhat.com>
83393         useless-if-before-free: improve conversion code
83394         * build-aux/useless-if-before-free: Adjust code-in-comment to match
83395         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
83397 2009-04-14  Bruno Haible  <bruno@clisp.org>
83399         * modules/fcntl (Depends-on): Add extensions.
83400         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
83402 2009-04-12  Ben Pfaff  <blp@gnu.org>
83404         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
83405         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
83407 2009-03-20  Ben Pfaff  <blp@gnu.org>
83409         Make rename replace existing destinations on Windows.
83410         * m4/rename.m4: Add test for Mingw.
83411         * lib/rename.c: Add rename replacement that uses MoveFileEx with
83412         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
83413         * doc/posix-functions/rename.texi: Document.
83415 2009-04-10  Bruno Haible  <bruno@clisp.org>
83417         New include file "iconveh.h".
83418         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
83419         * lib/striconveh.h: Include it.
83420         (enum iconv_ilseq_handler): Remove definition.
83421         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
83422         striconveh.h.
83423         * lib/striconveha.c: Include striconveh.h.
83424         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
83425         * modules/striconveh (Files): Add lib/iconveh.h.
83426         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
83427         lib/striconveh.h.
83429 2009-04-10  Bruno Haible  <bruno@clisp.org>
83431         * lib/uniconv.h: Update comment.
83433 2009-04-10  Bruno Haible  <bruno@clisp.org>
83435         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
83436         always.
83437         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83438         * lib/unistr/u16-mbtouc-aux.c: Likewise.
83439         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
83440         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
83441         "unistring-notinline.h", so that the function gets defined always.
83442         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83443         * lib/unistr/u8-uctomb.c: Likewise.
83444         * lib/unistr/u16-mbtouc.c: Likewise.
83445         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
83446         * lib/unistr/u16-uctomb.c: Likewise.
83447         * lib/unistr/u32-mbtouc.c: Likewise.
83448         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83449         * lib/unistr/u32-uctomb.c: Likewise.
83451 2009-04-10  Bruno Haible  <bruno@clisp.org>
83453         Mark 'utime' obsolete.
83454         * modules/utime (Status, Notice): New sections.
83455         Suggested by Jim Meyering.
83457         Fix cross-compile guess for utime test.
83458         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
83459         autoconf.
83460         * doc/posix-functions/utime.texi: Give more precisions.
83461         Reported by Jan <ipif@ymail.com>.
83463 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
83465         filevercmp: correct today's change
83466         * lib/filevercmp.c: Also handle coreutils' test inputs.
83467         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
83469         Fix regression in 'filevercmp' module. Thanks Sven Joachim
83470         for reporting it.
83471         * lib/filevercmp.c: Special handle for "", "." and "..".
83472         * tests/test-filevercmp.c: Enlarge the set suite.
83474 2009-04-07  Jim Meyering  <meyering@redhat.com>
83476         useless-if-before-free: show how to remove braced useless free, too
83477         * build-aux/useless-if-before-free: still only in a comment, though.
83479 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
83481         maint.mk: import changes to syntax-check macros from coreutils
83482         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
83483         Use them in the relevant macros.
83485 2009-04-06  Bruno Haible  <bruno@clisp.org>
83487         Fix unportable use of bit-fields.
83488         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
83489         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
83490         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
83492 2009-04-06  Bruno Haible  <bruno@clisp.org>
83494         Avoid test failures on AIX and OSF/1.
83495         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
83496         that malloc(0) = NULL.
83497         * tests/unicase/test-u8-tolower.c (check): Likewise.
83498         * tests/unicase/test-u8-totitle.c (check): Likewise.
83499         * tests/unicase/test-u8-toupper.c (check): Likewise.
83500         * tests/unicase/test-u16-casefold.c (check): Likewise.
83501         * tests/unicase/test-u16-tolower.c (check): Likewise.
83502         * tests/unicase/test-u16-totitle.c (check): Likewise.
83503         * tests/unicase/test-u16-toupper.c (check): Likewise.
83504         * tests/unicase/test-u32-casefold.c (check): Likewise.
83505         * tests/unicase/test-u32-tolower.c (check): Likewise.
83506         * tests/unicase/test-u32-totitle.c (check): Likewise.
83507         * tests/unicase/test-u32-toupper.c (check): Likewise.
83508         * tests/uninorm/test-u8-nfc.c (check): Likewise.
83509         * tests/uninorm/test-u8-nfd.c (check): Likewise.
83510         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
83511         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
83512         * tests/uninorm/test-u16-nfc.c (check): Likewise.
83513         * tests/uninorm/test-u16-nfd.c (check): Likewise.
83514         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
83515         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
83516         * tests/uninorm/test-u32-nfc.c (check): Likewise.
83517         * tests/uninorm/test-u32-nfd.c (check): Likewise.
83518         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
83519         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
83521 2009-04-05  Bruno Haible  <bruno@clisp.org>
83523         Work around an autoconf limitation.
83524         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
83525         comment line if it would be longer than 3 KB.
83527 2009-04-05  Bruno Haible  <bruno@clisp.org>
83529         Avoid test failure with libiconv-1.13.
83530         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
83531         of the expected test results.
83533 2009-04-05  Bruno Haible  <bruno@clisp.org>
83535         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
83536         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
83537         that it should be installed.
83539 2009-04-05  Bruno Haible  <bruno@clisp.org>
83541         * gnulib-tool: New option --copy-file.
83542         (func_usage): Document it.
83543         (func_dest_tmpfilename): Moved out of func_import.
83544         (func_add_file, func_update_file): New functions, extracted from
83545         func_import.
83546         (func_import): Update.
83548 2009-04-05  Karl Berry  <karl@gnu.org>
83550         * README: prominently mention gnulib-tool.
83551         Rearrange sections so getting the code is near the top.
83553 2009-04-05  Bruno Haible  <bruno@clisp.org>
83555         * lib/unicase.h: Mention u*_cmp2.
83556         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
83557         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
83558         * lib/unicase/ulc-casecmp.c: Likewise.
83559         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
83560         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
83561         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
83562         unistr/u8-cmp.
83563         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
83564         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
83565         unistr/u16-cmp.
83566         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
83567         unistr/u32-cmp.
83569         * lib/uninorm.h: Mention u*_cmp2.
83570         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
83571         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
83572         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
83573         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
83574         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
83575         unistr/u8-cmp.
83576         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
83577         unistr/u16-cmp.
83578         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
83579         unistr/u32-cmp.
83581         New module 'unistr/u32-cmp2'.
83582         * lib/unistr/u32-cmp2.c: New file.
83583         * modules/unistr/u32-cmp2: New file.
83585         New module 'unistr/u16-cmp2'.
83586         * lib/unistr/u16-cmp2.c: New file.
83587         * modules/unistr/u16-cmp2: New file.
83589         New module 'unistr/u8-cmp2'.
83590         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
83591         * lib/unistr/u8-cmp2.c: New file.
83592         * lib/unistr/u-cmp2.h: New file.
83593         * modules/unistr/u8-cmp2: New file.
83595 2009-04-05  Bruno Haible  <bruno@clisp.org>
83597         * lib/unictype.h (uc_property_is_valid): New macro.
83598         * tests/unictype/test-pr_byname.c (main): Use it.
83600         * lib/unistr.h: Doc fixes.
83601         * lib/uniconv.h: Doc fixes.
83602         * lib/unictype.h: Doc fixes.
83604 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
83606         Port coreutils 7.2 to Solaris 8.
83608         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
83609         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
83610         for Solaris 8.  This is a bit of a hack, as it means it's the
83611         caller's responsibility to add -lnsl if needed, but most likely it
83612         won't be needed since only getaddrinfo uses this and getaddrinfo
83613         isn't needed on Solaris 8.
83615         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
83616         problem to Solaris 8 encountered with coreutils 7.2, which
83617         resulted in a message "fnmatch.c:292: warning: passing argument 4
83618         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
83619         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
83621 2009-04-03  Simon Josefsson  <simon@josefsson.org>
83623         * m4/ld-version-script.m4: Add FIXME comment.
83625 2009-04-02  Simon Josefsson  <simon@josefsson.org>
83627         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
83628         SOVERSION variable.
83630 2009-04-02  Bruno Haible  <bruno@clisp.org>
83632         * Makefile (info, html, dvi, pdf): Combine the rules.
83633         Suggested by Jim Meyering.
83635 2009-04-01  Bruno Haible  <bruno@clisp.org>
83637         * Makefile (info, html, dvi, pdf): New targets.
83638         Reported by Reuben Thomas <rrt@sc3d.org>.
83640 2009-04-01  Bruno Haible  <bruno@clisp.org>
83642         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
83643         can be put into PATH.
83644         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
83646 2009-04-01  Bruno Haible  <bruno@clisp.org>
83648         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
83650 2009-04-01  Bruno Haible  <bruno@clisp.org>
83652         Rename module 'visibility'.
83653         * modules/lib-symbol-visibility: Renamed from modules/visibility.
83654         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
83655         * doc/gnulib.texi: Update.
83656         * MODULES.html.sh (Misc): Update.
83657         * NEWS: Mention the change.
83659 2009-04-01  Simon Josefsson  <simon@josefsson.org>
83661         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
83662         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
83663         Eric Blake <ebb9@byu.net> for review.
83664         * MODULES.html.sh: Add lib-msvc-compat.
83665         * doc/gnulib.texi: Link to new section.
83666         * m4/ld-output-def.m4: New file.
83667         * doc/ld-output-def.texi: New file.
83669 2009-04-01  Simon Josefsson  <simon@josefsson.org>
83671         Rename ld-version-script to lib-symbol-versions.  Suggested by
83672         Bruno Haible <bruno@clisp.org>.
83673         * modules/ld-version-script: Renamed to lib-symbol-versions.
83674         * doc/ld-version-script.texi: Fix module name.
83675         * MODULES.html.sh: Add lib-symbol-versions.
83677 2009-03-31  Simon Josefsson  <simon@josefsson.org>
83679         * modules/u64-tests: New file.
83680         * tests/test-u64.c: New file.
83682 2009-03-04  Simon Josefsson  <simon@josefsson.org>
83684         * MODULES.html.sh: Mention u64.
83685         * modules/u64: New module.
83686         * modules/crypto/sha512: Depend on u64 module instead of providing
83687         u64.h.
83689 2009-03-27  Eric Blake  <ebb9@byu.net>
83691         test-strerror: make debugging EAI_SYSTEM easier
83692         * modules/getaddrinfo-tests (Depends-on): Add strerror.
83693         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
83694         failure was EAI_SYSTEM.
83696 2009-03-25  Bruno Haible  <bruno@clisp.org>
83698         Fix a problem with --enable-relocatable on Solaris 7.
83699         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
83700         since 2008-02-24.
83702 2009-03-25  Eric Blake  <ebb9@byu.net>
83704         test-sockets: avoid gcc warning
83705         * tests/test-sockets.c (main): Silence compiler warning.
83707 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
83709         New modules nproc, pthread, contributed by Glen Lenker.
83711         * MODULES.html.sh: Add pthread, nproc.
83712         * lib/nproc.c: New file.
83713         * lib/nproc.h: New file.
83714         * lib/pthread.in.h: New file.
83715         * m4/pthread.m4: New file.
83716         * modules/nproc: New file.
83717         * modules/pthread: New file.
83719 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83721         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
83722         New variable.
83724 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
83726         filevercmp: handle simple~ and numbered.~3~ backup suffixes
83727         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
83728         * tests/test-filevercmp.c: Add tests for backup suffixes.
83730 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83732         * modules/stdlib (Depends-on): Add stdint, needed when defining
83733         struct random_data on, for example, HP-UX 10.20.  Reported by
83734         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
83736 2009-03-24  Simon Josefsson  <simon@josefsson.org>
83738         * lib/readline.c (readline): Call fflush on stdout after printing
83739         prompt.
83741 2009-03-20  Bruno Haible  <bruno@clisp.org>
83743         Remove dependency from 'close' module to -lws2_32 on native Windows.
83744         * lib/close-hook.h: New file.
83745         * lib/close-hook.c: New file.
83746         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
83747         w32sock.h.
83748         (_gl_close_fd_maybe_socket): Remove function.
83749         (rpl_close): Invoke execute_all_close_hooks instead of
83750         _gl_close_fd_maybe_socket.
83751         * lib/sockets.c: Include close-hook.h, w32sock.h.
83752         (close_fd_maybe_socket): New function, essentially from lib/close.c.
83753         (close_sockets_hook): New variable.
83754         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
83755         (gl_sockets_cleanup): Unregister it.
83756         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
83757         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
83758         * modules/close-hook: New file.
83759         * modules/close (Files): Remove lib/w32sock.h.
83760         (Depends-on): Add close-hook.
83761         (Link): Remove section.
83762         * modules/sockets (Files): Add lib/w32sock.h.
83763         (Depends-on): Add close-hook.
83764         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
83765         invocation.
83766         * NEWS: Mention that LIB_CLOSE is gone.
83768 2009-03-23  Eric Blake  <ebb9@byu.net>
83770         signal-tests: test previous patch
83771         * tests/test-signal.c: New file.
83772         * modules/signal-tests: Likewise.
83774         signal.h: always support 'volatile sig_atomic_t'
83775         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
83776         (gl_SIGNAL_H_DEFAULTS): Add a default.
83777         * modules/signal (Makefile.am): Substitute if needed.
83778         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
83779         users can blindly add volatile.
83780         * doc/posix-headers/signal.texi (signal.h): Document it.
83781         Reported by Matthew Woehlke.
83783 2009-03-23  Jim Meyering  <meyering@redhat.com>
83785         pathmax: PATH_MAX: use pathconf only when available
83786         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
83787         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
83788         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
83789         This avoids a link failure in a PSP cross-compilation environment
83790         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
83792         * lib/vasnprintf.c (divide): Fix typo in comment.
83794 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83796         * gnulib-tool (func_filter_filelist): Fix comment.
83798 2009-03-20  Bruno Haible  <bruno@clisp.org>
83800         Make sockets.h self-contained.
83801         * lib/sockets.c: Include sockets.h first.
83802         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
83804 2009-03-19  Eric Blake  <ebb9@byu.net>
83806         doc: mention more functions added in cygwin 1.7.0
83807         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
83808         addition.
83809         * doc/posix-functions/log2f.texi: Likewise.
83811 2009-03-19  Jim Meyering  <meyering@redhat.com>
83813         fsusage: avoid syntax error due to statement-before-declaration
83814         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
83815         after all declarations.  Reported by Matthew Woehlke in
83816         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
83818 2009-03-18  Eric Blake  <ebb9@byu.net>
83820         build-aux/compile: sync from automake
83821         * build-aux/compile: New file, from automake.
83822         * config/srclist.txt: Mention build-aux/compile.
83824 2009-03-17  Bruno Haible  <bruno@clisp.org>
83826         * lib/git-merge-changelog.c: Fix typo in comment.
83827         Reported by Reuben Thomas <rrt@sc3d.org>.
83829 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
83831         * m4/regex.m4: update and improve help for
83832         --without-included-regex.
83834 2009-03-17  Simon Josefsson  <simon@josefsson.org>
83836         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
83837         failure on missing include files.
83839 2009-03-17  Eric Blake  <ebb9@byu.net>
83841         doc: mention more functions added in cygwin 1.7.0
83842         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
83843         addition.
83844         * doc/posix-functions/fwscanf.texi: Likewise.
83845         * doc/posix-functions/swprintf.texi: Likewise.
83846         * doc/posix-functions/swscanf.texi: Likewise.
83847         * doc/posix-functions/vfwprintf.texi: Likewise.
83848         * doc/posix-functions/vfwscanf.texi: Likewise.
83849         * doc/posix-functions/vswprintf.texi: Likewise.
83850         * doc/posix-functions/vswscanf.texi: Likewise.
83851         * doc/posix-functions/vwprintf.texi: Likewise.
83852         * doc/posix-functions/vwscanf.texi: Likewise.
83853         * doc/posix-functions/wcscasecmp.texi: Likewise.
83854         * doc/posix-functions/wcsdup.texi: Likewise.
83855         * doc/posix-functions/wcsftime.texi: Likewise.
83856         * doc/posix-functions/wcsncasecmp.texi: Likewise.
83857         * doc/posix-functions/wprintf.texi: Likewise.
83858         * doc/posix-functions/wscanf.texi: Likewise.
83859         * doc/glibc-functions/gethostbyname2.texi: Likewise.
83861 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83863         maint.mk: really add $(AM_MAKEFLAGS)
83864         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
83865         was inadvertently omitted in the last commit.
83866         Spotted by Bruno Haible.
83868         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
83869         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
83870         $(AM_MAKEFLAGS)' rather than plain `make'.
83872         gnulib-tool: execute $MAKE not make
83873         * gnulib-tool: Default $MAKE to 'make'.
83874         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
83875         than make.  Initialize $MAKE in the do-autobuild script.
83877         gnulib-tool: use $MAKE not make in generated files
83878         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
83879         make, in generated files.  Initialize $MAKE in the do-autobuild
83880         script.
83882         * top/GNUmakefile (_have-git-version-gen): Fix typo.
83884         GNUmakefile: disable parallelism only for multiple, recursive targets
83885         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
83886         additions in the Makefile.
83887         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
83888         by Automake.
83889         (.NOTPARALLEL): Only disable parallel builds if multiple targets
83890         are listed on the command line and at least one of them is
83891         listed in $(ALL_RECURSIVE_TARGETS).
83893 2009-03-14  Bruno Haible  <bruno@clisp.org>
83895         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
83896         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
83897         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
83898         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
83899         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
83900         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
83901         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
83902         unistr/u8-uctomb.
83903         * modules/unistr/u8-strchr (Depends-on): Likewise.
83904         * modules/unistr/u8-strrchr (Depends-on): Likewise.
83905         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
83906         unistr/u16-uctomb.
83907         * modules/unistr/u16-strchr (Depends-on): Likewise.
83908         * modules/unistr/u16-strrchr (Depends-on): Likewise.
83910 2009-03-12  Bruno Haible  <bruno@clisp.org>
83912         Work around select() bug on Interix 3.5.
83913         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
83914         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
83915         * m4/select.m4: New file.
83916         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
83917         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
83918         * modules/select (Files): Add m4/select.m4.
83919         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
83920         * modules/nanosleep (Depends-on): Add select.
83921         * modules/poll (Depends-on): Likewise.
83922         * doc/posix-functions/select.texi: Mention the Interix bug.
83923         Reported by Markus Duft <mduft@gentoo.org>.
83925         * lib/select.c: Renamed from lib/winsock-select.c.
83926         * modules/select (Files): Add lib/select.c, remove
83927         lib/winsock-select.c.
83928         (configure.ac): Update.
83930 2009-03-12  Jim Meyering  <meyering@redhat.com>
83932         avoid gcc warnings about unused macro definitions
83933         * lib/readtokens.c (STREQ): Remove unused definition.
83934         * lib/xmalloc.c (SIZE_MAX): Likewise.
83935         * lib/openat-die.c (N_): Likewise.
83936         * lib/mountlist.c (SIZE_MAX): Remove definition.
83937         Instead, include <stdint.h>.
83938         * lib/readutmp.c: Likewise.
83939         * modules/readutmp (Depends-on): Add stdint.
83940         * modules/mountlist (Depends-on): Add stdint.
83941         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
83943 2009-03-10  Bruno Haible  <bruno@clisp.org>
83945         Tests for module 'mbmemcasecoll'.
83946         * modules/mbmemcasecoll-tests: New file.
83947         * tests/test-mbmemcasecoll1.sh: New file.
83948         * tests/test-mbmemcasecoll2.sh: New file.
83949         * tests/test-mbmemcasecoll3.sh: New file.
83950         * tests/test-mbmemcasecoll.c: New file.
83952         New module 'mbmemcasecoll'.
83953         * lib/mbmemcasecoll.h: New file.
83954         * lib/mbmemcasecoll.c: New file.
83955         * modules/mbmemcasecoll: New file.
83957         * tests/test-mbmemcasecmp.h: New file, extracted from
83958         tests/test-mbmemcasecmp.c.
83959         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
83960         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
83961         (main): Update.
83962         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
83964 2009-03-09  Bruno Haible  <bruno@clisp.org>
83966         Tests for module 'mbmemcasecmp'.
83967         * modules/mbmemcasecmp-tests: New file.
83968         * tests/test-mbmemcasecmp1.sh: New file.
83969         * tests/test-mbmemcasecmp2.sh: New file.
83970         * tests/test-mbmemcasecmp3.sh: New file.
83971         * tests/test-mbmemcasecmp.c: New file.
83973         New module 'mbmemcasecmp'.
83974         * lib/mbmemcasecmp.h: New file.
83975         * lib/mbmemcasecmp.c: New file.
83976         * modules/mbmemcasecmp: New file.
83978 2009-03-09  Bruno Haible  <bruno@clisp.org>
83980         Tests for module 'unicase/ulc-casecoll'.
83981         * modules/unicase/ulc-casecoll-tests: New file.
83982         * tests/unicase/test-ulc-casecoll1.sh: New file.
83983         * tests/unicase/test-ulc-casecoll2.sh: New file.
83984         * tests/unicase/test-ulc-casecoll.c: New file.
83986         New module 'unicase/ulc-casecoll'.
83987         * lib/unicase.h (ulc_casecoll): New declaration.
83988         * lib/unicase/ulc-casecoll.c: New file.
83989         * modules/unicase/ulc-casecoll: New file.
83991         New module 'unicase/ulc-casexfrm'.
83992         * lib/unicase.h (ulc_casexfrm): New declaration.
83993         * lib/unicase/ulc-casexfrm.c: New file.
83994         * modules/unicase/ulc-casexfrm: New file.
83996 2009-03-09  Bruno Haible  <bruno@clisp.org>
83998         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
83999         invocations.
84001         * m4/mbscasecmp.m4: Remove file.
84002         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
84003         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
84005         * m4/mbscasestr.m4: Remove file.
84006         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
84007         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
84009         * m4/mbschr.m4: Remove file.
84010         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
84011         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
84013         * m4/mbscspn.m4: Remove file.
84014         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
84015         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
84017         * m4/mbslen.m4: Remove file.
84018         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
84019         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
84021         * m4/mbsncasecmp.m4: Remove file.
84022         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
84023         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
84025         * m4/mbsnlen.m4: Remove file.
84026         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
84027         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
84029         * m4/mbspbrk.m4: Remove file.
84030         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
84031         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
84033         * m4/mbspcasecmp.m4: Remove file.
84034         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
84035         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
84037         * m4/mbsrchr.m4: Remove file.
84038         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
84039         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
84041         * m4/mbssep.m4: Remove file.
84042         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
84043         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
84045         * m4/mbsspn.m4: Remove file.
84046         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
84047         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
84049         * m4/mbsstr.m4: Remove file.
84050         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
84051         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
84053         * m4/mbstok_r.m4: Remove file.
84054         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
84055         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
84057         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
84059         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
84060         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
84062         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
84064 2009-03-08  Bruno Haible  <bruno@clisp.org>
84066         Tests for module 'unicase/ulc-casecmp'.
84067         * modules/unicase/ulc-casecmp-tests: New file.
84068         * tests/unicase/test-ulc-casecmp1.sh: New file.
84069         * tests/unicase/test-ulc-casecmp2.sh: New file.
84070         * tests/unicase/test-ulc-casecmp.c: New file.
84072         New module 'unicase/ulc-casecmp'.
84073         * lib/unicase.h (ulc_casecmp): New declaration.
84074         * lib/unicase/ulc-casecmp.c: New file.
84075         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
84076         'const SRC_UNIT *'.
84077         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
84078         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
84079         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
84080         * modules/unicase/ulc-casecmp: New file.
84082         Tests for module 'unicase/u32-is-cased'.
84083         * modules/unicase/u32-is-cased-tests: New file.
84084         * tests/unicase/test-u32-is-cased.c: New file.
84086         Tests for module 'unicase/u16-is-cased'.
84087         * modules/unicase/u16-is-cased-tests: New file.
84088         * tests/unicase/test-u16-is-cased.c: New file.
84090         Tests for module 'unicase/u8-is-cased'.
84091         * modules/unicase/u8-is-cased-tests: New file.
84092         * tests/unicase/test-u8-is-cased.c: New file.
84093         * tests/unicase/test-is-cased.h: New file.
84095         New module 'unicase/u32-is-cased'.
84096         * lib/unicase/u32-is-cased.c: New file.
84097         * modules/unicase/u32-is-cased: New file.
84099         New module 'unicase/u16-is-cased'.
84100         * lib/unicase/u16-is-cased.c: New file.
84101         * modules/unicase/u16-is-cased: New file.
84103         New module 'unicase/u8-is-cased'.
84104         * lib/unicase/u8-is-cased.c: New file.
84105         * lib/unicase/u-is-cased.h: New file.
84106         * modules/unicase/u8-is-cased: New file.
84108         Tests for module 'unicase/u32-is-casefolded'.
84109         * modules/unicase/u32-is-casefolded-tests: New file.
84110         * tests/unicase/test-u32-is-casefolded.c: New file.
84112         Tests for module 'unicase/u16-is-casefolded'.
84113         * modules/unicase/u16-is-casefolded-tests: New file.
84114         * tests/unicase/test-u16-is-casefolded.c: New file.
84116         Tests for module 'unicase/u8-is-casefolded'.
84117         * modules/unicase/u8-is-casefolded-tests: New file.
84118         * tests/unicase/test-u8-is-casefolded.c: New file.
84119         * tests/unicase/test-is-casefolded.h: New file.
84121         New module 'unicase/u32-is-casefolded'.
84122         * lib/unicase/u32-is-casefolded.c: New file.
84123         * modules/unicase/u32-is-casefolded: New file.
84125         New module 'unicase/u16-is-casefolded'.
84126         * lib/unicase/u16-is-casefolded.c: New file.
84127         * modules/unicase/u16-is-casefolded: New file.
84129         New module 'unicase/u8-is-casefolded'.
84130         * lib/unicase/u8-is-casefolded.c: New file.
84131         * modules/unicase/u8-is-casefolded: New file.
84133         Tests for module 'unicase/u32-is-titlecase'.
84134         * modules/unicase/u32-is-titlecase-tests: New file.
84135         * tests/unicase/test-u32-is-titlecase.c: New file.
84137         Tests for module 'unicase/u16-is-titlecase'.
84138         * modules/unicase/u16-is-titlecase-tests: New file.
84139         * tests/unicase/test-u16-is-titlecase.c: New file.
84141         Tests for module 'unicase/u8-is-titlecase'.
84142         * modules/unicase/u8-is-titlecase-tests: New file.
84143         * tests/unicase/test-u8-is-titlecase.c: New file.
84144         * tests/unicase/test-is-titlecase.h: New file.
84146         New module 'unicase/u32-is-titlecase'.
84147         * lib/unicase/u32-is-titlecase.c: New file.
84148         * modules/unicase/u32-is-titlecase: New file.
84150         New module 'unicase/u16-is-titlecase'.
84151         * lib/unicase/u16-is-titlecase.c: New file.
84152         * modules/unicase/u16-is-titlecase: New file.
84154         New module 'unicase/u8-is-titlecase'.
84155         * lib/unicase/u8-is-titlecase.c: New file.
84156         * modules/unicase/u8-is-titlecase: New file.
84158         Tests for module 'unicase/u32-is-lowercase'.
84159         * modules/unicase/u32-is-lowercase-tests: New file.
84160         * tests/unicase/test-u32-is-lowercase.c: New file.
84162         Tests for module 'unicase/u16-is-lowercase'.
84163         * modules/unicase/u16-is-lowercase-tests: New file.
84164         * tests/unicase/test-u16-is-lowercase.c: New file.
84166         Tests for module 'unicase/u8-is-lowercase'.
84167         * modules/unicase/u8-is-lowercase-tests: New file.
84168         * tests/unicase/test-u8-is-lowercase.c: New file.
84169         * tests/unicase/test-is-lowercase.h: New file.
84171         New module 'unicase/u32-is-lowercase'.
84172         * lib/unicase/u32-is-lowercase.c: New file.
84173         * modules/unicase/u32-is-lowercase: New file.
84175         New module 'unicase/u16-is-lowercase'.
84176         * lib/unicase/u16-is-lowercase.c: New file.
84177         * modules/unicase/u16-is-lowercase: New file.
84179         New module 'unicase/u8-is-lowercase'.
84180         * lib/unicase/u8-is-lowercase.c: New file.
84181         * modules/unicase/u8-is-lowercase: New file.
84183         Tests for module 'unicase/u32-is-uppercase'.
84184         * modules/unicase/u32-is-uppercase-tests: New file.
84185         * tests/unicase/test-u32-is-uppercase.c: New file.
84187         Tests for module 'unicase/u16-is-uppercase'.
84188         * modules/unicase/u16-is-uppercase-tests: New file.
84189         * tests/unicase/test-u16-is-uppercase.c: New file.
84191         Tests for module 'unicase/u8-is-uppercase'.
84192         * modules/unicase/u8-is-uppercase-tests: New file.
84193         * tests/unicase/test-u8-is-uppercase.c: New file.
84194         * tests/unicase/test-is-uppercase.h: New file.
84196         New module 'unicase/u32-is-uppercase'.
84197         * lib/unicase/u32-is-uppercase.c: New file.
84198         * modules/unicase/u32-is-uppercase: New file.
84200         New module 'unicase/u16-is-uppercase'.
84201         * lib/unicase/u16-is-uppercase.c: New file.
84202         * modules/unicase/u16-is-uppercase: New file.
84204         New module 'unicase/u8-is-uppercase'.
84205         * lib/unicase/u8-is-uppercase.c: New file.
84206         * modules/unicase/u8-is-uppercase: New file.
84208         New module 'unicase/u32-is-invariant'.
84209         * lib/unicase/u32-is-invariant.c: New file.
84210         * modules/unicase/u32-is-invariant: New file.
84212         New module 'unicase/u16-is-invariant'.
84213         * lib/unicase/u16-is-invariant.c: New file.
84214         * modules/unicase/u16-is-invariant: New file.
84216         New module 'unicase/u8-is-invariant'.
84217         * lib/unicase/u8-is-invariant.c: New file.
84218         * lib/unicase/invariant.h: New file.
84219         * lib/unicase/u-is-invariant.h: New file.
84220         * modules/unicase/u8-is-invariant: New file.
84222         Tests for module 'unicase/u32-casecoll'.
84223         * modules/unicase/u32-casecoll-tests: New file.
84224         * tests/unicase/test-u32-casecoll.c: New file.
84226         Tests for module 'unicase/u16-casecoll'.
84227         * modules/unicase/u16-casecoll-tests: New file.
84228         * tests/unicase/test-u16-casecoll.c: New file.
84230         Tests for module 'unicase/u8-casecoll'.
84231         * modules/unicase/u8-casecoll-tests: New file.
84232         * tests/unicase/test-u8-casecoll.c: New file.
84234         New module 'unicase/u32-casecoll'.
84235         * lib/unicase/u32-casecoll.c: New file.
84236         * modules/unicase/u32-casecoll: New file.
84238         New module 'unicase/u16-casecoll'.
84239         * lib/unicase/u16-casecoll.c: New file.
84240         * modules/unicase/u16-casecoll: New file.
84242         New module 'unicase/u8-casecoll'.
84243         * lib/unicase/u8-casecoll.c: New file.
84244         * lib/unicase/u-casecoll.h: New file.
84245         * modules/unicase/u8-casecoll: New file.
84247         New module 'unicase/u32-casexfrm'.
84248         * lib/unicase/u32-casexfrm.c: New file.
84249         * modules/unicase/u32-casexfrm: New file.
84251         New module 'unicase/u16-casexfrm'.
84252         * lib/unicase/u16-casexfrm.c: New file.
84253         * modules/unicase/u16-casexfrm: New file.
84255         New module 'unicase/u8-casexfrm'.
84256         * lib/unicase/u8-casexfrm.c: New file.
84257         * lib/unicase/u-casexfrm.h: New file.
84258         * modules/unicase/u8-casexfrm: New file.
84260         Tests for module 'unicase/u32-casecmp'.
84261         * modules/unicase/u32-casecmp-tests: New file.
84262         * tests/unicase/test-u32-casecmp.c: New file.
84264         Tests for module 'unicase/u16-casecmp'.
84265         * modules/unicase/u16-casecmp-tests: New file.
84266         * tests/unicase/test-u16-casecmp.c: New file.
84268         Tests for module 'unicase/u8-casecmp'.
84269         * modules/unicase/u8-casecmp-tests: New file.
84270         * tests/unicase/test-u8-casecmp.c: New file.
84271         * tests/unicase/test-casecmp.h: New file.
84273         New module 'unicase/u32-casecmp'.
84274         * lib/unicase/u32-casecmp.c: New file.
84275         * modules/unicase/u32-casecmp: New file.
84277         New module 'unicase/u16-casecmp'.
84278         * lib/unicase/u16-casecmp.c: New file.
84279         * modules/unicase/u16-casecmp: New file.
84281         New module 'unicase/u8-casecmp'.
84282         * lib/unicase/u8-casecmp.c: New file.
84283         * lib/unicase/u-casecmp.h: New file.
84284         * modules/unicase/u8-casecmp: New file.
84286         Tests for module 'unicase/u32-casefold'.
84287         * modules/unicase/u32-casefold-tests: New file.
84288         * tests/unicase/test-u32-casefold.c: New file.
84290         Tests for module 'unicase/u16-casefold'.
84291         * modules/unicase/u16-casefold-tests: New file.
84292         * tests/unicase/test-u16-casefold.c: New file.
84294         Tests for module 'unicase/u8-casefold'.
84295         * modules/unicase/u8-casefold-tests: New file.
84296         * tests/unicase/test-u8-casefold.c: New file.
84298         New module 'unicase/u32-casefold'.
84299         * lib/unicase/u32-casefold.c: New file.
84300         * modules/unicase/u32-casefold: New file.
84302         New module 'unicase/u16-casefold'.
84303         * lib/unicase/u16-casefold.c: New file.
84304         * modules/unicase/u16-casefold: New file.
84306         New module 'unicase/u8-casefold'.
84307         * lib/unicase/u8-casefold.c: New file.
84308         * lib/unicase/u-casefold.h: New file.
84309         * modules/unicase/u8-casefold: New file.
84311         New module 'unicase/tocasefold'.
84312         * lib/unicase/casefold.h: New file.
84313         * lib/unicase/tocasefold.c: New file.
84314         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
84315         * modules/unicase/tocasefold: New file.
84317         Tests for module 'unicase/u32-totitle'.
84318         * modules/unicase/u32-totitle-tests: New file.
84319         * tests/unicase/test-u32-totitle.c: New file.
84321         Tests for module 'unicase/u16-totitle'.
84322         * modules/unicase/u16-totitle-tests: New file.
84323         * tests/unicase/test-u16-totitle.c: New file.
84325         Tests for module 'unicase/u8-totitle'.
84326         * modules/unicase/u8-totitle-tests: New file.
84327         * tests/unicase/test-u8-totitle.c: New file.
84329         New module 'unicase/u32-totitle'.
84330         * lib/unicase/u32-totitle.c: New file.
84331         * modules/unicase/u32-totitle: New file.
84333         New module 'unicase/u16-totitle'.
84334         * lib/unicase/u16-totitle.c: New file.
84335         * modules/unicase/u16-totitle: New file.
84337         New module 'unicase/u8-totitle'.
84338         * lib/unicase/u8-totitle.c: New file.
84339         * lib/unicase/u-totitle.h: New file.
84340         * modules/unicase/u8-totitle: New file.
84342         Tests for module 'unicase/u32-tolower'.
84343         * modules/unicase/u32-tolower-tests: New file.
84344         * tests/unicase/test-u32-tolower.c: New file.
84346         Tests for module 'unicase/u16-tolower'.
84347         * modules/unicase/u16-tolower-tests: New file.
84348         * tests/unicase/test-u16-tolower.c: New file.
84350         Tests for module 'unicase/u8-tolower'.
84351         * modules/unicase/u8-tolower-tests: New file.
84352         * tests/unicase/test-u8-tolower.c: New file.
84354         New module 'unicase/u32-tolower'.
84355         * lib/unicase/u32-tolower.c: New file.
84356         * modules/unicase/u32-tolower: New file.
84358         New module 'unicase/u16-tolower'.
84359         * lib/unicase/u16-tolower.c: New file.
84360         * modules/unicase/u16-tolower: New file.
84362         New module 'unicase/u8-tolower'.
84363         * lib/unicase/u8-tolower.c: New file.
84364         * modules/unicase/u8-tolower: New file.
84366         Tests for module 'unicase/u32-toupper'.
84367         * modules/unicase/u32-toupper-tests: New file.
84368         * tests/unicase/test-u32-toupper.c: New file.
84370         Tests for module 'unicase/u16-toupper'.
84371         * modules/unicase/u16-toupper-tests: New file.
84372         * tests/unicase/test-u16-toupper.c: New file.
84374         Tests for module 'unicase/u8-toupper'.
84375         * modules/unicase/u8-toupper-tests: New file.
84376         * tests/unicase/test-u8-toupper.c: New file.
84378         New module 'unicase/u32-toupper'.
84379         * lib/unicase/u32-toupper.c: New file.
84380         * modules/unicase/u32-toupper: New file.
84382         New module 'unicase/u16-toupper'.
84383         * lib/unicase/u16-toupper.c: New file.
84384         * modules/unicase/u16-toupper: New file.
84386         New module 'unicase/u8-toupper'.
84387         * lib/unicase/u8-toupper.c: New file.
84388         * modules/unicase/u8-toupper: New file.
84390         New module 'unicase/u32-casemap'.
84391         * lib/unicase/u32-casemap.c: New file.
84392         * modules/unicase/u32-casemap: New file.
84394         New module 'unicase/u16-casemap'.
84395         * lib/unicase/u16-casemap.c: New file.
84396         * modules/unicase/u16-casemap: New file.
84398         New module 'unicase/u8-casemap'.
84399         * lib/unicase/unicasemap.h: New file.
84400         * lib/unicase/u8-casemap.c: New file.
84401         * lib/unicase/u-casemap.h: New file.
84402         * modules/unicase/u8-casemap: New file.
84404         New module 'unicase/special-casing'.
84405         * lib/unicase/special-casing.h: New file.
84406         * lib/unicase/special-casing.c: New file.
84407         * lib/unicase/special-casing-table.gperf: New file, generated by
84408         gen-uni-tables.c.
84409         * modules/unicase/special-casing: New file.
84411         Tests for module 'unicase/locale-language'.
84412         * modules/unicase/locale-language-tests: New file.
84413         * tests/unicase/test-locale-language.sh: New file.
84414         * tests/unicase/test-locale-language.c: New file.
84416         New module 'unicase/locale-language'.
84417         * lib/unicase/locale-language.c: New file.
84418         * lib/unicase/locale-languages.gperf: New file.
84419         * modules/unicase/locale-language: New file.
84421         Generate more tables for case conversion and case folding.
84422         * lib/gen-uni-tables.c (SCC_*): New enum items.
84423         (struct special_casing_rule): New type.
84424         (casing_rules, num_casing_rules, allocated_casing_rules): New
84425         variables.
84426         (add_casing_rule, fill_casing_rules): New functions.
84427         (struct casefold_rule): New type.
84428         (casefolding_rules, num_casefolding_rules,
84429         allocated_casefolding_rules): New variables.
84430         (fill_casefolding_rules): New function.
84431         (unicode_casefold): New variable.
84432         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
84433         sort_casing_rules, output_casing_rules): New functions.
84434         (main): Accept to more arguments: SpecialCasing.txt and
84435         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
84436         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
84437         Output mapping for casefolding.
84439         * lib/unicase.h: Include stdbool.h, uninorm.h.
84440         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
84441         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
84442         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
84443         arguments.
84444         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
84445         resultp arguments.
84446         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
84447         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
84448         resultp arguments.
84449         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
84450         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
84451         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
84452         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
84453         declarations.
84454         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
84456 2009-03-08  Bruno Haible  <bruno@clisp.org>
84458         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84459         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
84460         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
84461         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84463 2009-03-07  Bruno Haible  <bruno@clisp.org>
84465         Adjust u*_normcmp, u*_normcoll API.
84466         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84467         u16_normcoll, u32_normcoll): Change failure conventions.
84468         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
84469         errno and return -1.
84470         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84472 2009-03-07  Bruno Haible  <bruno@clisp.org>
84474         Tests for module 'uninorm/u32-normcoll'.
84475         * modules/uninorm/u32-normcoll-tests: New file.
84476         * tests/uninorm/test-u32-normcoll.c: New file.
84478         Tests for module 'uninorm/u16-normcoll'.
84479         * modules/uninorm/u16-normcoll-tests: New file.
84480         * tests/uninorm/test-u16-normcoll.c: New file.
84482         Tests for module 'uninorm/u8-normcoll'.
84483         * modules/uninorm/u8-normcoll-tests: New file.
84484         * tests/uninorm/test-u8-normcoll.c: New file.
84486 2009-03-07  Bruno Haible  <bruno@clisp.org>
84488         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
84489         tests/uninorm/test-u32-normcmp.c.
84490         * tests/uninorm/test-u32-normcmp.c: Include it.
84491         (test_nonascii): New function, extracted from main. Add some more
84492         tests.
84493         (main): Invoke test_ascii and test_nonascii.
84494         * modules/uninorm/u32-normcmp-tests (Files): Add
84495         tests/uninorm/test-u32-normcmp.h.
84496         (Depends-on): Remove uninorm/u32-normcmp.
84498         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
84499         tests/uninorm/test-u16-normcmp.c.
84500         * tests/uninorm/test-u16-normcmp.c: Include it.
84501         (test_nonascii): New function, extracted from main. Add some more
84502         tests.
84503         (main): Invoke test_ascii and test_nonascii.
84504         * modules/uninorm/u16-normcmp-tests (Files): Add
84505         tests/uninorm/test-u16-normcmp.h.
84506         (Depends-on): Remove uninorm/u16-normcmp.
84508         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
84509         tests/uninorm/test-u8-normcmp.c.
84510         * tests/uninorm/test-u8-normcmp.c: Include it.
84511         (test_nonascii): New function, extracted from main. Add some more
84512         tests.
84513         (main): Invoke test_ascii and test_nonascii.
84514         * modules/uninorm/u8-normcmp-tests (Files): Add
84515         tests/uninorm/test-u8-normcmp.h.
84516         (Depends-on): Remove uninorm/u8-normcmp.
84518 2009-03-07  Bruno Haible  <bruno@clisp.org>
84520         New module 'uninorm/u32-normcoll'.
84521         * lib/uninorm/u32-normcoll.c: New file.
84522         * modules/uninorm/u32-normcoll: New file.
84524         New module 'uninorm/u16-normcoll'.
84525         * lib/uninorm/u16-normcoll.c: New file.
84526         * modules/uninorm/u16-normcoll: New file.
84528         New module 'uninorm/u8-normcoll'.
84529         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
84530         declarations.
84531         * lib/uninorm/u8-normcoll.c: New file.
84532         * lib/uninorm/u-normcoll.h: New file.
84533         * modules/uninorm/u8-normcoll: New file.
84535         New module 'uninorm/u32-normxfrm'.
84536         * lib/uninorm/u32-normxfrm.c: New file.
84537         * modules/uninorm/u32-normxfrm: New file.
84539         New module 'uninorm/u16-normxfrm'.
84540         * lib/uninorm/u16-normxfrm.c: New file.
84541         * modules/uninorm/u16-normxfrm: New file.
84543         New module 'uninorm/u8-normxfrm'.
84544         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
84545         declarations.
84546         * lib/uninorm/u8-normxfrm.c: New file.
84547         * lib/uninorm/u-normxfrm.h: New file.
84548         * modules/uninorm/u8-normxfrm: New file.
84550 2009-03-07  Bruno Haible  <bruno@clisp.org>
84552         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
84553         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
84554         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
84556 2009-03-07  Bruno Haible  <bruno@clisp.org>
84558         New module 'memxfrm'.
84559         * lib/memxfrm.h: New file.
84560         * lib/memxfrm.c: New file.
84561         * modules/memxfrm: New file.
84563 2009-03-07  Bruno Haible  <bruno@clisp.org>
84565         New module 'memcmp2'.
84566         * lib/memcmp2.h: New file.
84567         * lib/memcmp2.c: New file.
84568         * modules/memcmp2: New file.
84570 2009-03-07  Bruno Haible  <bruno@clisp.org>
84572         Tests for module 'uninorm/decomposing-form'.
84573         * modules/uninorm/decomposing-form-tests: New file.
84574         * tests/uninorm/test-decomposing-form.c: New file.
84576         New module 'uninorm/decomposing-form'.
84577         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
84578         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
84579         Add 'decomposing_variant' field.
84580         * lib/uninorm/decomposing-form.c: New file.
84581         * lib/uninorm/nfc.c (uninorm_nfc): Update.
84582         * lib/uninorm/nfd.c (uninorm_nfd): Update.
84583         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
84584         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
84585         * modules/uninorm/decomposing-form: New file.
84586         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
84587         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
84589 2009-03-07  Bruno Haible  <bruno@clisp.org>
84591         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
84592         strings.
84594 2009-03-06  Bruno Haible  <bruno@clisp.org>
84596         Tests for module 'uninorm/u32-normcmp'.
84597         * tests/uninorm/test-u32-normcmp.c: New file.
84598         * modules/uninorm/u32-normcmp-tests: New file.
84600         Tests for module 'uninorm/u16-normcmp'.
84601         * tests/uninorm/test-u16-normcmp.c: New file.
84602         * modules/uninorm/u16-normcmp-tests: New file.
84604         Tests for module 'uninorm/u8-normcmp'.
84605         * tests/uninorm/test-u8-normcmp.c: New file.
84606         * modules/uninorm/u8-normcmp-tests: New file.
84608         New module 'uninorm/u32-normcmp'.
84609         * lib/uninorm/u32-normcmp.c: New file.
84610         * modules/uninorm/u32-normcmp: New file.
84612         New module 'uninorm/u16-normcmp'.
84613         * lib/uninorm/u16-normcmp.c: New file.
84614         * modules/uninorm/u16-normcmp: New file.
84616         New module 'uninorm/u8-normcmp'.
84617         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
84618         declarations.
84619         * lib/uninorm/u8-normcmp.c: New file.
84620         * lib/uninorm/u-normcmp.h: New file.
84621         * modules/uninorm/u8-normcmp: New file.
84623 2009-03-06  Bruno Haible  <bruno@clisp.org>
84625         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
84626         Reported by Eric Blake.
84628 2009-03-06  Eric Blake  <ebb9@byu.net>
84629             Bruno Haible  <bruno@clisp.org>
84631         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
84632         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
84633         condition.
84634         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
84635         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
84636         condition.
84637         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
84639 2009-03-06  Eric Blake  <ebb9@byu.net>
84641         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
84642         to avoid compiler warnings.
84643         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
84645 2009-03-05  Bruno Haible  <bruno@clisp.org>
84647         * tests/test-ftell.c (main): Disable test beyond end of file on
84648         FreeMiNT.
84649         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
84651 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
84653         * lib/filevercmp.c: Move hidden files up in ordering.
84654         * tests/test-filevercmp.c: Add tests for hidden files.
84656 2009-03-04  Bruno Haible  <bruno@clisp.org>
84658         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
84659         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
84660         AM_CFLAGS.
84661         Reported by Simon Josefsson.
84663 2009-03-03  Bruno Haible  <bruno@clisp.org>
84665         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
84666         Reported by Simon Josefsson.
84668         * doc/ld-version-script.texi: Update node reference.
84670 2009-03-03  Bruno Haible  <bruno@clisp.org>
84672         * modules/visibility (License): Change to 'unlimited'.
84673         Suggested by Simon Josefsson.
84675 2009-03-03  Jim Meyering  <meyering@redhat.com>
84677         unlinkdir: cannot_unlink_dir may modify process state
84678         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
84679         it's neither thread-safe nor appropriate for use in a library.
84681 2009-03-03  Eric Blake  <ebb9@byu.net>
84683         test-closein: silence test under Darwin
84684         * tests/test-closein.sh: Ignore stderr from cat, since we don't
84685         care if it dies from EPIPE or EBADF.
84687 2009-03-03  Bruno Haible  <bruno@clisp.org>
84689         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
84690         earlier.
84691         * doc/visibility.texi: Fix @node and @section.
84693 2009-03-03  Simon Josefsson  <simon@josefsson.org>
84695         * doc/gnulib.texi: Link to sections for ld version script and
84696         visibility.
84697         * doc/visibility.texi: Add @node and @section.
84698         * modules/ld-version-script: New module.
84699         * m4/ld-version-script.m4: New file.
84700         * doc/ld-version-script.texi: New file.
84702 2009-03-02  David Lutterkort  <lutter@redhat.com>
84704         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
84705         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
84707 2009-03-02  Bruno Haible  <bruno@clisp.org>
84709         * doc/visibility.texi: Mention libtool's -export-symbols option.
84711 2009-03-02  Jim Meyering  <meyering@redhat.com>
84713         announce-gen: new option: --no-print-checksums
84714         * build-aux/announce-gen (usage): Describe it.
84715         (print_checksums): Print a newline here, not in the [*] footnote.
84716         (main): Honor it.
84718 2009-03-01  Bruno Haible  <bruno@clisp.org>
84720         Use socklen_t in the native Windows replacements prototypes.
84721         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
84722         instead of 'int'.
84723         * lib/getsockopt.c (rpl_getsockopt): Likewise.
84724         * lib/setsockopt.c (rpl_setsockopt): Likewise.
84725         * modules/getsockopt (Depends-on): Add socklen.
84726         * modules/setsockopt (Depends-on): Add socklen.
84728 2009-03-01  Bruno Haible  <bruno@clisp.org>
84730         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
84731         least 4.2.
84733 2009-03-01  Eric Blake  <ebb9@byu.net>
84734             Bruno Haible  <bruno@clisp.org>
84736         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
84737         error messages.
84738         * lib/wait-process.c (wait_subprocess): Omit error message about
84739         deadly signal sent to the child of termsigp != NULL.
84741 2009-03-01  Eric Blake  <ebb9@byu.net>
84743         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
84745 2009-03-01  Bruno Haible  <bruno@clisp.org>
84747         Avoid a gcc warning.
84748         * tests/test-sched.c (b): Make global.
84749         Reported by Eric Blake.
84751 2009-01-19  Martin Lambers  <marlam@marlam.de>
84753         Provide POSIX semantics for socket timeout options on W32.
84754         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
84755         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
84756         * modules/setsockopt: Depend on sys_time module for struct timeval.
84757         * modules/getsockopt: Depend on sys_time module for struct timeval.
84759 2009-03-01  Simon Josefsson  <simon@josefsson.org>
84761         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
84762         __USE_GNU, for consistency with netdb.in.h.
84763         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84765 2009-03-01  Bruno Haible  <bruno@clisp.org>
84767         More support for FreeMiNT.
84768         * lib/fseeko.c (rpl_fseeko): Complete last commit.
84769         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84771 2009-03-01  Bruno Haible  <bruno@clisp.org>
84773         More support for FreeMiNT.
84774         * lib/fpurge.c (fpurge): Correct last commit.
84775         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84777 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84779         Fix unportable awk script in vc-list-files.
84780         * build-aux/vc-list-files: In the replacement awk script, use
84781         substr with a second argument of 1, not zero.
84782         Report by Simon Josefsson.
84784 2009-02-28  Bruno Haible  <bruno@clisp.org>
84786         More support for FreeMiNT.
84787         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
84788         to FreeMiNT today.
84789         * lib/fwriting.c (fwriting): Likewise.
84790         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
84792 2009-02-28  Bruno Haible  <bruno@clisp.org>
84794         * tests/test-freadseek.c (main): Disable test beyond end of file on
84795         FreeMiNT.
84796         * tests/test-ftello.c (main): Likewise.
84797         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
84799 2009-02-28  Bruno Haible  <bruno@clisp.org>
84801         Add tentative support for FreeMiNT.
84802         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
84803         * lib/fpurge.c (fpurge): Likewise.
84804         * lib/freadable.c (freadable): Likewise.
84805         * lib/freading.c (freading): Likewise.
84806         * lib/freadptr.c (freadptr): Likewise.
84807         * lib/freadseek.c (freadptrinc): Likewise.
84808         * lib/fseeko.c (rpl_fseeko): Likewise.
84809         * lib/fseterr.c (fseterr): Likewise.
84810         * lib/fwritable.c (fwritable): Likewise.
84811         * lib/fwriting.c (fwriting): Likewise.
84812         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
84813         Hourihane.
84814         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
84816 2009-02-28  Bruno Haible  <bruno@clisp.org>
84818         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
84819         SIGCHLD.
84820         Reported by Jim Meyering.
84822 2009-02-28  Bruno Haible  <bruno@clisp.org>
84824         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
84825         Mention the results of these tests on various platforms.
84826         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
84827         order.
84828         * doc/posix-functions/printf.texi: Likewise.
84829         * doc/posix-functions/snprintf.texi: Likewise.
84830         * doc/posix-functions/sprintf.texi: Likewise.
84831         * doc/posix-functions/vfprintf.texi: Likewise.
84832         * doc/posix-functions/vprintf.texi: Likewise.
84833         * doc/posix-functions/vsnprintf.texi: Likewise.
84834         * doc/posix-functions/vsprintf.texi: Likewise.
84835         * doc/glibc-functions/obstack_printf.texi: Likewise.
84836         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
84838 2009-02-28  Bruno Haible  <bruno@clisp.org>
84840         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
84841         Reported by Loïc Minier <lool@dooz.org>.
84843 2009-02-27  Bruno Haible  <bruno@clisp.org>
84845         * gnulib-tool (func_import): Make the sed expression used to create the
84846         sed script for updating the .gitignore file POSIX compliant.
84847         Reported by Eric Blake.
84849 2009-02-27  Bruno Haible  <bruno@clisp.org>
84851         * gnulib-tool (sed): Don't alias as "sed --posix".
84852         Reported by Eric Blake.
84854 2009-02-27  Bruno Haible  <bruno@clisp.org>
84856         Avoid test link errors.
84857         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
84858         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
84859         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
84860         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
84861         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
84863 2009-02-27  Bruno Haible  <bruno@clisp.org>
84865         Avoid spurious "(cached)" in configure output.
84866         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
84867         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
84868         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
84869         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
84870         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
84871         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
84872         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
84873         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
84874         Reported by Eric Blake.
84876 2009-02-27  Eric Blake  <ebb9@byu.net>
84878         printf: fix regression in previous patch
84879         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
84881 2009-02-27  Bruno Haible  <bruno@clisp.org>
84883         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
84884         value.
84885         * lib/stdint.in.h: Likewise.
84886         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
84888 2009-02-27  Eric Blake  <ebb9@byu.net>
84890         doc: mention more functions added in cygwin 1.7.0
84891         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
84892         addition.
84893         * doc/posix-functions/open_wmemstream.texi: Likewise.
84894         * doc/posix-functions/wcsnlen.texi: Likewise.
84895         * doc/posix-functions/wcsnrtombs.texi: Likewise.
84896         * doc/posix-functions/wcstod.texi: Likewise.
84897         * doc/posix-functions/wcstof.texi: Likewise.
84898         * doc/posix-functions/wcstoimax.texi: Likewise.
84899         * doc/posix-functions/wcstok.texi: Likewise.
84900         * doc/posix-functions/wcstoumax.texi: Likewise.
84902         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
84903         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
84904         * doc/posix-functions/fprintf.texi: Update.
84905         * doc/posix-functions/printf.texi: Update.
84906         * doc/posix-functions/snprintf.texi: Update.
84907         * doc/posix-functions/sprintf.texi: Update.
84908         * doc/posix-functions/vfprintf.texi: Update.
84909         * doc/posix-functions/vprintf.texi: Update.
84910         * doc/posix-functions/vsnprintf.texi: Update.
84911         * doc/posix-functions/vsprintf.texi: Update.
84912         * doc/glibc-functions/obstack_printf.texi: Update.
84913         * doc/glibc-functions/obstack_vprintf.texi: Update.
84915 2009-02-26  Eric Blake  <ebb9@byu.net>
84917         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
84918         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
84919         compilation bug by using runtime conversion.
84920         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
84921         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
84922         * modules/ceill-tests (Files): Use nan.h.
84923         * modules/floorl-tests (Files): Likewise.
84924         * modules/frexpl-tests (Files): Likewise.
84925         * modules/isnanl-tests (Files): Likewise.
84926         * modules/ldexpl-tests (Files): Likewise.
84927         * modules/roundl-tests (Files): Likewise.
84928         * modules/truncl-tests (Files): Likewise.
84929         * tests/test-ceill.c (main): Use a working NaN.
84930         * tests/test-floorl.c (main): Likewise.
84931         * tests/test-frexpl.c (main): Likewise.
84932         * tests/test-isnan.c (test_long_double): Likewise.
84933         * tests/test-isnanl.h (main): Likewise.
84934         * tests/test-ldexpl.h (main): Likewise.
84935         * tests/test-roundl.h (main): Likewise.
84936         * tests/test-truncl.h (main): Likewise.
84937         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
84939 2009-02-26  Eric Blake  <ebb9@byu.net>
84940             Bruno Haible  <bruno@clisp.org>
84942         Work around a *printf bug with %ls on Solaris.
84943         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
84944         precision is specified, sprintf stops converting the wide string
84945         argument when the number of bytes that have been produced by this
84946         conversion equals or exceeds the precision.
84947         * doc/posix-functions/fprintf.texi: Update.
84948         * doc/posix-functions/printf.texi: Update.
84949         * doc/posix-functions/snprintf.texi: Update.
84950         * doc/posix-functions/sprintf.texi: Update.
84951         * doc/posix-functions/vfprintf.texi: Update.
84952         * doc/posix-functions/vprintf.texi: Update.
84953         * doc/posix-functions/vsnprintf.texi: Update.
84954         * doc/posix-functions/vsprintf.texi: Update.
84955         * doc/glibc-functions/obstack_printf.texi: Update.
84956         * doc/glibc-functions/obstack_vprintf.texi: Update.
84958 2009-02-26  Eric Blake  <ebb9@byu.net>
84960         stdlib: favor compiler check of random.h
84961         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
84962         to avoid an ObjC random.h installed by Swarm.
84964 2009-02-26  Bruno Haible  <bruno@clisp.org>
84966         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
84967         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
84968         Reported by Gary V. Vaughan <gary@gnu.org>.
84970 2009-02-26  Bruno Haible  <bruno@clisp.org>
84972         Fix *printf behaviour regarding the %ls directive.
84973         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
84974         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
84975         NEED_PRINTF_DIRECTIVE_LS.
84976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
84977         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
84978         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
84979         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
84980         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
84981         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
84982         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
84983         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
84984         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
84985         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
84986         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
84987         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
84988         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
84989         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
84990         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
84991         * doc/posix-functions/fprintf.texi: Update.
84992         * doc/posix-functions/printf.texi: Update.
84993         * doc/posix-functions/snprintf.texi: Update.
84994         * doc/posix-functions/sprintf.texi: Update.
84995         * doc/posix-functions/vfprintf.texi: Update.
84996         * doc/posix-functions/vprintf.texi: Update.
84997         * doc/posix-functions/vsnprintf.texi: Update.
84998         * doc/posix-functions/vsprintf.texi: Update.
84999         * doc/glibc-functions/obstack_printf.texi: Update.
85000         * doc/glibc-functions/obstack_vprintf.texi: Update.
85001         Reported by Eric Blake.
85003 2009-02-25  Bruno Haible  <bruno@clisp.org>
85005         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
85006         with known value.
85007         Reported by Gary V. Vaughan <gary@gnu.org>.
85009 2009-02-25  Bruno Haible  <bruno@clisp.org>
85011         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
85012         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
85013         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
85014         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
85015         Reported by Gary V. Vaughan <gary@gnu.org>.
85017 2009-02-25  Bruno Haible  <bruno@clisp.org>
85019         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
85020         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
85021         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
85022         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
85023         Reported by Gary V. Vaughan <gary@gnu.org>.
85025 2009-02-25  Eric Blake  <ebb9@byu.net>
85027         tests: skip fseek/ftell tests if ungetc is broken
85028         * m4/ungetc.m4: New file.
85029         * modules/fseek-tests: Split test, so ungetc dependency is
85030         separate from rest of test.
85031         * modules/fseeko-tests: Likewise.
85032         * modules/ftell-tests: Likewise.
85033         * modules/ftello-tests: Likewise.
85034         * tests/test-fseek.c (main): Isolate ungetc dependency.
85035         * tests/test-fseeko.c (main): Likewise.
85036         * tests/test-ftell.c (main): Likewise.
85037         * tests/test-ftello.c (main): Likewise.
85038         * tests/test-fseek2.sh: New file.
85039         * tests/test-fseeko2.sh: Likewise.
85040         * tests/test-ftell2.sh: Likewise.
85041         * tests/test-ftello2.sh: Likewise.
85043 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
85045         test-getaddrinfo: fix usage of skip return code 77
85046         * tests/test-gettaddrinfo.c: Return skip code 77 only
85047         for first occurrence of skip (4x77 is not 77)
85049 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
85051         strtod: avoid C99 decl-after-statement
85052         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
85054 2009-02-24  Eric Blake  <ebb9@byu.net>
85056         strtod: detect HP-UX 11.31 bug
85057         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
85058         Reported by Gary V. Vaughan.
85060 2009-02-23  Bruno Haible  <bruno@clisp.org>
85062         Fix invalid read past end of memory block.
85063         * lib/vasnprintf.c (DCHAR_SET): Define.
85064         (local_wcslen): Define only when needed.
85065         (local_strnlen, local_wcsnlen): New functions.
85066         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
85067         directives that involve a conversion ourselves.
85068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
85069         wcsnlen, mbrtowc, wcrtomb.
85070         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
85071         * tests/test-vasprintf-posix.c (test_function): Likewise.
85072         * tests/test-snprintf-posix.h (test_function): Likewise.
85073         * tests/test-sprintf-posix.h (test_function): Likewise.
85074         Reported by Ben Pfaff <blp@cs.stanford.edu>.
85076 2009-02-22  Bruno Haible  <bruno@clisp.org>
85078         Implement new clarified decomposition of Hangul syllables.
85079         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
85080         of type LTV, return only a pairwise decomposition.
85081         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
85082         Likewise.
85083         * tests/uninorm/test-decomposition.c (main): Updated expected result.
85084         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
85085         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
85087 2009-02-22  Bruno Haible  <bruno@clisp.org>
85089         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
85090         zero-length results and shrink excess allocated memory.
85091         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
85092         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
85093         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
85094         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
85095         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
85096         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
85097         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
85098         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
85099         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
85100         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
85101         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
85102         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
85104 2009-02-21  Bruno Haible  <bruno@clisp.org>
85106         * doc/gnulib.texi: Include safe-alloc.texi earlier.
85107         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
85108         spaces after a period. Put a space between a macro name and its
85109         argument list. Trivial rewordings.
85110         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
85111         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
85112         (main): Return 0 explicitly.
85114 2009-02-21  Bruno Haible  <bruno@clisp.org>
85116         Tests for module 'uninorm/filter'.
85117         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
85118         * modules/uninorm/filter-tests: New file.
85120         New module 'uninorm/filter'.
85121         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
85122         uninorm_filter_flush, uninorm_filter_free): New declarations.
85123         * lib/uninorm/uninorm-filter.c: New file.
85124         * modules/uninorm/filter: New file.
85126 2009-02-21  Bruno Haible  <bruno@clisp.org>
85128         Tests for module 'uninorm/nfkc'.
85129         * tests/uninorm/test-nfkc.c: New file.
85130         * tests/uninorm/test-u8-nfkc.c: New file.
85131         * tests/uninorm/test-u16-nfkc.c: New file.
85132         * tests/uninorm/test-u32-nfkc.c: New file.
85133         * tests/uninorm/test-u32-nfkc-big.sh: New file.
85134         * tests/uninorm/test-u32-nfkc-big.c: New file.
85135         * modules/uninorm/nfkc-tests: New file.
85137         New module 'uninorm/nfkc'.
85138         * lib/uninorm/nfkc.c: New file.
85139         * modules/uninorm/nfkc: New file.
85141         Tests for module 'uninorm/nfkd'.
85142         * tests/uninorm/test-nfkd.c: New file.
85143         * tests/uninorm/test-u8-nfkd.c: New file.
85144         * tests/uninorm/test-u16-nfkd.c: New file.
85145         * tests/uninorm/test-u32-nfkd.c: New file.
85146         * tests/uninorm/test-u32-nfkd-big.sh: New file.
85147         * tests/uninorm/test-u32-nfkd-big.c: New file.
85148         * modules/uninorm/nfkd-tests: New file.
85150         New module 'uninorm/nfkd'.
85151         * lib/uninorm/nfkd.c: New file.
85152         * modules/uninorm/nfkd: New file.
85154         Tests for module 'uninorm/nfc'.
85155         * tests/uninorm/test-nfc.c: New file.
85156         * tests/uninorm/test-u8-nfc.c: New file.
85157         * tests/uninorm/test-u16-nfc.c: New file.
85158         * tests/uninorm/test-u32-nfc.c: New file.
85159         * tests/uninorm/test-u32-nfc-big.sh: New file.
85160         * tests/uninorm/test-u32-nfc-big.c: New file.
85161         * modules/uninorm/nfc-tests: New file.
85163         New module 'uninorm/nfc'.
85164         * lib/uninorm/nfc.c: New file.
85165         * modules/uninorm/nfc: New file.
85167         Tests for module 'uninorm/nfd'.
85168         * tests/uninorm/test-nfd.c: New file.
85169         * tests/uninorm/test-u8-nfd.c: New file.
85170         * tests/uninorm/test-u16-nfd.c: New file.
85171         * tests/uninorm/test-u32-nfd.c: New file.
85172         * tests/uninorm/test-u32-nfd-big.sh: New file.
85173         * tests/uninorm/test-u32-nfd-big.c: New file.
85174         * tests/uninorm/test-u32-normalize-big.h: New file.
85175         * tests/uninorm/test-u32-normalize-big.c: New file.
85176         * tests/uninorm/NormalizationTest.txt: New file, created from
85177         Unicode 5.1.0 NormalizationTest.txt.
85178         * modules/uninorm/nfd-tests: New file.
85180         New module 'uninorm/nfd'.
85181         * lib/uninorm/nfd.c: New file.
85182         * modules/uninorm/nfd: New file.
85184         New module 'uninorm/u32-normalize'.
85185         * lib/uninorm/u32-normalize.c: New file.
85186         * modules/uninorm/u32-normalize: New file.
85188         New module 'uninorm/u16-normalize'.
85189         * lib/uninorm/u16-normalize.c: New file.
85190         * modules/uninorm/u16-normalize: New file.
85192         New module 'uninorm/u8-normalize'.
85193         * lib/uninorm/u8-normalize.c: New file.
85194         * lib/uninorm/normalize-internal.h: New file.
85195         * lib/uninorm/u-normalize-internal.h: New file.
85196         * modules/uninorm/u8-normalize: New file.
85198         New module 'uninorm/decompose-internal'.
85199         * lib/uninorm/decompose-internal.c: New file.
85200         * modules/uninorm/decompose-internal: New file.
85202         Tests for module 'uninorm/composition'.
85203         * tests/uninorm/test-composition.c: New file.
85204         * modules/uninorm/composition-tests: New file.
85206         New module 'uninorm/composition'.
85207         * lib/uninorm/composition.c: New file.
85208         * lib/uninorm/composition-table.gperf: New file, generated by
85209         gen-uni-tables.
85210         * modules/uninorm/composition: New file.
85212         Tests for module 'uninorm/compat-decomposition'.
85213         * tests/uninorm/test-compat-decomposition.c: New file.
85214         * modules/uninorm/compat-decomposition-tests: New file.
85216         New module 'uninorm/compat-decomposition'.
85217         * lib/uninorm/decompose-internal.h: New file.
85218         * lib/uninorm/compat-decomposition.c: New file.
85219         * modules/uninorm/compat-decomposition: New file.
85221         Tests for module 'uninorm/canonical-decomposition'.
85222         * tests/uninorm/test-canonical-decomposition.c: New file.
85223         * modules/uninorm/canonical-decomposition-tests: New file.
85225         New module 'uninorm/canonical-decomposition'.
85226         * lib/uninorm/canonical-decomposition.c: New file.
85227         * modules/uninorm/canonical-decomposition: New file.
85229         Tests for module 'uninorm/decomposition'.
85230         * tests/uninorm/test-decomposition.c: New file.
85231         * modules/uninorm/decomposition-tests: New file.
85233         New module 'uninorm/decomposition'.
85234         * lib/uninorm/decomposition.c: New file.
85235         * modules/uninorm/decomposition: New file.
85237         New module 'uninorm/decomposition-table'.
85238         * lib/uninorm/decomposition-table.h: New file.
85239         * lib/uninorm/decomposition-table.c: New file.
85240         * lib/uninorm/decomposition-table1.h: New file, generated by
85241         gen-uni-tables.
85242         * lib/uninorm/decomposition-table2.h: New file, generated by
85243         gen-uni-tables.
85244         * modules/uninorm/decomposition-table: New file.
85246         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
85247         (UC_DECOMP_*): New enumeration items.
85248         (get_decomposition): New function.
85249         (struct decomp_table): New type.
85250         (output_decomposition, output_decomposition_tables): New functions.
85251         (unicode_composition_exclusions): New variable.
85252         (fill_composition_exclusions, debug_output_composition_tables): New
85253         functions.
85254         (main): Accept one more argument. Invoke fill_composition_exclusions.
85255         Output decomposition and composition tables.
85257         New module 'uninorm/base'.
85258         * lib/uninorm.h: New file.
85259         * lib/unictype.h: Update comment.
85260         * modules/uninorm/base: New file.
85262 2009-02-21  David Lutterkort  <lutter@redhat.com>
85264         Tests for module 'safe-alloc'.
85265         * tests/test-safe-alloc.c: New file.
85266         * modules/safe-alloc-tests: New file.
85268         New module 'safe-alloc'.
85269         * lib/safe-alloc.h: New file.
85270         * lib/safe-alloc.c: New file.
85271         * m4/safe-alloc.m4: New file.
85272         * modules/safe-alloc: New file.
85273         * doc/safe-alloc.texi: New file.
85274         * doc/gnulib.texi: Include it.
85275         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
85276         safe-alloc.
85278 2009-02-18  Bruno Haible  <bruno@clisp.org>
85280         Fix link error on non-glibc systems.
85281         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
85282         variable.
85283         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85285 2009-02-18  Jim Meyering  <meyering@redhat.com>
85287         fts: avoid used-uninitialized error due to recent change
85288         * lib/fts.c (fts_read): Guard uses of the new member,
85289         parent->fts_n_dirs_remaining, since it's not relevant for
85290         the parent of a directory specified on the command-line.
85292 2009-02-17  James Youngman  <jay@gnu.org>
85293             Bruno Haible  <bruno@clisp.org>
85295         * m4/include_next.m4: Reformulate comment.
85297 2009-02-16  Jim Meyering  <meyering@redhat.com>
85299         fts: add #if guards so that the fts_lgpl module still builds
85300         * lib/fts.c: Guard just-added hash-table-using parts with
85301         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
85302         Reported by Simon Josefsson.
85304 2009-02-15  Bruno Haible  <bruno@clisp.org>
85306         * modules/array-mergesort-tests: New file.
85307         * tests/test-array-mergesort.c: New file.
85309         New module 'array-mergesort'.
85310         * modules/array-mergesort: New file.
85311         * lib/array-mergesort.h: New file.
85313 2009-02-15  Bruno Haible  <bruno@clisp.org>
85315         Fix 2009-02-07 commit.
85316         * lib/gen-uni-tables.c (output_predicate, output_category,
85317         output_combclass, output_bidi_category, output_decimal_digit,
85318         output_digit, output_numeric, output_mirror, output_scripts,
85319         output_ident_category, output_simple_mapping): Fix format directives.
85320         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
85322 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
85324         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
85325         fixes are available from IBM.
85327 2009-02-13  Jim Meyering  <meyering@redhat.com>
85329         fts: arrange not to stat non-directories in more cases
85330         This makes GNU find (when it doesn't need to stat each file)
85331         *much* more efficient at traversing reiserfs file systems.
85332         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
85333         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
85334         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
85335         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
85336         (leaf_optimization_applies): New function.
85337         (LCO_hash, LCO_compare): New helper functions.
85338         (link_count_optimize_ok): New function.
85339         (fts_stat): Initialize new member (if dir).
85340         (fts_read): Decrement parent's fts_n_dirs_remaining count if
85341         we've just stat'ed a directory.  Skip the stat call when possible.
85342         ---
85343         Note this AFS-related exchange:
85344         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
85345         and note find's pioctl call in find/fstype.c.
85346         But that is necessary only if you want to enable the
85347         optimization for AFS, and for now, I don't.
85349         fts: move a function definition "up" (no semantic change)
85350         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
85351         "up" to precede upcoming use of a related function.
85353 2009-02-11  Jim Meyering  <meyering@redhat.com>
85355         fts: correct internal computation of nlinks (optimization-related)
85356         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
85357         whether the current entry is a directory, so don't test it.
85359 2009-02-10  Bruno Haible  <bruno@clisp.org>
85361         Tests for module 'uniwbrk/ulc-wordbreaks'.
85362         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
85363         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
85364         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
85366         Tests for module 'uniwbrk/u32-wordbreaks'.
85367         * modules/uniwbrk/u32-wordbreaks-tests: New file.
85368         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
85370         Tests for module 'uniwbrk/u16-wordbreaks'.
85371         * modules/uniwbrk/u16-wordbreaks-tests: New file.
85372         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
85374         Tests for module 'uniwbrk/u8-wordbreaks'.
85375         * modules/uniwbrk/u8-wordbreaks-tests: New file.
85376         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
85378 2009-02-10  Bruno Haible  <bruno@clisp.org>
85380         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
85381         property.
85382         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
85383         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
85384         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
85386 2009-02-10  Simon Josefsson  <simon@josefsson.org>
85388         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
85389         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
85391 2009-02-10  Bruno Haible  <bruno@clisp.org>
85393         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
85394         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
85395         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
85396         * lib/unilbrk/u8-possible-linebreaks.c: Update.
85397         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
85398         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
85400 2009-02-09  Simon Josefsson  <simon@josefsson.org>
85402         * lib/sockets.h (gl_fd_to_handle): New function.
85404         * tests/test-sockets.c: Call gl_fd_to_handle.
85406 2009-02-09  Bruno Haible  <bruno@clisp.org>
85408         * doc/havelib.texi: Document the conventions on bi-arch systems.
85410 2009-02-08  Bruno Haible  <bruno@clisp.org>
85412         Document the AC_LIB_LINKFLAGS macro.
85413         * doc/havelib.texi: New file, mostly written on 2005-05-24.
85414         * doc/gnulib.texi: Include it.
85416 2009-02-08  Bruno Haible  <bruno@clisp.org>
85418         Fix wrong order of sections, compared to TOC.
85419         * doc/gnulib.texi: Include relocatable-maint.texi after the
85420         "Regular expressions" node, not before.
85422 2009-02-08  Bruno Haible  <bruno@clisp.org>
85424         Tests for module 'unicase/totitle'.
85425         * modules/unicase/totitle-tests: New file.
85427         Tests for module 'unicase/tolower'.
85428         * modules/unicase/tolower-tests: New file.
85430         Tests for module 'unicase/toupper'.
85431         * modules/unicase/toupper-tests: New file.
85432         * tests/unicase/test-mapping-part1.h: New file.
85433         * tests/unicase/test-mapping-part2.h: New file.
85435         New module 'unicase/totitle'.
85436         * modules/unicase/totitle: New file.
85437         * lib/unicase/totitle.c: New file.
85439         New module 'unicase/tolower'.
85440         * modules/unicase/tolower: New file.
85441         * lib/unicase/tolower.c: New file.
85443         New module 'unicase/toupper'.
85444         * modules/unicase/toupper: New file.
85445         * lib/unicase/toupper.c: New file.
85446         * lib/unicase/simple-mapping.h: New file.
85448         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
85449         (mapping_table): New structure.
85450         (output_simple_mapping): New function.
85451         (main): Invoke output_simple_mapping_test and output_simple_mapping.
85452         * modules/gen-uni-tables (Description): Update.
85453         * lib/unicase/toupper.h: New file, automatically generated by
85454         gen-uni-tables.
85455         * lib/unicase/tolower.h: New file, automatically generated by
85456         gen-uni-tables.
85457         * lib/unicase/totitle.h: New file, automatically generated by
85458         gen-uni-tables.
85459         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
85460         gen-uni-tables.
85461         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
85462         gen-uni-tables.
85463         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
85464         gen-uni-tables.
85466         New module 'unicase/base'.
85467         * modules/unicase/base: New file.
85468         * lib/unicase.h: New file.
85470 2009-02-08  Bruno Haible  <bruno@clisp.org>
85472         New module 'uniwbrk/ulc-wordbreaks'.
85473         * modules/uniwbrk/ulc-wordbreaks: New file.
85474         * lib/uniwbrk/ulc-wordbreaks.c: New file.
85476         New module 'uniwbrk/u32-wordbreaks'.
85477         * modules/uniwbrk/u32-wordbreaks: New file.
85478         * lib/uniwbrk/u32-wordbreaks.c: New file.
85480         New module 'uniwbrk/u16-wordbreaks'.
85481         * modules/uniwbrk/u16-wordbreaks: New file.
85482         * lib/uniwbrk/u16-wordbreaks.c: New file.
85484         New module 'uniwbrk/u8-wordbreaks'.
85485         * modules/uniwbrk/u8-wordbreaks: New file.
85486         * lib/uniwbrk/u8-wordbreaks.c: New file.
85487         * lib/uniwbrk/u-wordbreaks.h: New file.
85489         New module 'uniwbrk/table'.
85490         * modules/uniwbrk/table: New file.
85491         * lib/uniwbrk/wbrktable.h: New file.
85492         * lib/uniwbrk/wbrktable.c: New file.
85494         New module 'uniwbrk/wordbreak-property'.
85495         * modules/uniwbrk/wordbreak-property: New file.
85496         * lib/uniwbrk/wordbreak-property.c: New file.
85498         * lib/gen-uni-tables.c (WBP_*): New enum items.
85499         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
85500         (unicode_org_wbp): New variable.
85501         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
85502         New functions.
85503         (wbp_table): New structure.
85504         (output_wbp, output_wbrk_tables): New functions.
85505         (main): Accept additional argument. Invoke fill_org_wbp,
85506         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
85507         output_wbrk_tables.
85508         * modules/gen-uni-tables (Description): Update.
85509         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
85510         gen-uni-tables.
85512         New module 'uniwbrk/base'.
85513         * modules/uniwbrk/base: New file.
85514         * lib/uniwbrk.h: New file.
85516 2009-02-08  Bruno Haible  <bruno@clisp.org>
85518         Update to Unicode 5.1.0.
85519         * lib/gen-uni-tables.c (is_property_alphabetic): Include
85520         U+2185..U+2188.
85521         (is_property_default_ignorable_code_point): Don't include characters
85522         of category Cc or Cs and not-a-characters.
85523         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
85524         U+0D79, U+109E, U+109F, U+A60C.
85525         * lib/unictype/bidi_of.h: Regenerated.
85526         * lib/unictype/blocks.h: Regenerated.
85527         * lib/unictype/categ_C.h: Regenerated.
85528         * lib/unictype/categ_Cf.h: Regenerated.
85529         * lib/unictype/categ_Cn.h: Regenerated.
85530         * lib/unictype/categ_L.h: Regenerated.
85531         * lib/unictype/categ_Ll.h: Regenerated.
85532         * lib/unictype/categ_Lm.h: Regenerated.
85533         * lib/unictype/categ_Lo.h: Regenerated.
85534         * lib/unictype/categ_Lu.h: Regenerated.
85535         * lib/unictype/categ_M.h: Regenerated.
85536         * lib/unictype/categ_Mc.h: Regenerated.
85537         * lib/unictype/categ_Me.h: Regenerated.
85538         * lib/unictype/categ_Mn.h: Regenerated.
85539         * lib/unictype/categ_N.h: Regenerated.
85540         * lib/unictype/categ_Nd.h: Regenerated.
85541         * lib/unictype/categ_Nl.h: Regenerated.
85542         * lib/unictype/categ_No.h: Regenerated.
85543         * lib/unictype/categ_P.h: Regenerated.
85544         * lib/unictype/categ_Pd.h: Regenerated.
85545         * lib/unictype/categ_Pe.h: Regenerated.
85546         * lib/unictype/categ_Pf.h: Regenerated.
85547         * lib/unictype/categ_Pi.h: Regenerated.
85548         * lib/unictype/categ_Po.h: Regenerated.
85549         * lib/unictype/categ_Ps.h: Regenerated.
85550         * lib/unictype/categ_S.h: Regenerated.
85551         * lib/unictype/categ_Sk.h: Regenerated.
85552         * lib/unictype/categ_Sm.h: Regenerated.
85553         * lib/unictype/categ_So.h: Regenerated.
85554         * lib/unictype/categ_of.h: Regenerated.
85555         * lib/unictype/combining.h: Regenerated.
85556         * lib/unictype/ctype_alnum.h: Regenerated.
85557         * lib/unictype/ctype_alpha.h: Regenerated.
85558         * lib/unictype/ctype_graph.h: Regenerated.
85559         * lib/unictype/ctype_lower.h: Regenerated.
85560         * lib/unictype/ctype_print.h: Regenerated.
85561         * lib/unictype/ctype_punct.h: Regenerated.
85562         * lib/unictype/ctype_upper.h: Regenerated.
85563         * lib/unictype/decdigit.h: Regenerated.
85564         * lib/unictype/digit.h: Regenerated.
85565         * lib/unictype/mirror.h: Regenerated.
85566         * lib/unictype/numeric.h: Regenerated.
85567         * lib/unictype/pr_alphabetic.h: Regenerated.
85568         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
85569         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
85570         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
85571         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
85572         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
85573         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
85574         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
85575         * lib/unictype/pr_combining.h: Regenerated.
85576         * lib/unictype/pr_dash.h: Regenerated.
85577         * lib/unictype/pr_decimal_digit.h: Regenerated.
85578         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
85579         * lib/unictype/pr_deprecated.h: Regenerated.
85580         * lib/unictype/pr_diacritic.h: Regenerated.
85581         * lib/unictype/pr_extender.h: Regenerated.
85582         * lib/unictype/pr_format_control.h: Regenerated.
85583         * lib/unictype/pr_grapheme_base.h: Regenerated.
85584         * lib/unictype/pr_grapheme_extend.h: Regenerated.
85585         * lib/unictype/pr_grapheme_link.h: Regenerated.
85586         * lib/unictype/pr_id_continue.h: Regenerated.
85587         * lib/unictype/pr_id_start.h: Regenerated.
85588         * lib/unictype/pr_ideographic.h: Regenerated.
85589         * lib/unictype/pr_ignorable_control.h: Regenerated.
85590         * lib/unictype/pr_lowercase.h: Regenerated.
85591         * lib/unictype/pr_math.h: Regenerated.
85592         * lib/unictype/pr_numeric.h: Regenerated.
85593         * lib/unictype/pr_other_alphabetic.h: Regenerated.
85594         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
85595         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
85596         * lib/unictype/pr_other_id_continue.h: Regenerated.
85597         * lib/unictype/pr_other_lowercase.h: Regenerated.
85598         * lib/unictype/pr_other_math.h: Regenerated.
85599         * lib/unictype/pr_punctuation.h: Regenerated.
85600         * lib/unictype/pr_sentence_terminal.h: Regenerated.
85601         * lib/unictype/pr_soft_dotted.h: Regenerated.
85602         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
85603         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
85604         * lib/unictype/pr_unified_ideograph.h: Regenerated.
85605         * lib/unictype/pr_uppercase.h: Regenerated.
85606         * lib/unictype/pr_xid_continue.h: Regenerated.
85607         * lib/unictype/pr_xid_start.h: Regenerated.
85608         * lib/unictype/pr_zero_width.h: Regenerated.
85609         * lib/unictype/scripts.h: Regenerated.
85610         * lib/unictype/scripts_byname.gperf: Regenerated.
85611         * lib/unictype/sy_java_ident.h: Regenerated.
85612         * lib/unilbrk/lbrkprop1.h: Regenerated.
85613         * lib/unilbrk/lbrkprop2.h: Regenerated.
85614         * tests/unictype/test-categ_C.c: Regenerated.
85615         * tests/unictype/test-categ_Cf.c: Regenerated.
85616         * tests/unictype/test-categ_Cn.c: Regenerated.
85617         * tests/unictype/test-categ_L.c: Regenerated.
85618         * tests/unictype/test-categ_Ll.c: Regenerated.
85619         * tests/unictype/test-categ_Lm.c: Regenerated.
85620         * tests/unictype/test-categ_Lo.c: Regenerated.
85621         * tests/unictype/test-categ_Lu.c: Regenerated.
85622         * tests/unictype/test-categ_M.c: Regenerated.
85623         * tests/unictype/test-categ_Mc.c: Regenerated.
85624         * tests/unictype/test-categ_Me.c: Regenerated.
85625         * tests/unictype/test-categ_Mn.c: Regenerated.
85626         * tests/unictype/test-categ_N.c: Regenerated.
85627         * tests/unictype/test-categ_Nd.c: Regenerated.
85628         * tests/unictype/test-categ_Nl.c: Regenerated.
85629         * tests/unictype/test-categ_No.c: Regenerated.
85630         * tests/unictype/test-categ_P.c: Regenerated.
85631         * tests/unictype/test-categ_Pd.c: Regenerated.
85632         * tests/unictype/test-categ_Pe.c: Regenerated.
85633         * tests/unictype/test-categ_Pf.c: Regenerated.
85634         * tests/unictype/test-categ_Pi.c: Regenerated.
85635         * tests/unictype/test-categ_Po.c: Regenerated.
85636         * tests/unictype/test-categ_Ps.c: Regenerated.
85637         * tests/unictype/test-categ_S.c: Regenerated.
85638         * tests/unictype/test-categ_Sk.c: Regenerated.
85639         * tests/unictype/test-categ_Sm.c: Regenerated.
85640         * tests/unictype/test-categ_So.c: Regenerated.
85641         * tests/unictype/test-ctype_alnum.c: Regenerated.
85642         * tests/unictype/test-ctype_alpha.c: Regenerated.
85643         * tests/unictype/test-ctype_graph.c: Regenerated.
85644         * tests/unictype/test-ctype_lower.c: Regenerated.
85645         * tests/unictype/test-ctype_print.c: Regenerated.
85646         * tests/unictype/test-ctype_punct.c: Regenerated.
85647         * tests/unictype/test-ctype_upper.c: Regenerated.
85648         * tests/unictype/test-decdigit.h: Regenerated.
85649         * tests/unictype/test-digit.h: Regenerated.
85650         * tests/unictype/test-numeric.h: Regenerated.
85651         * tests/unictype/test-pr_alphabetic.c: Regenerated.
85652         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
85653         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
85654         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
85655         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
85656         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
85657         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
85658         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
85659         * tests/unictype/test-pr_combining.c: Regenerated.
85660         * tests/unictype/test-pr_dash.c: Regenerated.
85661         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
85662         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
85663         * tests/unictype/test-pr_deprecated.c: Regenerated.
85664         * tests/unictype/test-pr_diacritic.c: Regenerated.
85665         * tests/unictype/test-pr_extender.c: Regenerated.
85666         * tests/unictype/test-pr_format_control.c: Regenerated.
85667         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
85668         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
85669         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
85670         * tests/unictype/test-pr_id_continue.c: Regenerated.
85671         * tests/unictype/test-pr_id_start.c: Regenerated.
85672         * tests/unictype/test-pr_ideographic.c: Regenerated.
85673         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
85674         * tests/unictype/test-pr_lowercase.c: Regenerated.
85675         * tests/unictype/test-pr_math.c: Regenerated.
85676         * tests/unictype/test-pr_numeric.c: Regenerated.
85677         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
85678         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
85679         Regenerated.
85680         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
85681         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
85682         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
85683         * tests/unictype/test-pr_other_math.c: Regenerated.
85684         * tests/unictype/test-pr_punctuation.c: Regenerated.
85685         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
85686         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
85687         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
85688         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
85689         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
85690         * tests/unictype/test-pr_uppercase.c: Regenerated.
85691         * tests/unictype/test-pr_xid_continue.c: Regenerated.
85692         * tests/unictype/test-pr_xid_start.c: Regenerated.
85693         * tests/unictype/test-pr_zero_width.c: Regenerated.
85695         Update to Unicode 5.1.0.
85696         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
85697         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
85698         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
85699         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
85700         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
85701         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
85702         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
85703         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
85704         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
85705         (nonspacing_table_ind): Update.
85706         * tests/uniwidth/test-uc_width2.sh: Update expected result.
85708         Update to Unicode 5.1.0.
85709         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
85710         code transform.
85711         * lib/uniname/uniname.c (unicode_character_name,
85712         unicode_name_character): Add the range 0x1Fxxx to the code transform.
85713         * lib/uniname/uninames.h: Regenerated.
85714         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
85716 2009-02-07  Bruno Haible  <bruno@clisp.org>
85718         Merge gen-ctype and gen-lbrk into a single program.
85719         * lib/gen-uni-tables.c: New file, incorporating
85720         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
85721         Add directory prefixes to the names of the generated files.
85722         * lib/unictype/gen-ctype.c: Remove file.
85723         * lib/unilbrk/gen-lbrk.c: Remove file.
85724         * modules/gen-uni-tables: New file.
85725         * modules/unictype/gen-ctype: Remove file.
85726         * modules/unilbrk/gen-lbrk: Remove file.
85728 2009-02-07  Bruno Haible  <bruno@clisp.org>
85730         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
85732         New module 'unistr/u32-strcoll'.
85733         * modules/unistr/u32-strcoll: New file.
85734         * lib/unistr/u32-strcoll.c: New file.
85736         New module 'unistr/u16-strcoll'.
85737         * modules/unistr/u16-strcoll: New file.
85738         * lib/unistr/u16-strcoll.c: New file.
85740         New module 'unistr/u8-strcoll'.
85741         * modules/unistr/u8-strcoll: New file.
85742         * lib/unistr/u8-strcoll.c: New file.
85743         * lib/unistr/u-strcoll.h: New file.
85745 2009-02-07  Bruno Haible  <bruno@clisp.org>
85747         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
85748         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
85749         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
85750         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
85751         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
85752         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
85754 2009-02-07  Bruno Haible  <bruno@clisp.org>
85756         Make 64-bit clean.
85757         * lib/unictype/gen-ctype.c (output_predicate, output_category,
85758         output_combclass, output_bidi_category, output_decimal_digit,
85759         output_digit, output_numeric, output_mirror, output_scripts,
85760         output_ident_category): Use proper width specifier in format strings.
85762 2009-02-07  Bruno Haible  <bruno@clisp.org>
85764         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
85765         failure behaviour.
85767 2009-02-07  Jim Meyering  <meyering@redhat.com>
85769         regex: avoid compilation failure with upcoming gcc-4.4
85770         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
85771         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
85772         "... error: integer overflow in preprocessor expression".
85774 2009-02-05  Ben Pfaff  <blp@gnu.org>
85776         Fix link errors on Windows when close module is used.
85777         * modules/close: Add $(LIB_CLOSE) to Link section.
85778         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
85779         $(LIB_CLOSE) on Windows.
85781 2009-02-05  Jim Meyering  <meyering@redhat.com>
85783         still avoid unused-parameter warnings, but do it cleanly
85784         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
85785         (get_fs_usage): Cast to void instead.
85786         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
85787         (dev_from_mount_options, read_file_system_list): Cast to void.
85788         Prompted by Bruno Haible.
85790 2009-02-04  Jim Meyering  <meyering@redhat.com>
85792         fsusage.c: correct copyright year
85793         * lib/fsusage.c: Reflect year in which the change is pushed into
85795         avoid misc. warnings
85796         * lib/fsusage.c (UNUSED_PARAM): Define.
85797         (get_fs_usage): Mark parameter "disk" as unused.
85798         * lib/getugroups.c (getgrent): Use "void" in prototype.
85799         * lib/mountlist.c: Mark unused parameters.
85800         (read_file_system_list): Declare a local with "const".
85801         * lib/nanosleep.c (getnow): Declare static.
85802         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
85804         dirfd: set errno upon failure
85805         * lib/dirfd.c: Include <errno.h>.
85806         Set errno to ENOTSUP when returning -1.
85807         * modules/dirfd (Depends-on): Add errno.
85808         Suggested by John Kodis <kodis@comcast.net>.
85810 2009-02-01  Bruno Haible  <bruno@clisp.org>
85812         Don't assume sizeof (long) >= sizeof (void *).
85813         * lib/memcmp.c: Include stdint.h.
85814         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
85815         srcp2 to 'const byte *'.
85816         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
85817         types to uintptr_t.
85818         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
85819         * modules/memcmp (Depends-on): Add stdint.
85820         Reported by Ozkan Sezer <sezeroz@gmail.com>.
85822 2009-01-30  Eric Blake  <ebb9@byu.net>
85824         fix more require-before-expand issues
85825         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
85826         expand, AC_PROG_AWK.
85827         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
85829 2009-01-28  Eric Blake  <ebb9@byu.net>
85831         version-etc: use consistent URL formatting
85832         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
85833         Improve formatting.  Use fputs for string without %.
85835 2009-01-28  Jim Meyering  <meyering@redhat.com>
85837         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
85838         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
85839         "underquoted definition of NAME" from autoconf-2.59.
85841 2009-01-28  Bruno Haible  <bruno@clisp.org>
85843         * doc/gnulib.texi: Add "Obsolete modules" to index.
85845 2009-01-28  Jim Meyering  <meyering@redhat.com>
85847         useless-if-before-free: recognize more variants
85848         * build-aux/useless-if-before-free: Also recognize e.g.,
85849         if (NULL != p) free (p);
85851 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
85853         test-getaddrinfo: skip (don't fail) this test when there's no network
85854         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
85855         on the presumption that it means you lack network access.
85857 2009-01-26  Jim Meyering  <meyering@redhat.com>
85859         fflush: avoid warnings on modern systems
85860         * lib/fflush.c (rpl_fflush): Move declarations of locals,
85861         pos and result, into scopes where they're used.
85863 2009-01-26  Eric Blake  <ebb9@byu.net>
85865         Silence warning reintroduced by recent extensions patch.
85866         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
85867         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
85868         autoconf.
85870         Backport improved autoconf semantics of AC_DEFUN_ONCE.
85871         * m4/00gnulib.m4: New file.
85872         * gnulib-tool (func_get_filelist): Always use it.
85873         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
85874         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
85876 2009-01-25  Bruno Haible  <bruno@clisp.org>
85878         Make test-quotearg work on MacOS X and AIX.
85879         * tests/test-quotearg.sh: New file.
85880         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
85881         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
85882         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
85883         include <libintl.h>.
85884         (fake_locale): Remove variable.
85885         (gettext, dgettext, dcgettext): Remove functions.
85886         (main): Instead of setting a fake locale, set a real locale. Call
85887         textdomain and bindtextdomain.
85888         * modules/quotearg-tests (Files): Add the new files.
85889         (Depends-on): Add gettext, setenv, unsetenv.
85890         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
85891         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
85892         Augment TESTS_ENVIRONMENT.
85894 2009-01-25  Bruno Haible  <bruno@clisp.org>
85896         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
85897         fr_FR.ISO8859-1 locale on MacOS X.
85898         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
85899         ja_JP.eucJP locale on MacOS X.
85900         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
85901         zh_CN.GB18030 locale on MacOS X.
85903 2009-01-25  Bruno Haible  <bruno@clisp.org>
85905         Avoid link errors on MacOS X 10.3.
85906         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
85907         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
85909 2009-01-25  Bruno Haible  <bruno@clisp.org>
85911         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
85912         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
85913         * modules/pipe (Files): Remove m4/posix_spawn.m4.
85914         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
85915         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
85916         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
85917         posix_spawnattr_init, posix_spawnattr_setsigmask,
85918         posix_spawnattr_setflags, posix_spawnattr_destroy.
85920         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
85921         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
85922         * modules/execute (Files): Remove m4/posix_spawn.m4.
85923         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
85924         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
85925         posix_spawnattr_init, posix_spawnattr_setsigmask,
85926         posix_spawnattr_setflags, posix_spawnattr_destroy.
85928 2009-01-25  Bruno Haible  <bruno@clisp.org>
85930         * lib/glthread/threadlib.c: Include <stdlib.h>.
85932 2009-01-25  Bruno Haible  <bruno@clisp.org>
85934         * lib/glthread/threadlib.c (dummy): New declaration.
85936 2009-01-25  Bruno Haible  <bruno@clisp.org>
85938         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
85939         multibyte characters also for the GB18030 encoding. Don't crash when
85940         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
85942 2009-01-25  Bruno Haible  <bruno@clisp.org>
85944         Avoid redefining 'struct random_data' on OSF/1 5.1.
85945         * lib/stdlib.in.h: Include <random.h> if it exists.
85946         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
85947         HAVE_RANDOM_H. Include <random.h> when testing whether
85948         'struct random_data' exists.
85949         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
85951 2009-01-25  Bruno Haible  <bruno@clisp.org>
85953         Don't install charset.alias on MacOS X >= 10.3.
85954         * lib/localcharset.c (DARWIN7): New macro.
85955         (get_charset_aliases): Hardcode the result for Darwin7.
85956         * modules/localcharset (install-exec-local): Don't install
85957         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
85959 2009-01-25  Bruno Haible  <bruno@clisp.org>
85961         Don't install charset.alias on mingw and Cygwin.
85962         * modules/localcharset (install-exec-local): Don't install
85963         charset.alias on mingw and Cygwin, if the file does not yet exist.
85964         The result for these platforms is hardcoded in localcharset.c.
85966 2009-01-25  Bruno Haible  <bruno@clisp.org>
85968         Make it possible again to use AC_GNU_SOURCE together with gnulib.
85969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
85970         before requiring AC_USE_SYSTEM_EXTENSIONS.
85972 2009-01-25  Jim Meyering  <meyering@redhat.com>
85974         c-strtod: avoid warnings
85975         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
85976         "assignment discards qualifiers from pointer target type" warnings.
85978 2009-01-24  Bruno Haible  <bruno@clisp.org>
85980         Add support for non-UTF-8 locales on MacOS X.
85981         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
85982         canonical encodings. For Darwin 7 and newer, don't map traditional
85983         encodings to UTF-8.
85984         Reported by Vincent Lefevre <vincent@vinc17.org>
85985         at <http://savannah.gnu.org/bugs/?25235>.
85987 2009-01-24  Bruno Haible  <bruno@clisp.org>
85989         * doc/gnulib.texi (Obsolete modules): New section.
85990         Reported by Mike Frysinger <vapier@gentoo.org>.
85992 2009-01-24  Bruno Haible  <bruno@clisp.org>
85994         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
85995         (%.dvi): New rule.
85997 2009-01-24  Bruno Haible  <bruno@clisp.org>
85999         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
86000         Reported by Eric Blake.
86002 2009-01-24  Bruno Haible  <bruno@clisp.org>
86004         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
86005         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
86006         Reported by Gary V. Vaughan <gary@gnu.org>.
86008 2009-01-24  Bruno Haible  <bruno@clisp.org>
86010         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
86012 2009-01-23  Bruno Haible  <bruno@clisp.org>
86014         Make c-strtod, c-strtold usable in libraries.
86015         * lib/c-strtod.c: Include string.h instead of xalloc.h.
86016         (C_STRTOD): Call strdup instead of xstrdup.
86017         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
86018         * modules/c-strtold (Depends-on): Likewise.
86019         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
86020         * NEWS: Mention the change.
86021         Reported by Michael Gold <mgold@ncf.ca>.
86023 2009-01-23  Jim Meyering  <meyering@redhat.com>
86025         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
86026         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
86027         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
86029 2009-01-23  Simon Josefsson  <simon@josefsson.org>
86031         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
86032         GNU CoreUtils.
86033         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
86034         * modules/version-etc (Description): Update.
86036 2009-01-22  Bruno Haible  <bruno@clisp.org>
86038         Cache the C locale object.
86039         * lib/c-strtod.c (c_locale_cache): New variable.
86040         (c_locale): New function.
86041         (C_STRTOD): Use it, and don't call freelocale.
86042         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
86043         Suggested by Paolo Bonzini.
86045 2009-01-21  Bruno Haible  <bruno@clisp.org>
86047         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
86048         conditions other than overflow.
86050 2009-01-21  Bruno Haible  <bruno@clisp.org>
86052         * lib/c-strtod.c: Include errno.h.
86053         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
86054         value from STRTOD_L and STRTOD.
86056 2009-01-21  Bruno Haible  <bruno@clisp.org>
86057         and Jim Meyering  <meyering@redhat.com>
86059         nanosleep: skip configure test (fail it) for apple universal builds
86060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
86061         universal builds, assume that nanosleep does not work.
86062         * modules/nanosleep (Depends-on): Add multiarch.
86064         mktime: skip configure test (fail it) for apple universal builds
86065         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
86066         universal builds, assume that mktime does not work.
86067         * modules/mktime (Depends-on): Add multiarch.
86069 2009-01-21  Eric Blake  <ebb9@byu.net>
86071         multiarch: avoid expand-before-require warning
86072         * modules/multiarch (configure.ac): Require, rather than expand,
86073         gl_MULTIARCH.
86074         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
86075         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
86076         enforce that all clients require it.  Partial reversion of
86077         2008-12-29 patch.
86079         error: avoid expand-before-require warning
86080         * modules/errno (configure.ac): Require, rather than expand,
86081         gl_HEADER_ERRNO_H.
86082         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
86083         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
86084         enforce that all clients require it.
86086         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
86087         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
86088         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
86089         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
86091 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
86093         Revert:
86094         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86096         regex: do not depend on obsolete modules.
86097         * modules/regex: Remove memcmp and memmove.
86099 2009-01-20  Bruno Haible  <bruno@clisp.org>
86101         Make the 'link' module link on Windows NT 4.
86102         * lib/link.c (_WIN32_WINNT): Don't define.
86103         (CreateHardLinkFuncType): New type.
86104         (CreateHardLinkFunc, initialized): New variables.
86105         (initialize): New function.
86106         (link): Invoke CreateHardLink indirectly through the function pointer.
86108 2009-01-20  Bruno Haible  <bruno@clisp.org>
86110         Fix compilation failure on mingw.
86111         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
86113 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
86115         * doc/c-strtod.texi: Mention a couple of restrictions.
86117 2009-01-20  Jim Meyering  <meyering@redhat.com>
86119         gettimeofday: move more declarations out of functions
86120         * lib/gettimeofday.c: Move extern declarations of tzset and
86121         gmtime out of containing functions.  Prompted by Bruno Haible.
86123 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86125         regex: do not depend on obsolete modules.
86126         * modules/regex: Remove memcmp and memmove.
86128 2009-01-19  Bruno Haible  <bruno@clisp.org>
86130         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86131         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
86132         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86133         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
86134         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
86136 2009-01-19  Bruno Haible  <bruno@clisp.org>
86138         * tests/test-link.c: Include <errno.h>.
86139         (main): Exit with code 77 when a hard link cannot be created due to
86140         the file system.
86141         * tests/test-link.sh: Skip test when a hard link cannot be created due
86142         to the file system.
86143         Suggested by Eric Blake.
86145 2009-01-19  Martin Lambers  <marlam@marlam.de>
86147         * modules/link-tests: New file.
86148         * tests/test-link.sh: New file.
86149         * tests/test-link.c: New file.
86151 2009-01-19  Eric Blake  <ebb9@byu.net>
86153         doc: mention another function added in cygwin 1.7.0
86154         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
86155         Another new function in cygwin 1.7.
86157 2009-01-19  Bruno Haible  <bruno@clisp.org>
86159         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86160         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
86161         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
86162         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86163         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
86164         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
86165         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
86166         * m4/md4.m4 (gl_MD4): Likewise.
86167         * m4/md5.m4 (gl_MD5): Likewise.
86168         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
86169         * m4/sha1.m4 (gl_SHA1): Likewise.
86170         * m4/sha256.m4 (gl_SHA256): Likewise.
86171         * m4/sha512.m4 (gl_SHA512): Likewise.
86173 2009-01-19  Bruno Haible  <bruno@clisp.org>
86175         * modules/uniname/uniname-tests (Depends-on): Add progname.
86176         * tests/uniname/test-uninames.c: Include progname.h.
86177         (main): Call set_program_name.
86179         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
86180         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
86181         (main): Call set_program_name.
86183         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
86184         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
86185         (main): Call set_program_name.
86187         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
86188         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
86189         (main): Call set_program_name.
86191         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
86192         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
86193         (main): Call set_program_name.
86195         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
86196         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
86197         (main): Call set_program_name.
86199         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
86200         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
86201         (main): Call set_program_name.
86203         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
86204         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
86205         (main): Call set_program_name.
86207         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
86208         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
86209         (main): Call set_program_name.
86211 2009-01-19  Eric Blake  <ebb9@byu.net>
86213         test-unistd: test previous patch
86214         * tests/test-unistd.c: Test *_FILENO macros.
86216         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
86217         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86218         Guarantee a definition.
86219         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
86220         * modules/unistd-safer (Depends-on): Add dependency on unistd.
86221         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
86222         * lib/dup-safer.c (STDERR_FILENO): Likewise.
86223         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86224         Likewise.
86225         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
86226         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
86227         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86228         Likewise.
86229         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
86230         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
86231         (STDERR_FILENO): Likewise.
86232         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
86233         (STDERR_FILENO): Likewise.
86234         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
86235         (STDERR_FILENO): Likewise.
86236         Reported by Elbert Pol.
86238 2009-01-19  Eric Blake  <ebb9@byu.net>
86240         doc: mention more functions added in cygwin 1.7.0
86241         * doc/posix-functions/abort.texi (abort): Update wording related
86242         to cygwin.
86243         * doc/posix-functions/daylight.texi (daylight): Likewise.
86244         * doc/posix-functions/optarg.texi (optarg): Likewise.
86245         * doc/posix-functions/optarg.texi (opterr): Likewise.
86246         * doc/posix-functions/optarg.texi (optind): Likewise.
86247         * doc/posix-functions/optarg.texi (optopt): Likewise.
86248         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
86249         worked in 1.5.x, and was withdrawn in 1.7.
86250         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
86251         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
86252         cygwin versions.
86253         * doc/posix-functions/perror.texi (perror): Likewise.
86254         * doc/posix-functions/printf.texi (printf): Likewise.
86255         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
86256         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
86257         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
86258         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
86259         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
86260         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
86261         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
86262         Likewise.
86263         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
86264         Likewise.
86265         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
86266         this function.
86267         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
86268         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
86269         Likewise.
86270         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
86271         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
86272         * doc/posix-functions/confstr.texi (confstr): Likewise.
86273         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
86274         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
86275         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
86276         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
86277         * doc/posix-functions/fputws.texi (fputws): Likewise.
86278         * doc/posix-functions/fwide.texi (fwide): Likewise.
86279         * doc/posix-functions/getwc.texi (getwc): Likewise.
86280         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
86281         * doc/posix-functions/putwc.texi (putwc): Likewise.
86282         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
86283         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
86284         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
86285         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
86286         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
86287         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
86288         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
86289         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
86290         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
86291         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
86292         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
86294 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86296         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
86297         * lib/ioctl.c: Include <sys/ioctl.h>.
86299 2009-01-19  Simon Josefsson  <simon@josefsson.org>
86301         * modules/getdate-tests (Depends-on): Add progname.
86302         * tests/test-getdate.c: Use progname module, to avoid link errors
86303         on non-glibc systems.
86305 2009-01-18  Simon Josefsson  <simon@josefsson.org>
86307         * modules/filenamecat-tests (Depends-on): Add progname.
86308         * modules/fstrcmp-tests (Depends-on): Likewise.
86310         * tests/test-filenamecat.c: Use progname module, to avoid link
86311         errors on non-glibc systems.
86312         * tests/test-fstrcmp.c: Likewise.
86314 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86316         gettimeofday: avoid warning: nested extern declaration of 'localtime'
86317         * lib/gettimeofday.c: Move extern declaration out of function.
86319 2009-01-18  Bruno Haible  <bruno@clisp.org>
86321         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
86322         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
86323         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
86325 2009-01-18  Bruno Haible  <bruno@clisp.org>
86327         * lib/strftime.c (MEMPCPY): Remove unused macro.
86328         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
86330 2009-01-18  Martin Lambers  <marlam@marlam.de>
86332         New module 'link'.
86333         * lib/unistd.in.h (link): New declaration.
86334         * lib/link.c: New file.
86335         * m4/link.m4: New file.
86336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
86337         HAVE_LINK.
86338         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
86339         * modules/link: New file.
86340         * doc/posix-functions/link.texi: Mention the new module.
86342 2009-01-18  Bruno Haible  <bruno@clisp.org>
86344         * tests/test-avltree_list.c (main): Call set_program_name.
86345         * tests/test-avltree_oset.c (main): Likewise.
86346         * tests/test-obstack-printf.c: Include progname.h.
86347         (main): Call set_program_name.
86348         * tests/test-quotearg.c: Include progname.h.
86349         (main): Call set_program_name.
86350         * tests/test-xmemdup0.c: Include progname.h.
86351         (main): Call set_program_name.
86353 2009-01-18  Bruno Haible  <bruno@clisp.org>
86355         New module 'alphasort'.
86356         * lib/dirent.in.h (alphasort): New declaration.
86357         * lib/alphasort.c: New file, from glibc with modifications.
86358         * m4/alphasort.m4: New file.
86359         * modules/alphasort: New file.
86360         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
86361         HAVE_ALPHASORT.
86362         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
86363         HAVE_ALPHASORT.
86364         * doc/posix-functions/alphasort.texi: Mention the new module and the
86365         portability problems.
86367 2009-01-18  Bruno Haible  <bruno@clisp.org>
86369         New module 'scandir'.
86370         * lib/dirent.in.h (scandir): New declaration.
86371         * lib/scandir.c: New file, from glibc with modifications.
86372         * m4/scandir.m4: New file.
86373         * modules/scandir: New file.
86374         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
86375         HAVE_SCANDIR.
86376         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
86377         HAVE_SCANDIR.
86378         * doc/posix-functions/scandir.texi: Mention the new module and the
86379         portability problems.
86381 2009-01-17  Bruno Haible  <bruno@clisp.org>
86383         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
86384         Update documentation.
86385         (func_remove_suffix): Escape all dots in the suffix. Update
86386         documentation.
86387         (func_filter_filelist): Update documentation.
86388         Reported by Ralf Wildenhues.
86390 2009-01-17  Bruno Haible  <bruno@clisp.org>
86392         * modules/dprintf-posix-tests: New file.
86393         * tests/test-dprintf-posix.sh: New file.
86394         * tests/test-dprintf-posix.c: New file.
86396         New modules 'dprintf', 'dprintf-posix'.
86397         * lib/stdio.in.h (dprintf): New declaration.
86398         * lib/dprintf.c: New file.
86399         * m4/dprintf.m4: New file.
86400         * m4/dprintf-posix.m4: New file.
86401         * modules/dprintf: New file.
86402         * modules/dprintf-posix: New file.
86403         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
86404         HAVE_DPRINTF, REPLACE_DPRINTF.
86405         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
86406         HAVE_DPRINTF, REPLACE_DPRINTF.
86407         * doc/posix-functions/dprintf.texi: Mention the new modules.
86409 2009-01-17  Bruno Haible  <bruno@clisp.org>
86411         * modules/vdprintf-posix-tests: New file.
86412         * tests/test-vdprintf-posix.sh: New file.
86413         * tests/test-vdprintf-posix.c: New file.
86415         New modules 'vdprintf', 'vdprintf-posix'.
86416         * lib/stdio.in.h (vdprintf): New declaration.
86417         * lib/vdprintf.c: New file.
86418         * m4/vdprintf.m4: New file.
86419         * m4/vdprintf-posix.m4: New file.
86420         * modules/vdprintf: New file.
86421         * modules/vdprintf-posix: New file.
86422         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
86423         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86424         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
86425         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86426         * doc/posix-functions/vdprintf.texi: Mention the new modules.
86428 2009-01-17  Bruno Haible  <bruno@clisp.org>
86430         Fix replacement of fopen on mingw.
86431         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
86432         mingw.
86434 2009-01-17  Bruno Haible  <bruno@clisp.org>
86436         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
86437         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
86439 2009-01-17  Bruno Haible  <bruno@clisp.org>
86441         Avoid test-fflush2.sh failure on mingw.
86442         * tests/test-fflush2.c: Include binary-io.h.
86443         (main): Put standard input into binary mode.
86444         * modules/fflush-tests (Depends-on): Add binary-io.
86446 2009-01-17  Bruno Haible  <bruno@clisp.org>
86448         * lib/wchar.in.h: In another particular situation, include only the
86449         system's <wchar.h> file.
86450         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
86451         Reported by Albert Chin-A-Young <china@thewrittenword.com>
86452         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
86454 2009-01-17  Bruno Haible  <bruno@clisp.org>
86456         Support for stripping executables in --enable-relocatable.
86457         * build-aux/install-reloc: Expect one more argument, or an environment
86458         variable RELOC_STRIP_PROG. If set, strip the destination program and
86459         its wrapper.
86460         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
86461         RELOC_STRIP_PROG.
86462         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
86463         to set RELOCATABLE_STRIP.
86464         * NEWS: Mention the new Makefile requirement.
86466 2009-01-17  Bruno Haible  <bruno@clisp.org>
86468         * build-aux/install-reloc: Remove debugging information left over by
86469         C compiler on MacOS X.
86471 2009-01-17  Bruno Haible  <bruno@clisp.org>
86473         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
86474         * lib/progreloc.c (find_executable): Fix type of pointer passed to
86475         _NSGetExecutablePath.
86477 2009-01-16  Jim Meyering  <meyering@redhat.com>
86479         strerror: avoid warnings about discarding "const"
86480         * lib/strerror.c (rpl_strerror): Instead of returning a const
86481         string from each and every "case", use a variable, and add a single
86482         cast after the switch.
86484 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
86486         * lib/arpa_inet.in.h: Add extern "C" block for C++.
86488 2009-01-16  Bruno Haible  <bruno@clisp.org>
86490         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
86491         array initializer syntax that also works in C++ mode.
86492         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86494 2009-01-16  Jim Meyering  <meyering@redhat.com>
86496         poll: suppress a warning
86497         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
86498         to ignore "...unsigned expression < 0 is always false" warnings.
86500 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
86502         poll: remove declarations of unused variables
86503         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
86504         sockbuf and optlen.
86506 2009-01-15  Bruno Haible  <bruno@clisp.org>
86508         Make fflush-after-ungetc POSIX compliant on BSD systems.
86509         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
86510         (clear_ungetc_buffer): Implement also for other systems.
86511         (rpl_fflush): On glibc systems, invoke
86512         clear_ungetc_buffer_preserving_position. Otherwise, invoke
86513         clear_ungetc_buffer after fetching the stream's position, not before.
86515 2009-01-15  Bruno Haible  <bruno@clisp.org>
86517         Make fflush-after-ungetc POSIX compliant on glibc systems.
86518         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
86519         after ungetc.
86520         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
86521         (rpl_fflush): On glibc systems, simply call the system's fflush
86522         function after clearing the ungetc buffer.
86523         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
86524         Instead, lseek only to the end of file, then use the system's fseeko
86525         for the rest. On glibc systems, reset the EOF indicator bit.
86527 2009-01-15  Jim Meyering  <meyering@redhat.com>
86529         openmp.m4: revert quote-adding change, for portability to older autoconf
86530         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
86531         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
86532         Simon Josefsson noticed the problem when using autoconf-2.61.
86534 2009-01-15  Bruno Haible  <bruno@clisp.org>
86536         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
86537         * tests/test-fflush2.c (ASSERT): Always fail.
86538         (main): Add two tests for fflush() after ungetc(), taking into account
86539         the Austin Group's clarification.
86540         Suggested by Eric Blake.
86542 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
86544         mktime.m4: remove K&R-style function prototypes
86545         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
86546         for the Sun C++ compiler.
86548 2009-01-14  Bruno Haible  <bruno@clisp.org>
86550         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
86551         while including <wchar.h>.
86552         * lib/wchar.in.h: In two particular situations on HP-UX, include only
86553         the system's <wchar.h> file.
86554         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86556 2009-01-14  Bruno Haible  <bruno@clisp.org>
86558         * m4/csharp.m4: Don't mention gettext on the serial number line.
86559         * m4/csharpexec.m4: Likewise.
86560         * m4/eaccess.m4: Likewise.
86561         * m4/javaexec.m4: Likewise.
86562         * m4/sig_atomic_t.m4: Likewise.
86563         * m4/tmpdir.m4: Likewise.
86564         * m4/intldir.m4: Bump gettext version.
86565         * m4/lib-ld.m4: Likewise.
86567 2009-01-14  Bruno Haible  <bruno@clisp.org>
86569         * lib/progname.c (set_program_name): Add more comments.
86570         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
86572 2009-01-14  Simon Josefsson  <simon@josefsson.org>
86574         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
86575         were sys/stat.h does not define it.
86577 2009-01-14  Jim Meyering  <meyering@redhat.com>
86579         many *.m4 files: improve m4 quoting
86580         99% of this change was performed by running the following commands:
86581         git ls-files | grep '\.m4$' | xargs perl -pi \
86582           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
86583           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
86584           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
86585           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
86586         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
86587         The remainder were to add Copyright dates, increment serial numbers,
86588         undo some changes in comments, exclude m4/intl.m4, and add quotes
86589         around the "1" in ",1" where the unusual spacing prohibited the
86590         above regexps from doing the job.  For more details, see
86591         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
86592         * m4/acl.m4: Modified.
86593         * m4/afs.m4: Likewise.
86594         * m4/alloca.m4: Likewise.
86595         * m4/argp.m4: Likewise.
86596         * m4/argz.m4: Likewise.
86597         * m4/atexit.m4: Likewise.
86598         * m4/bison-i18n.m4: Likewise.
86599         * m4/bison.m4: Likewise.
86600         * m4/byteswap.m4: Likewise.
86601         * m4/c-stack.m4: Likewise.
86602         * m4/c-strtod.m4: Likewise.
86603         * m4/calloc.m4: Likewise.
86604         * m4/canonicalize-lgpl.m4: Likewise.
86605         * m4/chown.m4: Likewise.
86606         * m4/clock_time.m4: Likewise.
86607         * m4/codeset.m4: Likewise.
86608         * m4/copy-file.m4: Likewise.
86609         * m4/csharp.m4: Likewise.
86610         * m4/csharpcomp.m4: Likewise.
86611         * m4/csharpexec.m4: Likewise.
86612         * m4/d-ino.m4: Likewise.
86613         * m4/d-type.m4: Likewise.
86614         * m4/dirfd.m4: Likewise.
86615         * m4/double-slash-root.m4: Likewise.
86616         * m4/eaccess.m4: Likewise.
86617         * m4/eealloc.m4: Likewise.
86618         * m4/environ.m4: Likewise.
86619         * m4/errno_h.m4: Likewise.
86620         * m4/euidaccess.m4: Likewise.
86621         * m4/execute.m4: Likewise.
86622         * m4/fatal-signal.m4: Likewise.
86623         * m4/fchdir.m4: Likewise.
86624         * m4/fcntl_h.m4: Likewise.
86625         * m4/fileblocks.m4: Likewise.
86626         * m4/filenamecat.m4: Likewise.
86627         * m4/findprog.m4: Likewise.
86628         * m4/flexmember.m4: Likewise.
86629         * m4/fnmatch.m4: Likewise.
86630         * m4/fopen.m4: Likewise.
86631         * m4/fpending.m4: Likewise.
86632         * m4/fprintf-posix.m4: Likewise.
86633         * m4/free.m4: Likewise.
86634         * m4/frexp.m4: Likewise.
86635         * m4/frexpl.m4: Likewise.
86636         * m4/fsusage.m4: Likewise.
86637         * m4/ftruncate.m4: Likewise.
86638         * m4/gc-camellia.m4: Likewise.
86639         * m4/gc-random.m4: Likewise.
86640         * m4/gc.m4: Likewise.
86641         * m4/getaddrinfo.m4: Likewise.
86642         * m4/getcwd-abort-bug.m4: Likewise.
86643         * m4/getcwd-path-max.m4: Likewise.
86644         * m4/getdate.m4: Likewise.
86645         * m4/getdomainname.m4: Likewise.
86646         * m4/getgroups.m4: Likewise.
86647         * m4/gethostname.m4: Likewise.
86648         * m4/gethrxtime.m4: Likewise.
86649         * m4/getline.m4: Likewise.
86650         * m4/getloadavg.m4: Likewise.
86651         * m4/getndelim2.m4: Likewise.
86652         * m4/getpass.m4: Likewise.
86653         * m4/gettext.m4: Likewise.
86654         * m4/gettime.m4: Likewise.
86655         * m4/gettimeofday.m4: Likewise.
86656         * m4/gnulib-common.m4: Likewise.
86657         * m4/group-member.m4: Likewise.
86658         * m4/host-os.m4: Likewise.
86659         * m4/iconv.m4: Likewise.
86660         * m4/iconv_open.m4: Likewise.
86661         * m4/inet_ntop.m4: Likewise.
86662         * m4/inet_pton.m4: Likewise.
86663         * m4/inline.m4: Likewise.
86664         * m4/intldir.m4: Likewise.
86665         * m4/intlmacosx.m4: Likewise.
86666         * m4/intmax.m4: Likewise.
86667         * m4/intmax_t.m4: Likewise.
86668         * m4/inttypes.m4: Likewise.
86669         * m4/inttypes_h.m4: Likewise.
86670         * m4/inttypes-pri.m4: Likewise.
86671         * m4/isapipe.m4: Likewise.
86672         * m4/isnand.m4: Likewise.
86673         * m4/isnanf.m4: Likewise.
86674         * m4/isnanl.m4: Likewise.
86675         * m4/javacomp.m4: Likewise.
86676         * m4/javaexec.m4: Likewise.
86677         * m4/jm-winsz1.m4: Likewise.
86678         * m4/jm-winsz2.m4: Likewise.
86679         * m4/lchown.m4: Likewise.
86680         * m4/lcmessage.m4: Likewise.
86681         * m4/ldexpl.m4: Likewise.
86682         * m4/lib-ld.m4: Likewise.
86683         * m4/lib-link.m4: Likewise.
86684         * m4/libsigsegv.m4: Likewise.
86685         * m4/link-follow.m4: Likewise.
86686         * m4/localcharset.m4: Likewise.
86687         * m4/locale-fr.m4: Likewise.
86688         * m4/locale-ja.m4: Likewise.
86689         * m4/locale-tr.m4: Likewise.
86690         * m4/locale-zh.m4: Likewise.
86691         * m4/lock.m4: Likewise.
86692         * m4/longlong.m4: Likewise.
86693         * m4/ls-mntd-fs.m4: Likewise.
86694         * m4/lstat.m4: Likewise.
86695         * m4/malloc.m4: Likewise.
86696         * m4/mathl.m4: Likewise.
86697         * m4/mbrtowc.m4: Likewise.
86698         * m4/mbstate_t.m4: Likewise.
86699         * m4/mbswidth.m4: Likewise.
86700         * m4/memchr.m4: Likewise.
86701         * m4/memcmp.m4: Likewise.
86702         * m4/memcpy.m4: Likewise.
86703         * m4/memmem.m4: Likewise.
86704         * m4/memmove.m4: Likewise.
86705         * m4/mempcpy.m4: Likewise.
86706         * m4/memrchr.m4: Likewise.
86707         * m4/memset.m4: Likewise.
86708         * m4/minmax.m4: Likewise.
86709         * m4/mkdir-slash.m4: Likewise.
86710         * m4/mkdtemp.m4: Likewise.
86711         * m4/mktime.m4: Likewise.
86712         * m4/mmap-anon.m4: Likewise.
86713         * m4/mountlist.m4: Likewise.
86714         * m4/nanosleep.m4: Likewise.
86715         * m4/nls.m4: Likewise.
86716         * m4/nocrash.m4: Likewise.
86717         * m4/open.m4: Likewise.
86718         * m4/openat.m4: Likewise.
86719         * m4/openmp.m4: Likewise.
86720         * m4/pathmax.m4: Likewise.
86721         * m4/perl.m4: Likewise.
86722         * m4/physmem.m4: Likewise.
86723         * m4/pipe.m4: Likewise.
86724         * m4/po.m4: Likewise.
86725         * m4/poll.m4: Likewise.
86726         * m4/posixtm.m4: Likewise.
86727         * m4/posixver.m4: Likewise.
86728         * m4/printf-frexp.m4: Likewise.
86729         * m4/printf-frexpl.m4: Likewise.
86730         * m4/printf-posix.m4: Likewise.
86731         * m4/printf-posix-rpl.m4: Likewise.
86732         * m4/printf.m4: Likewise.
86733         * m4/progtest.m4: Likewise.
86734         * m4/putenv.m4: Likewise.
86735         * m4/readline.m4: Likewise.
86736         * m4/readlink.m4: Likewise.
86737         * m4/readutmp.m4: Likewise.
86738         * m4/realloc.m4: Likewise.
86739         * m4/regex.m4: Likewise.
86740         * m4/relocatable.m4: Likewise.
86741         * m4/relocatable-lib.m4: Likewise.
86742         * m4/rename-dest-slash.m4: Likewise.
86743         * m4/rename.m4: Likewise.
86744         * m4/rmdir-errno.m4: Likewise.
86745         * m4/rmdir.m4: Likewise.
86746         * m4/roundf.m4: Likewise.
86747         * m4/roundl.m4: Likewise.
86748         * m4/rpmatch.m4: Likewise.
86749         * m4/save-cwd.m4: Likewise.
86750         * m4/selinux-selinux-h.m4: Likewise.
86751         * m4/setenv.m4: Likewise.
86752         * m4/settime.m4: Likewise.
86753         * m4/sig2str.m4: Likewise.
86754         * m4/sig_atomic_t.m4: Likewise.
86755         * m4/signalblocking.m4: Likewise.
86756         * m4/signbit.m4: Likewise.
86757         * m4/sigpipe.m4: Likewise.
86758         * m4/sockets.m4: Likewise.
86759         * m4/sockpfaf.m4: Likewise.
86760         * m4/st_dm_mode.m4: Likewise.
86761         * m4/stat-time.m4: Likewise.
86762         * m4/stdbool.m4: Likewise.
86763         * m4/stdint.m4: Likewise.
86764         * m4/stdint_h.m4: Likewise.
86765         * m4/stpcpy.m4: Likewise.
86766         * m4/stpncpy.m4: Likewise.
86767         * m4/strcase.m4: Likewise.
86768         * m4/strchrnul.m4: Likewise.
86769         * m4/strcspn.m4: Likewise.
86770         * m4/strdup.m4: Likewise.
86771         * m4/strftime.m4: Likewise.
86772         * m4/strndup.m4: Likewise.
86773         * m4/strnlen.m4: Likewise.
86774         * m4/strpbrk.m4: Likewise.
86775         * m4/strptime.m4: Likewise.
86776         * m4/strsep.m4: Likewise.
86777         * m4/strtod.m4: Likewise.
86778         * m4/strtoimax.m4: Likewise.
86779         * m4/strtok_r.m4: Likewise.
86780         * m4/strtol.m4: Likewise.
86781         * m4/strtoll.m4: Likewise.
86782         * m4/strtoul.m4: Likewise.
86783         * m4/strtoull.m4: Likewise.
86784         * m4/strtoumax.m4: Likewise.
86785         * m4/strverscmp.m4: Likewise.
86786         * m4/threadlib.m4: Likewise.
86787         * m4/timegm.m4: Likewise.
86788         * m4/tm_gmtoff.m4: Likewise.
86789         * m4/tmpdir.m4: Likewise.
86790         * m4/tmpfile.m4: Likewise.
86791         * m4/tzset.m4: Likewise.
86792         * m4/uintmax_t.m4: Likewise.
86793         * m4/unlinkdir.m4: Likewise.
86794         * m4/unlocked-io.m4: Likewise.
86795         * m4/uptime.m4: Likewise.
86796         * m4/userspec.m4: Likewise.
86797         * m4/utimbuf.m4: Likewise.
86798         * m4/utime.m4: Likewise.
86799         * m4/utimes-null.m4: Likewise.
86800         * m4/utimes.m4: Likewise.
86801         * m4/vararrays.m4: Likewise.
86802         * m4/vasnprintf.m4: Likewise.
86803         * m4/vfprintf-posix.m4: Likewise.
86804         * m4/vprintf-posix.m4: Likewise.
86805         * m4/wait-process.m4: Likewise.
86806         * m4/wchar_t.m4: Likewise.
86807         * m4/wint_t.m4: Likewise.
86808         * m4/write-any-file.m4: Likewise.
86809         * m4/yield.m4: Likewise.
86811 2009-01-13  Bruno Haible  <bruno@clisp.org>
86813         Avoid test-copy-file.sh failures when ACL support insufficient.
86814         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
86815         TESTS_ENVIRONMENT.
86816         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
86817         Reported by Jim Meyering.
86819 2009-01-13  Bruno Haible  <bruno@clisp.org>
86821         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
86822         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
86823         * modules/unistdio/u8-printf-parse (Files): Likewise.
86824         * modules/unistdio/u32-printf-parse (Files): Likewise.
86825         * modules/unistdio/ulc-printf-parse (Files): Likewise.
86827 2009-01-13  Simon Josefsson  <simon@josefsson.org>
86829         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
86830         and m4/inttypes_h.m4 too.
86832 2009-01-12  Eric Blake  <ebb9@byu.net>
86834         tests: IRIX 6.2 cc can't compile -0.0 into .data
86835         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
86836         rather than at compile-time.
86837         * tests/test-floorl.c (minus_zero): Likewise.
86838         * tests/test-frexpl.c (minus_zero): Likewise.
86839         * tests/test-isnan.c (minus_zerol): Likewise.
86840         * tests/test-isnanl.h (minus_zero): Likewise.
86841         * tests/test-ldexpl.c (minus_zero): Likewise.
86842         * tests/test-roundl.c (minus_zero): Likewise.
86843         * tests/test-signbit.c (minus_zerol): Likewise.
86844         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
86845         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
86846         * tests/test-truncl.c (minus_zero): Likewise.
86847         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
86848         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
86849         Reported by Tom G. Christensen and Nelson H. F. Beebe.
86851 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
86853         regex: fix glibc bug 9697
86854         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
86855         handling.
86857 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
86859         regex: fix glibc bug 697
86860         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
86861         being NULL also if there are no backreferences.
86863 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
86865         regex: merge glibc changes
86866         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
86867         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
86868         re_string_skip_chars, re_string_reconstruct): Likewise.
86869         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
86871 2009-01-07  Jim Meyering  <meyering@redhat.com>
86873         poll: filter through cppi
86874         * lib/poll.c: Indent cpp directives to reflect nesting.
86876 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
86878         poll: don't return uninitialized
86879         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
86881 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
86883         avoid compile failure on AIX 6.1
86884         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
86885         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
86887 2009-01-04  Jim Meyering  <meyering@redhat.com>
86889         remove duplicate inclusion of <stdio.h>
86890         * tests/test-fprintf-posix.c: Likewise.
86891         * tests/test-printf-posix.c: Likewise.
86892         * tests/test-snprintf-posix.c: Likewise.
86893         * tests/test-sprintf-posix.c: Likewise.
86894         * tests/test-vasprintf-posix.c: Likewise.
86895         * tests/test-vfprintf-posix.c: Likewise.
86896         * tests/test-vprintf-posix.c: Likewise.
86897         * tests/test-vsnprintf-posix.c: Likewise.
86898         * tests/test-vsprintf-posix.c: Likewise.
86900 2009-01-03  Jim Meyering  <meyering@redhat.com>
86902         gnulib-tool: fix sed-based filtering
86903         * gnulib-tool (func_filter_filelist): Remove extra backslash
86904         in sed_fff_filter definition.
86906 2009-01-02  Jim Meyering  <meyering@redhat.com>
86908         strftime: avoid compilation failure on Solaris 2.6
86909         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
86910         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
86911         Don't #define mbrlen or mbsinit, since now they're guaranteed to
86912         be available.  Reported by Tom G. Christensen.  Details in
86913         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
86915 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86916             Bruno Haible  <bruno@clisp.org>
86918         Speed up gnulib-tool by doing more string processing through shell
86919         built-ins.
86920         * gnulib-tool (fast_func_append): New variable.
86921         (func_remove_prefix, func_remove_suffix): New functions.
86922         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
86923         (func_filter_filelist): New function.
86924         (func_get_dependencies): Use func_remove_suffix instead of sed.
86925         (func_get_automake_snippet): Use func_filter_filelist instead of a
86926         subshell and sed invocation.
86928 2009-01-01  Bruno Haible  <bruno@clisp.org>
86930         Fix a security bug.
86931         * gnulib-tool (func_import, import, update): Don't allow the characters
86932         '"', '$', '`', '\' in macro arguments that become part of commands that
86933         are evaluated.
86935 2009-01-01  Bruno Haible  <bruno@clisp.org>
86937         * gnulib-tool (func_reset_sigpipe): Add more comments.
86939 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86941         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
86942         func_emit_tests_Makefile_am, func_import): Abort loops early if we
86943         already know the answer.
86945 2009-01-01  Jim Meyering  <meyering@redhat.com>
86947         * lib/version-etc.c (version_etc_va): Update copyright year.
86949 2008-12-30  Bruno Haible  <bruno@clisp.org>
86951         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
86952         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
86953         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
86955 2008-12-29  Eric Blake  <ebb9@byu.net>
86957         multiarch: avoid autoconf AC_REQUIRE bug
86958         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
86959         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
86960         2.63 and older.
86961         Reported by Bruno Haible, and analyzed in
86962         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
86964 2008-12-29  Bruno Haible  <bruno@clisp.org>
86966         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
86967         files in subdirectories correctly.
86968         Reported by Ralf Wildenhues.
86970 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86972         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
86973         rather than 'join FILE -', for Solaris join.
86975 2008-12-29  Bruno Haible  <bruno@clisp.org>
86977         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
86978         quoting.
86979         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
86980         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
86981         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
86982         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
86983         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
86984         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
86985         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
86986         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
86987         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
86988         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
86989         * m4/nls.m4 (AM_NLS): Likewise.
86990         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
86991         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
86992         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
86993         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
86994         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
86995         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
86996         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
86997         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
86998         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
86999         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
87000         * m4/xsize.m4 (gl_XSIZE): Likewise.
87001         Suggested by Jim Meyering.
87003 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87005         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
87006         * lib/parse-duration.c: use a switch instead of cascading if's.
87008 2008-12-29  Eric Blake  <ebb9@byu.net>
87010         wchar.h: supply WEOF on Irix 5.3
87011         * lib/wchar.in.h (wint_t): Also supply WEOF.
87012         * lib/wctype.in.h (wint_t): Likewise.
87013         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
87014         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
87015         Reported by Tom G. Christensen.
87017 2008-12-26  Bruno Haible  <bruno@clisp.org>
87019         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
87020         i486, i586, i686.
87022 2008-12-26  Bruno Haible  <bruno@clisp.org>
87024         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
87026 2008-12-26  Bruno Haible  <bruno@clisp.org>
87028         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
87029         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
87030         not __STDC_CONSTANT_MACROS.
87031         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
87033 2008-12-25  Bruno Haible  <bruno@clisp.org>
87035         Add support for universal builds to vasnprintf.
87036         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
87037         universal builds, guess no.
87038         * modules/vasnprintf-posix (Depends-on): Add multiarch.
87039         * modules/vasprintf-posix (Depends-on): Likewise.
87040         * modules/fprintf-posix (Depends-on): Likewise.
87041         * modules/vfprintf-posix (Depends-on): Likewise.
87042         * modules/snprintf-posix (Depends-on): Likewise.
87043         * modules/vsnprintf-posix (Depends-on): Likewise.
87044         * modules/sprintf-posix (Depends-on): Likewise.
87045         * modules/vsprintf-posix (Depends-on): Likewise.
87046         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87047         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87048         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87049         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87050         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87051         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87052         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87054         Add support for universal builds to <inttypes.h>.
87055         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
87056         _SCNu64_PREFIX): In Apple
87057         universal builds, define directly, using _LP64.
87058         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
87059         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
87060         * modules/inttypes (Depends-on): Add multiarch.
87061         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87063         Add support for universal builds to <stdint.h>.
87064         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
87065         universal builds, define directly, using _LP64.
87066         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
87067         Apple universal builds, don't test for the size and suffix of ptrdiff_t
87068         and size_t.
87069         * modules/stdint (Depends-on): Add multiarch.
87070         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87072         New module 'multiarch'.
87073         * modules/multiarch: New file.
87074         * m4/multiarch.m4: New file.
87076 2008-12-25  Bruno Haible  <bruno@clisp.org>
87078         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
87080 2008-12-25  Bruno Haible  <bruno@clisp.org>
87082         * modules/btowc (License): Relicense under LGPLv2+.
87083         * modules/mbsinit (License): Likewise.
87084         * modules/mbrtowc (License): Likewise.
87085         * modules/wcrtomb (License): Likewise.
87086         * modules/streq (License): Likewise.
87087         Reported by David Lutterkort <lutter@redhat.com>.
87089 2008-12-23  Bruno Haible  <bruno@clisp.org>
87091         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
87093 2008-12-23  Bruno Haible  <bruno@clisp.org>
87095         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
87096         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
87097         GETADDRINFO_LIB, not in LIBS.
87098         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
87099         * modules/canon-host (Link): Likewise.
87100         * NEWS: Mention the change.
87101         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
87102         GETADDRINFO_LIB.
87104 2008-12-22  Bruno Haible  <bruno@clisp.org>
87106         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
87107         * doc/posix-functions/iswalpha_l.texi: Likewise.
87108         * doc/posix-functions/iswblank_l.texi: Likewise.
87109         * doc/posix-functions/iswcntrl_l.texi: Likewise.
87110         * doc/posix-functions/iswctype_l.texi: Likewise.
87111         * doc/posix-functions/iswdigit_l.texi: Likewise.
87112         * doc/posix-functions/iswgraph_l.texi: Likewise.
87113         * doc/posix-functions/iswlower_l.texi: Likewise.
87114         * doc/posix-functions/iswprint_l.texi: Likewise.
87115         * doc/posix-functions/iswpunct_l.texi: Likewise.
87116         * doc/posix-functions/iswspace_l.texi: Likewise.
87117         * doc/posix-functions/iswupper_l.texi: Likewise.
87118         * doc/posix-functions/iswxdigit_l.texi: Likewise.
87119         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
87120         * doc/posix-functions/open_wmemstream.texi: Likewise.
87121         * doc/posix-functions/swscanf.texi: Likewise.
87122         * doc/posix-functions/towctrans_l.texi: Likewise.
87123         * doc/posix-functions/towlower.texi: Likewise.
87124         * doc/posix-functions/towlower_l.texi: Likewise.
87125         * doc/posix-functions/towupper.texi: Likewise.
87126         * doc/posix-functions/towupper_l.texi: Likewise.
87127         * doc/posix-functions/vfwprintf.texi: Likewise.
87128         * doc/posix-functions/vfwscanf.texi: Likewise.
87129         * doc/posix-functions/vswscanf.texi: Likewise.
87130         * doc/posix-functions/vwprintf.texi: Likewise.
87131         * doc/posix-functions/vwscanf.texi: Likewise.
87132         * doc/posix-functions/wcpcpy.texi: Likewise.
87133         * doc/posix-functions/wcpncpy.texi: Likewise.
87134         * doc/posix-functions/wcscasecmp.texi: Likewise.
87135         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
87136         * doc/posix-functions/wcscoll_l.texi: Likewise.
87137         * doc/posix-functions/wcsdup.texi: Likewise.
87138         * doc/posix-functions/wcsncasecmp.texi: Likewise.
87139         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
87140         * doc/posix-functions/wcsnlen.texi: Likewise.
87141         * doc/posix-functions/wcsnrtombs.texi: Likewise.
87142         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
87143         * doc/posix-functions/wctrans_l.texi: Likewise.
87144         * doc/posix-functions/wctype_l.texi: Likewise.
87145         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
87146         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
87147         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
87148         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
87149         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
87150         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
87151         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
87152         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
87153         * doc/glibc-functions/wcschrnul.texi: Likewise.
87154         * doc/glibc-functions/wcsftime_l.texi: Likewise.
87155         * doc/glibc-functions/wcstod_l.texi: Likewise.
87156         * doc/glibc-functions/wcstof_l.texi: Likewise.
87157         * doc/glibc-functions/wcstol_l.texi: Likewise.
87158         * doc/glibc-functions/wcstold_l.texi: Likewise.
87159         * doc/glibc-functions/wcstoll_l.texi: Likewise.
87160         * doc/glibc-functions/wcstoq.texi: Likewise.
87161         * doc/glibc-functions/wcstoul_l.texi: Likewise.
87162         * doc/glibc-functions/wcstoull_l.texi: Likewise.
87163         * doc/glibc-functions/wcstouq.texi: Likewise.
87164         * doc/glibc-functions/wmempcpy.texi: Likewise.
87166 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
87167             Eric Blake  <ebb9@byu.net>
87168             Paolo Bonzini  <bonzini@gnu.org>
87169             Bruno Haible  <bruno@clisp.org>
87171         Make c-stack work on Haiku.
87172         * lib/c-stack.c (SA_ONSTACK): Define fallback.
87173         (c_stack_action): Use SA_ONSTACK flag.
87175 2008-12-22  Bruno Haible  <bruno@clisp.org>
87177         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
87179 2008-12-22  Bruno Haible  <bruno@clisp.org>
87181         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
87182         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
87183         being overridden.
87184         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
87185         New macros.
87186         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
87187         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
87188         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
87189         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
87191 2008-12-22  Bruno Haible  <bruno@clisp.org>
87193         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
87194         from test code.
87196 2008-12-22  Eric Blake  <ebb9@byu.net>
87198         Avoid gcc warnings on cygwin.
87199         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
87200         Avoid unused variable.
87201         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
87202         Likewise.
87204 2008-12-22  Bruno Haible  <bruno@clisp.org>
87206         Remove HAVE_MBRTOWC conditionals.
87207         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
87208         (mbscasecmp): Assume mbrtowc function.
87209         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
87210         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
87211         * lib/mbschr.c: Include mbuiter.h unconditionally.
87212         (mbschr): Assume mbrtowc function.
87213         * lib/mbscspn.c: Include mbuiter.h unconditionally.
87214         (mbscspn): Assume mbrtowc function.
87215         * lib/mbslen.c: Include mbuiter.h unconditionally.
87216         (mbslen): Assume mbrtowc function.
87217         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
87218         (mbsncasecmp): Assume mbrtowc function.
87219         * lib/mbsnlen.c: Include mbiter.h unconditionally.
87220         (mbsnlen): Assume mbrtowc function.
87221         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
87222         (mbspbrk): Assume mbrtowc function.
87223         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
87224         (mbspcasecmp): Assume mbrtowc function.
87225         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
87226         (mbsrchr): Assume mbrtowc function.
87227         * lib/mbssep.c: Include mbuiter.h unconditionally.
87228         (mbssep): Assume mbrtowc function.
87229         * lib/mbsspn.c: Include mbuiter.h unconditionally.
87230         (mbsspn): Assume mbrtowc function.
87231         * lib/mbsstr.c: Include mbuiter.h unconditionally.
87232         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
87233         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
87234         (mbstok_r): Assume mbrtowc function.
87235         * lib/propername.c: Include mbuiter.h unconditionally.
87236         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
87237         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
87238         (trim2): Assume mbrtowc function.
87239         * lib/mbswidth.c (mbsinit): Remove fallback definition.
87240         (mbsnwidth): Assume mbrtowc function.
87241         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
87242         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
87243         fallback definitions.
87244         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
87246 2008-12-22  Bruno Haible  <bruno@clisp.org>
87248         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
87250 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
87252         * modules/regex: Request emulations for the mb*/wc* functions we need.
87253         * m4/regex.m4: Don't look for those functions here.
87254         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
87256 2008-12-22  Bruno Haible  <bruno@clisp.org>
87258         * modules/fnmatch (Depends-on): Remove duplicated dependency.
87260 2008-12-21  Bruno Haible  <bruno@clisp.org>
87262         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
87263         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
87264         (Include): Remove conditionalization.
87265         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
87266         (Include): Remove conditionalization.
87267         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
87268         (Include): Remove conditionalization.
87269         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
87270         * m4/mbfile.m4 (gl_MBFILE): Likewise.
87271         * NEWS: Mention the change.
87272         Reported by Alan Hourihane <alanh@fairlite.co.uk>
87273         via Sergey Poznyakoff <gray@gnu.org.ua>.
87275 2008-12-21  Bruno Haible  <bruno@clisp.org>
87277         * MODULES.html.sh (Extended multibyte and wide character utilities
87278         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
87279         wcrtomb, wcsrtombs.
87280         (Support for systems lacking POSIX:2008): Add accept, bind, close,
87281         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
87282         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
87283         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
87285 2008-12-21  Bruno Haible  <bruno@clisp.org>
87287         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
87289 2008-12-21  Bruno Haible  <bruno@clisp.org>
87291         * modules/wcsnrtombs-tests: New file.
87292         * tests/test-wcsnrtombs1.sh: New file.
87293         * tests/test-wcsnrtombs2.sh: New file.
87294         * tests/test-wcsnrtombs3.sh: New file.
87295         * tests/test-wcsnrtombs4.sh: New file.
87296         * tests/test-wcsnrtombs.c: New file.
87298         New module 'wcsnrtombs'.
87299         * lib/wchar.in.h (wcsnrtombs): New declaration.
87300         * lib/wcsnrtombs.c: New file.
87301         * lib/wcsrtombs-state.c: New file.
87302         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
87303         (internal_state): Remove variable.
87304         * m4/wcsnrtombs.m4: New file.
87305         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
87306         compilation units.
87307         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
87308         HAVE_WCSNRTOMBS.
87309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
87310         HAVE_WCSNRTOMBS.
87311         * modules/wcsnrtombs: New file.
87312         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
87313         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
87315 2008-12-21  Bruno Haible  <bruno@clisp.org>
87317         * modules/wcsrtombs-tests: New file.
87318         * tests/test-wcsrtombs1.sh: New file.
87319         * tests/test-wcsrtombs2.sh: New file.
87320         * tests/test-wcsrtombs3.sh: New file.
87321         * tests/test-wcsrtombs4.sh: New file.
87322         * tests/test-wcsrtombs.c: New file.
87324         New module 'wcsrtombs'.
87325         * lib/wchar.in.h (wcsrtombs): New declaration.
87326         * lib/wcsrtombs.c: New file.
87327         * m4/wcsrtombs.m4: New file.
87328         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
87329         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
87331         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87332         * modules/wcsrtombs: New file.
87333         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
87334         bugs.
87336 2008-12-21  Bruno Haible  <bruno@clisp.org>
87338         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
87339         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
87340         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
87341         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
87342         if not correct.
87343         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
87344         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
87345         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87346         m4/locale-zh.m4, m4/codeset.m4.
87347         * doc/posix-functions/wcrtomb.texi: Document the bug.
87349 2008-12-21  Bruno Haible  <bruno@clisp.org>
87351         Work around a btowc() bug on IRIX 6.5.
87352         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
87353         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
87354         REPLACE_WTOBC if not.
87355         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
87356         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
87357         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
87359 2008-12-21  Bruno Haible  <bruno@clisp.org>
87361         * modules/wcrtomb-tests: New file.
87362         * tests/test-wcrtomb.sh: New file.
87363         * tests/test-wcrtomb.c: New file.
87365         New module 'wcrtomb'.
87366         * lib/wchar.in.h (wcrtomb): New declaration.
87367         * lib/wcrtomb.c: New file.
87368         * m4/wcrtomb.m4: New file.
87369         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
87370         HAVE_WCRTOMB.
87371         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
87372         HAVE_WCRTOMB.
87373         * modules/wcrtomb: New file.
87374         * doc/posix-functions/wcrtomb.texi: Mention the new module.
87376 2008-12-21  Bruno Haible  <bruno@clisp.org>
87378         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
87379         * modules/mbsrtowcs (Files): Likewise.
87380         * modules/wctob (Files): Likewise.
87381         * modules/c-strcase-tests (Files): Likewise.
87382         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
87383         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
87384         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
87385         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
87386         * modules/vasnprintf-posix-tests (Files): Likewise.
87388 2008-12-21  William Pursell  <bill.pursell@gmail.com>
87390         gitlog-to-changelog: pass all command-line arguments to git-log
87391         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
87392         it is sometimes convenient to filter the commits in various ways.
87393         gitlog-to-changelog only allows --since to specify a start date,
87394         but git-log itself supports many other filtering mechanisms.
87395         At the moment, I want to filter by branch name.  Rather than
87396         adding a --branch option to gitlog-to-changelog, it seems more
87397         flexible to simply pass all options directly to git-log and let
87398         git do the work.  Notice that this effectively makes --since a
87399         redundant option for gitlog-to-changelog, but removing it would
87400         require current usage to change since calls would then require
87401         an additional '--'.
87403 2008-12-21  Bruno Haible  <bruno@clisp.org>
87405         * modules/mbsnrtowcs-tests: New file.
87406         * tests/test-mbsnrtowcs1.sh: New file.
87407         * tests/test-mbsnrtowcs2.sh: New file.
87408         * tests/test-mbsnrtowcs3.sh: New file.
87409         * tests/test-mbsnrtowcs4.sh: New file.
87410         * tests/test-mbsnrtowcs.c: New file.
87412         New module 'mbsnrtowcs'.
87413         * lib/wchar.in.h (mbsnrtowcs): New declaration.
87414         * lib/mbsnrtowcs.c: New file.
87415         * lib/mbsrtowcs-state.c: New file.
87416         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
87417         (internal_state): Remove variable.
87418         * m4/mbsnrtowcs.m4: New file.
87419         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
87420         compilation units.
87421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
87422         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87423         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
87424         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87425         * modules/mbsnrtowcs: New file.
87426         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
87427         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
87428         portability problem.
87430 2008-12-21  Bruno Haible  <bruno@clisp.org>
87432         Work around mbsrtowcs bug.
87433         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
87434         (gl_FUNC_MBSRTOWCS): Invoke it.
87435         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87436         m4/locale-zh.m4.
87437         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
87439 2008-12-21  Bruno Haible  <bruno@clisp.org>
87441         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
87443 2008-12-21  Bruno Haible  <bruno@clisp.org>
87445         Update doc for AIX.
87446         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
87447         16-bit wchar_t type.
87448         * doc/posix-functions/btowc.texi: Likewise.
87449         * doc/posix-functions/fgetwc.texi: Likewise.
87450         * doc/posix-functions/fgetws.texi: Likewise.
87451         * doc/posix-functions/fputwc.texi: Likewise.
87452         * doc/posix-functions/fputws.texi: Likewise.
87453         * doc/posix-functions/fwide.texi: Likewise.
87454         * doc/posix-functions/fwprintf.texi: Likewise.
87455         * doc/posix-functions/fwscanf.texi: Likewise.
87456         * doc/posix-functions/getwchar.texi: Likewise.
87457         * doc/posix-functions/getwc.texi: Likewise.
87458         * doc/posix-functions/iswalnum.texi: Likewise.
87459         * doc/posix-functions/iswalpha.texi: Likewise.
87460         * doc/posix-functions/iswblank.texi: Likewise.
87461         * doc/posix-functions/iswcntrl.texi: Likewise.
87462         * doc/posix-functions/iswctype.texi: Likewise.
87463         * doc/posix-functions/iswdigit.texi: Likewise.
87464         * doc/posix-functions/iswgraph.texi: Likewise.
87465         * doc/posix-functions/iswlower.texi: Likewise.
87466         * doc/posix-functions/iswprint.texi: Likewise.
87467         * doc/posix-functions/iswpunct.texi: Likewise.
87468         * doc/posix-functions/iswspace.texi: Likewise.
87469         * doc/posix-functions/iswupper.texi: Likewise.
87470         * doc/posix-functions/iswxdigit.texi: Likewise.
87471         * doc/posix-functions/mbrtowc.texi: Likewise.
87472         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87473         * doc/posix-functions/mbstowcs.texi: Likewise.
87474         * doc/posix-functions/mbtowc.texi: Likewise.
87475         * doc/posix-functions/putwchar.texi: Likewise.
87476         * doc/posix-functions/putwc.texi: Likewise.
87477         * doc/posix-functions/swprintf.texi: Likewise.
87478         * doc/posix-functions/tolower.texi: Likewise.
87479         * doc/posix-functions/toupper.texi: Likewise.
87480         * doc/posix-functions/towctrans.texi: Likewise.
87481         * doc/posix-functions/ungetwc.texi: Likewise.
87482         * doc/posix-functions/vswprintf.texi: Likewise.
87483         * doc/posix-functions/wcrtomb.texi: Likewise.
87484         * doc/posix-functions/wcscat.texi: Likewise.
87485         * doc/posix-functions/wcschr.texi: Likewise.
87486         * doc/posix-functions/wcscmp.texi: Likewise.
87487         * doc/posix-functions/wcscoll.texi: Likewise.
87488         * doc/posix-functions/wcscpy.texi: Likewise.
87489         * doc/posix-functions/wcscspn.texi: Likewise.
87490         * doc/posix-functions/wcsftime.texi: Likewise.
87491         * doc/posix-functions/wcslen.texi: Likewise.
87492         * doc/posix-functions/wcsncat.texi: Likewise.
87493         * doc/posix-functions/wcsncmp.texi: Likewise.
87494         * doc/posix-functions/wcsncpy.texi: Likewise.
87495         * doc/posix-functions/wcspbrk.texi: Likewise.
87496         * doc/posix-functions/wcsrchr.texi: Likewise.
87497         * doc/posix-functions/wcsrtombs.texi: Likewise.
87498         * doc/posix-functions/wcsspn.texi: Likewise.
87499         * doc/posix-functions/wcsstr.texi: Likewise.
87500         * doc/posix-functions/wcstod.texi: Likewise.
87501         * doc/posix-functions/wcstof.texi: Likewise.
87502         * doc/posix-functions/wcstoimax.texi: Likewise.
87503         * doc/posix-functions/wcstok.texi: Likewise.
87504         * doc/posix-functions/wcstold.texi: Likewise.
87505         * doc/posix-functions/wcstoll.texi: Likewise.
87506         * doc/posix-functions/wcstol.texi: Likewise.
87507         * doc/posix-functions/wcstombs.texi: Likewise.
87508         * doc/posix-functions/wcstoull.texi: Likewise.
87509         * doc/posix-functions/wcstoul.texi: Likewise.
87510         * doc/posix-functions/wcstoumax.texi: Likewise.
87511         * doc/posix-functions/wcswidth.texi: Likewise.
87512         * doc/posix-functions/wcsxfrm.texi: Likewise.
87513         * doc/posix-functions/wctob.texi: Likewise.
87514         * doc/posix-functions/wctomb.texi: Likewise.
87515         * doc/posix-functions/wctrans.texi: Likewise.
87516         * doc/posix-functions/wctype.texi: Likewise.
87517         * doc/posix-functions/wcwidth.texi: Likewise.
87518         * doc/posix-functions/wmemchr.texi: Likewise.
87519         * doc/posix-functions/wmemcmp.texi: Likewise.
87520         * doc/posix-functions/wmemcpy.texi: Likewise.
87521         * doc/posix-functions/wmemmove.texi: Likewise.
87522         * doc/posix-functions/wmemset.texi: Likewise.
87523         * doc/posix-functions/wprintf.texi: Likewise.
87524         * doc/posix-functions/wscanf.texi: Likewise.
87526 2008-12-21  Bruno Haible  <bruno@clisp.org>
87528         Update doc for HP-UX 11.11.
87529         * doc/posix-functions/btowc.texi: Clarify that the function is missing
87530         in HP-UX version 11.00, not in all versions of HP-UX 11.
87531         * doc/posix-functions/fwide.texi: Likewise.
87532         * doc/posix-functions/fwprintf.texi: Likewise.
87533         * doc/posix-functions/fwscanf.texi: Likewise.
87534         * doc/posix-functions/inet_ntop.texi: Likewise.
87535         * doc/posix-functions/inet_pton.texi: Likewise.
87536         * doc/posix-functions/mbrlen.texi: Likewise.
87537         * doc/posix-functions/mbrtowc.texi: Likewise.
87538         * doc/posix-functions/mbsinit.texi: Likewise.
87539         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87540         * doc/posix-functions/swprintf.texi: Likewise.
87541         * doc/posix-functions/swscanf.texi: Likewise.
87542         * doc/posix-functions/towctrans.texi: Likewise.
87543         * doc/posix-functions/vfwprintf.texi: Likewise.
87544         * doc/posix-functions/vswprintf.texi: Likewise.
87545         * doc/posix-functions/vwprintf.texi: Likewise.
87546         * doc/posix-functions/wcrtomb.texi: Likewise.
87547         * doc/posix-functions/wcsrtombs.texi: Likewise.
87548         * doc/posix-functions/wcsstr.texi: Likewise.
87549         * doc/posix-functions/wctob.texi: Likewise.
87550         * doc/posix-functions/wctrans.texi: Likewise.
87551         * doc/posix-functions/wmemchr.texi: Likewise.
87552         * doc/posix-functions/wmemcmp.texi: Likewise.
87553         * doc/posix-functions/wmemcpy.texi: Likewise.
87554         * doc/posix-functions/wmemmove.texi: Likewise.
87555         * doc/posix-functions/wmemset.texi: Likewise.
87556         * doc/posix-functions/wprintf.texi: Likewise.
87557         * doc/posix-functions/wscanf.texi: Likewise.
87559 2008-12-21  Bruno Haible  <bruno@clisp.org>
87561         Work around a portability problem.
87562         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
87563         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
87565 2008-12-20  Bruno Haible  <bruno@clisp.org>
87567         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
87568         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
87569         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
87570         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
87571         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
87573         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
87574         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
87575         set.
87576         (GNULIB_defined_mbstate_t): New macro.
87577         (mbsinit): Redefine if REPLACE_MBSINIT is set.
87578         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
87579         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
87580         reuses the system's mbrtowc function but works around the bugs.
87581         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
87582         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
87583         macros.
87584         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
87585         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
87586         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
87587         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
87588         REPLACE_MBSINIT if mbsinit needs to be overridden.
87589         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
87590         REPLACE_MBSINIT, REPLACE_MBRTOWC.
87591         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
87592         REPLACE_MBSINIT, REPLACE_MBRTOWC.
87593         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87594         m4/locale-zh.m4.
87595         (Depends): Add mbsinit.
87596         * modules/mbsinit (Depends): Add mbrtowc.
87597         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
87599 2008-12-20  Bruno Haible  <bruno@clisp.org>
87601         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
87602         so that there are no conversion errors on AIX.
87603         * tests/test-mbsrtowcs.c (main): LIkewise.
87605 2008-12-20  Bruno Haible  <bruno@clisp.org>
87607         Work around wctob bug on Solaris <= 9.
87608         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
87609         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
87610         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
87611         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
87612         * modules/wctob (Files): Add m4/locale-fr.m4.
87613         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
87615 2008-12-20  Bruno Haible  <bruno@clisp.org>
87617         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
87618         /dev/null.
87619         * tests/test-select-in.sh: Likewise.
87620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
87622 2008-12-20  Bruno Haible  <bruno@clisp.org>
87624         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
87625         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
87626         Cygwin 1.5.x.
87628 2008-12-20  Bruno Haible  <bruno@clisp.org>
87630         Ensure mbstate_t is defined on HP-UX 11.11.
87631         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
87632         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
87633         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
87634         AC_USE_SYSTEM_EXTENSIONS.
87635         * modules/fnmatch (Depends-on): Add extensions.
87636         * modules/mbrlen (Depends-on): Likewise.
87637         * modules/mbrtowc (Depends-on): Likewise.
87638         * modules/mbsinit (Depends-on): Likewise.
87639         * modules/mbsrtowcs (Depends-on): Likewise.
87640         * modules/mbswidth (Depends-on): Likewise.
87641         * modules/quotearg (Depends-on): Likewise.
87642         * modules/strftime (Depends-on): Likewise.
87644 2008-12-20  Bruno Haible  <bruno@clisp.org>
87646         Ensure wctob is declared on IRIX 6.5.
87647         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
87648         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
87649         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
87650         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
87651         of HAVE_WCTOB.
87652         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
87653         HAVE_WCTOB.
87654         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
87656 2008-12-19  Bruno Haible  <bruno@clisp.org>
87658         * modules/mbsrtowcs-tests: New file.
87659         * tests/test-mbsrtowcs1.sh: New file.
87660         * tests/test-mbsrtowcs2.sh: New file.
87661         * tests/test-mbsrtowcs3.sh: New file.
87662         * tests/test-mbsrtowcs4.sh: New file.
87663         * tests/test-mbsrtowcs.c: New file.
87665         New module 'mbsrtowcs'.
87666         * lib/wchar.in.h (mbsrtowcs): New declaration.
87667         * lib/mbsrtowcs.c: New file.
87668         * m4/mbsrtowcs.m4: New file.
87669         * modules/mbsrtowcs: New file.
87670         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
87671         HAVE_MBSRTOWCS.
87672         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
87673         HAVE_MBSRTOWCS.
87674         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
87676 2008-12-19  Bruno Haible  <bruno@clisp.org>
87678         New module 'mbrlen'.
87679         * lib/wchar.in.h (mbrlen): New declaration.
87680         * lib/mbrlen.c: New file.
87681         * m4/mbrlen.m4: New file.
87682         * modules/mbrlen: New file.
87683         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
87684         HAVE_MBRLEN.
87685         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
87686         HAVE_MBRLEN.
87687         * doc/posix-functions/mbrlen.texi: Document the new module.
87689 2008-12-19  Bruno Haible  <bruno@clisp.org>
87691         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
87692         * modules/mbrtowc (Depends-on): Add verify.
87693         Suggested by Paul Eggert.
87695 2008-12-18  Bruno Haible  <bruno@clisp.org>
87697         * modules/mbsinit-tests: New file.
87698         * tests/test-mbsinit.sh: New file.
87699         * tests/test-mbsinit.c: New file.
87701 2008-12-18  Bruno Haible  <bruno@clisp.org>
87703         * modules/mbrtowc-tests: New file.
87704         * tests/test-mbrtowc1.sh: New file.
87705         * tests/test-mbrtowc2.sh: New file.
87706         * tests/test-mbrtowc3.sh: New file.
87707         * tests/test-mbrtowc4.sh: New file.
87708         * tests/test-mbrtowc.c: New file.
87710         New module 'mbrtowc'.
87711         * lib/wchar.in.h (mbstate_t): Override when the system does not have
87712         mbsinit and mbrtowc.
87713         (mbrtowc): New declaration.
87714         * lib/mbrtowc.c: New file.
87715         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
87716         * modules/mbrtowc: New file.
87717         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
87718         HAVE_MBRTOWC.
87719         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
87720         HAVE_MBRTOWC.
87721         * doc/posix-functions/mbrtowc.texi: Document the new module.
87723 2008-12-18  Bruno Haible  <bruno@clisp.org>
87725         New module 'wctob'.
87726         * lib/wchar.in.h (wctob): New declaration.
87727         * lib/wctob.c: New file.
87728         * m4/wctob.m4: New file.
87729         * modules/wctob: New file.
87730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
87731         HAVE_WCTOB.
87732         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
87733         * doc/posix-functions/wctob.texi: Document the new module.
87735 2008-12-18  Bruno Haible  <bruno@clisp.org>
87737         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
87738         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
87740 2008-12-18  Simon Josefsson  <simon@josefsson.org>
87742         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
87743         G. Christensen" <tgc@jupiterrise.com>.
87745         * lib/flock.c: Need to include errno.h.  Reported by "Tom
87746         G. Christensen" <tgc@jupiterrise.com>.
87748         * lib/flock.c: Need to include string.h.  Reported by "Tom
87749         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
87750         <ebb9@byu.net>.
87752 2008-12-18  Bruno Haible  <bruno@clisp.org>
87754         * m4/locale-ja.m4: New file, from GNU gettext.
87756 2008-12-17  Bruno Haible  <bruno@clisp.org>
87758         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
87759         Suggested by Eric Blake.
87761 2008-12-17  Bruno Haible  <bruno@clisp.org>
87763         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
87765 2008-12-17  Bruno Haible  <bruno@clisp.org>
87767         * lib/mbsinit.c: Include verify.h. Verify an assumption.
87768         * modules/mbsinit (Depends-on): Add verify.
87769         Suggested by Paul Eggert.
87771 2008-12-17  Bruno Haible  <bruno@clisp.org>
87773         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
87774         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
87775         gl_FUNC_MBRTOWC.
87776         * m4/mbiter.m4 (gl_MBITER): LIkewise.
87777         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
87778         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
87779         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
87780         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
87781         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
87782         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
87783         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
87784         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
87785         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
87786         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
87787         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
87788         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
87789         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
87790         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
87791         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
87792         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
87793         * modules/trim (configure.ac): Likewise.
87795 2008-12-17  Bruno Haible  <bruno@clisp.org>
87797         * modules/btowc-tests: New file.
87798         * tests/test-btowc1.sh: New file.
87799         * tests/test-btowc2.sh: New file.
87800         * tests/test-btowc.c: New file.
87802         New module 'btowc'.
87803         * lib/wchar.in.h (btowc): New declaration.
87804         * lib/btowc.c: New file.
87805         * m4/btowc.m4: New file.
87806         * modules/btowc: New file.
87807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
87808         HAVE_BTOWC.
87809         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
87810         * doc/posix-functions/btowc.texi: Document the new module.
87812 2008-12-17  Bruno Haible  <bruno@clisp.org>
87814         New module 'mbsinit'.
87815         * lib/wchar.in.h (mbsinit): New declaration.
87816         * lib/mbsinit.c: New file.
87817         * m4/mbsinit.m4: New file.
87818         * modules/mbsinit: New file.
87819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
87820         HAVE_MBSINIT.
87821         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
87822         HAVE_MBSINIT.
87823         * doc/posix-functions/mbsinit.texi: Document the new module.
87825 2008-12-16  Bruno Haible  <bruno@clisp.org>
87827         * lib/unistd.in.h: Add comment.
87828         * tests/test-environ.c: Don't include <stdlib.h>.
87830 2008-12-16  Bruno Haible  <bruno@clisp.org>
87832         * lib/parse-duration.h (parse_duration): Document return value
87833         convention.
87834         * lib/parse-duration.c: Include specification header first. Add
87835         comments.
87836         (_): Remove macro.
87837         (parse_year_month_day, parse_hour_minute_second): Move side effects
87838         outside of strchr call.
87839         (parse_non_iso8601): Move side effects outside of isspace call.
87840         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
87841         call.
87843 2008-12-16  Bruno Haible  <bruno@clisp.org>
87845         * tests/test-parse-duration.sh: Produce no output when the test
87846         succeeds.
87848 2008-12-16  Bruno Haible  <bruno@clisp.org>
87850         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
87851         expressions.
87853 2008-12-15  Bruno Haible  <bruno@clisp.org>
87855         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
87856         * doc/glibc-functions/flistxattr.texi: Likewise.
87857         * doc/glibc-functions/fopencookie.texi: Likewise.
87858         * doc/glibc-functions/fremovexattr.texi: Likewise.
87859         * doc/glibc-functions/fsetxattr.texi: Likewise.
87860         * doc/glibc-functions/getxattr.texi: Likewise.
87861         * doc/glibc-functions/lgetxattr.texi: Likewise.
87862         * doc/glibc-functions/listxattr.texi: Likewise.
87863         * doc/glibc-functions/llistxattr.texi: Likewise.
87864         * doc/glibc-functions/lremovexattr.texi: Likewise.
87865         * doc/glibc-functions/lsetxattr.texi: Likewise.
87866         * doc/glibc-functions/removexattr.texi: Likewise.
87867         * doc/glibc-functions/setxattr.texi: Likewise.
87868         * doc/posix-functions/open_memstream.texi: Likewise.
87870 2008-12-15  Eric Blake  <ebb9@byu.net>
87872         Update doc for cygwin 1.7.
87873         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
87874         functions.
87875         * doc/posix-functions/fchmodat.texi: Likewise.
87876         * doc/posix-functions/fchownat.texi: Likewise.
87877         * doc/posix-functions/fdopendir.texi: Likewise.
87878         * doc/posix-functions/fmemopen.texi: Likewise.
87879         * doc/posix-functions/freeaddrinfo.texi: Likewise.
87880         * doc/posix-functions/fstatat.texi: Likewise.
87881         * doc/posix-functions/futimens.texi: Likewise.
87882         * doc/posix-functions/gai_strerror.texi: Likewise.
87883         * doc/posix-functions/getaddrinfo.texi: Likewise.
87884         * doc/posix-functions/getnameinfo.texi: Likewise.
87885         * doc/posix-functions/if_freenameindex.texi: Likewise.
87886         * doc/posix-functions/if_indextoname.texi: Likewise.
87887         * doc/posix-functions/if_nameindex.texi: Likewise.
87888         * doc/posix-functions/if_nametoindex.texi: Likewise.
87889         * doc/posix-functions/insque.texi: Likewise.
87890         * doc/posix-functions/linkat.texi: Likewise.
87891         * doc/posix-functions/llrint.texi: Likewise.
87892         * doc/posix-functions/llrintf.texi: Likewise.
87893         * doc/posix-functions/llrintl.texi: Likewise.
87894         * doc/posix-functions/lockf.texi: Likewise.
87895         * doc/posix-functions/lrintl.texi: Likewise.
87896         * doc/posix-functions/mkdirat.texi: Likewise.
87897         * doc/posix-functions/mkfifoat.texi: Likewise.
87898         * doc/posix-functions/mknodat.texi: Likewise.
87899         * doc/posix-functions/mq_close.texi: Likewise.
87900         * doc/posix-functions/mq_getattr.texi: Likewise.
87901         * doc/posix-functions/mq_notify.texi: Likewise.
87902         * doc/posix-functions/mq_open.texi: Likewise.
87903         * doc/posix-functions/mq_receive.texi: Likewise.
87904         * doc/posix-functions/mq_send.texi: Likewise.
87905         * doc/posix-functions/mq_setattr.texi: Likewise.
87906         * doc/posix-functions/mq_timedreceive.texi: Likewise.
87907         * doc/posix-functions/mq_timedsend.texi: Likewise.
87908         * doc/posix-functions/mq_unlink.texi: Likewise.
87909         * doc/posix-functions/open_memstream.texi: Likewise.
87910         * doc/posix-functions/openat.texi: Likewise.
87911         * doc/posix-functions/posix_fadvise.texi: Likewise.
87912         * doc/posix-functions/posix_fallocate.texi: Likewise.
87913         * doc/posix-functions/posix_madvise.texi: Likewise.
87914         * doc/posix-functions/posix_memalign.texi: Likewise.
87915         * doc/posix-functions/posix_openpt.texi: Likewise.
87916         * doc/posix-functions/readlinkat.texi: Likewise.
87917         * doc/posix-functions/remque.texi: Likewise.
87918         * doc/posix-functions/renameat.texi: Likewise.
87919         * doc/posix-functions/rintl.texi: Likewise.
87920         * doc/posix-functions/sem_unlink.texi: Likewise.
87921         * doc/posix-functions/shm_open.texi: Likewise.
87922         * doc/posix-functions/shm_unlink.texi: Likewise.
87923         * doc/posix-functions/signgam.texi: Likewise.
87924         * doc/posix-functions/sigset.texi: Likewise.
87925         * doc/posix-functions/stpcpy.texi: Likewise.
87926         * doc/posix-functions/stpncpy.texi: Likewise.
87927         * doc/posix-functions/strerror.texi: Likewise.
87928         * doc/posix-functions/strtod.texi: Likewise.
87929         * doc/posix-functions/symlinkat.texi: Likewise.
87930         * doc/posix-functions/unlinkat.texi: Likewise.
87931         * doc/posix-functions/utimensat.texi: Likewise.
87932         * doc/glibc-functions/bindresvport.texi: Likewise.
87933         * doc/glibc-functions/dn_expand.texi: Likewise.
87934         * doc/glibc-functions/exp10.texi: Likewise.
87935         * doc/glibc-functions/exp10f.texi: Likewise.
87936         * doc/glibc-functions/fgetxattr.texi: Likewise.
87937         * doc/glibc-functions/flistxattr.texi: Likewise.
87938         * doc/glibc-functions/fopencookie.texi: Likewise.
87939         * doc/glibc-functions/freeifaddrs.texi: Likewise.
87940         * doc/glibc-functions/fremovexattr.texi: Likewise.
87941         * doc/glibc-functions/fsetxattr.texi: Likewise.
87942         * doc/glibc-functions/getifaddrs.texi: Likewise.
87943         * doc/glibc-functions/getxattr.texi: Likewise.
87944         * doc/glibc-functions/lgetxattr.texi: Likewise.
87945         * doc/glibc-functions/listxattr.texi: Likewise.
87946         * doc/glibc-functions/llistxattr.texi: Likewise.
87947         * doc/glibc-functions/lremovexattr.texi: Likewise.
87948         * doc/glibc-functions/lsetxattr.texi: Likewise.
87949         * doc/glibc-functions/pow10.texi: Likewise.
87950         * doc/glibc-functions/pow10f.texi: Likewise.
87951         * doc/glibc-functions/rcmd_af.texi: Likewise.
87952         * doc/glibc-functions/removexattr.texi: Likewise.
87953         * doc/glibc-functions/res_init.texi: Likewise.
87954         * doc/glibc-functions/res_mkquery.texi: Likewise.
87955         * doc/glibc-functions/res_query.texi: Likewise.
87956         * doc/glibc-functions/res_querydomain.texi: Likewise.
87957         * doc/glibc-functions/res_send.texi: Likewise.
87958         * doc/glibc-functions/rresvport_af.texi: Likewise.
87959         * doc/glibc-functions/setxattr.texi: Likewise.
87960         * doc/glibc-functions/strcasestr.texi: Likewise.
87962 2008-12-15  Bruno Haible  <bruno@clisp.org>
87964         Fix compilation error on OSF/1 4.0.
87965         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
87966         <sys/time.h>, simply delegate to the system header.
87967         Reported by Daniel Richard G. <oss@teragram.com>.
87969 2008-12-15  Bruno Haible  <bruno@clisp.org>
87971         * doc/posix-functions/openat.texi: Mention the 'openat' module.
87972         * doc/posix-functions/fchmodat.texi: Likewise.
87973         * doc/posix-functions/fchownat.texi: Likewise.
87974         * doc/posix-functions/fdopendir.texi: Likewise.
87975         * doc/posix-functions/fstatat.texi: Likewise.
87976         * doc/posix-functions/mkdirat.texi: Likewise.
87977         * doc/posix-functions/unlinkat.texi: Likewise.
87979 2008-12-14  Bruno Haible  <bruno@clisp.org>
87981         Update doc for POSIX:2008.
87982         * doc/posix-functions/faccessat.texi: New file.
87983         * doc/posix-functions/fchmodat.texi: New file.
87984         * doc/posix-functions/fchownat.texi: New file.
87985         * doc/posix-functions/fdopendir.texi: New file.
87986         * doc/posix-functions/fstatat.texi: New file.
87987         * doc/posix-functions/futimens.texi: New file.
87988         * doc/posix-functions/linkat.texi: New file.
87989         * doc/posix-functions/mkdirat.texi: New file.
87990         * doc/posix-functions/mkfifoat.texi: New file.
87991         * doc/posix-functions/mknodat.texi: New file.
87992         * doc/posix-functions/open_wmemstream.texi: New file.
87993         * doc/posix-functions/openat.texi: New file.
87994         * doc/posix-functions/psiginfo.texi: New file.
87995         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
87996         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
87997         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
87998         * doc/posix-functions/readlinkat.texi: New file.
87999         * doc/posix-functions/renameat.texi: New file.
88000         * doc/posix-functions/strerror_l.texi: New file.
88001         * doc/posix-functions/symlinkat.texi: New file.
88002         * doc/posix-functions/unlinkat.texi: New file.
88003         * doc/posix-functions/utimensat.texi: New file.
88004         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88006 2008-12-14  Bruno Haible  <bruno@clisp.org>
88008         Update doc for POSIX:2008.
88009         * doc/posix-functions/alphasort.texi: Renamed from
88010         doc/glibc-functions/alphasort.texi.
88011         * doc/posix-functions/dirfd.texi: Renamed from
88012         doc/glibc-functions/dirfd.texi.
88013         * doc/posix-functions/dprintf.texi: Renamed from
88014         doc/glibc-functions/dprintf.texi.
88015         * doc/posix-functions/duplocale.texi: Renamed from
88016         doc/glibc-functions/duplocale.texi.
88017         * doc/posix-functions/fexecve.texi: Renamed from
88018         doc/glibc-functions/fexecve.texi.
88019         * doc/posix-functions/fmemopen.texi: Renamed from
88020         doc/glibc-functions/fmemopen.texi.
88021         * doc/posix-functions/freelocale.texi: Renamed from
88022         doc/glibc-functions/freelocale.texi.
88023         * doc/posix-functions/getdate_err.texi: Renamed from
88024         doc/glibc-functions/getdate_err.texi.
88025         * doc/posix-functions/isalnum_l.texi: Renamed from
88026         doc/glibc-functions/isalnum_l.texi.
88027         * doc/posix-functions/isalpha_l.texi: Renamed from
88028         doc/glibc-functions/isalpha_l.texi.
88029         * doc/posix-functions/isblank_l.texi: Renamed from
88030         doc/glibc-functions/isblank_l.texi.
88031         * doc/posix-functions/iscntrl_l.texi: Renamed from
88032         doc/glibc-functions/iscntrl_l.texi.
88033         * doc/posix-functions/isdigit_l.texi: Renamed from
88034         doc/glibc-functions/isdigit_l.texi.
88035         * doc/posix-functions/isgraph_l.texi: Renamed from
88036         doc/glibc-functions/isgraph_l.texi.
88037         * doc/posix-functions/islower_l.texi: Renamed from
88038         doc/glibc-functions/islower_l.texi.
88039         * doc/posix-functions/isprint_l.texi: Renamed from
88040         doc/glibc-functions/isprint_l.texi.
88041         * doc/posix-functions/ispunct_l.texi: Renamed from
88042         doc/glibc-functions/ispunct_l.texi.
88043         * doc/posix-functions/isspace_l.texi: Renamed from
88044         doc/glibc-functions/isspace_l.texi.
88045         * doc/posix-functions/isupper_l.texi: Renamed from
88046         doc/glibc-functions/isupper_l.texi.
88047         * doc/posix-functions/iswalnum_l.texi: Renamed from
88048         doc/glibc-functions/iswalnum_l.texi.
88049         * doc/posix-functions/iswalpha_l.texi: Renamed from
88050         doc/glibc-functions/iswalpha_l.texi.
88051         * doc/posix-functions/iswblank_l.texi: Renamed from
88052         doc/glibc-functions/iswblank_l.texi.
88053         * doc/posix-functions/iswcntrl_l.texi: Renamed from
88054         doc/glibc-functions/iswcntrl_l.texi.
88055         * doc/posix-functions/iswctype_l.texi: Renamed from
88056         doc/glibc-functions/iswctype_l.texi.
88057         * doc/posix-functions/iswdigit_l.texi: Renamed from
88058         doc/glibc-functions/iswdigit_l.texi.
88059         * doc/posix-functions/iswgraph_l.texi: Renamed from
88060         doc/glibc-functions/iswgraph_l.texi.
88061         * doc/posix-functions/iswlower_l.texi: Renamed from
88062         doc/glibc-functions/iswlower_l.texi.
88063         * doc/posix-functions/iswprint_l.texi: Renamed from
88064         doc/glibc-functions/iswprint_l.texi.
88065         * doc/posix-functions/iswpunct_l.texi: Renamed from
88066         doc/glibc-functions/iswpunct_l.texi.
88067         * doc/posix-functions/iswspace_l.texi: Renamed from
88068         doc/glibc-functions/iswspace_l.texi.
88069         * doc/posix-functions/iswupper_l.texi: Renamed from
88070         doc/glibc-functions/iswupper_l.texi.
88071         * doc/posix-functions/iswxdigit_l.texi: Renamed from
88072         doc/glibc-functions/iswxdigit_l.texi.
88073         * doc/posix-functions/isxdigit_l.texi: Renamed from
88074         doc/glibc-functions/isxdigit_l.texi.
88075         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
88076         doc/glibc-functions/mbsnrtowcs.texi.
88077         * doc/posix-functions/mkdtemp.texi: Renamed from
88078         doc/glibc-functions/mkdtemp.texi.
88079         * doc/posix-functions/newlocale.texi: Renamed from
88080         doc/glibc-functions/newlocale.texi.
88081         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
88082         doc/glibc-functions/nl_langinfo_l.texi.
88083         * doc/posix-functions/open_memstream.texi: Renamed from
88084         doc/glibc-functions/open_memstream.texi.
88085         * doc/posix-functions/opterr.texi: Renamed from
88086         doc/glibc-functions/opterr.texi.
88087         * doc/posix-functions/optind.texi: Renamed from
88088         doc/glibc-functions/optind.texi.
88089         * doc/posix-functions/optopt.texi: Renamed from
88090         doc/glibc-functions/optopt.texi.
88091         * doc/posix-functions/psignal.texi: Renamed from
88092         doc/glibc-functions/psignal.texi.
88093         * doc/posix-functions/scandir.texi: Renamed from
88094         doc/glibc-functions/scandir.texi.
88095         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
88096         doc/glibc-functions/sched_get_priority_min.texi.
88097         * doc/posix-functions/signgam.texi: Renamed from
88098         doc/glibc-functions/signgam.texi.
88099         * doc/posix-functions/stpcpy.texi: Renamed from
88100         doc/glibc-functions/stpcpy.texi.
88101         * doc/posix-functions/stpncpy.texi: Renamed from
88102         doc/glibc-functions/stpncpy.texi.
88103         * doc/posix-functions/strcasecmp_l.texi: Renamed from
88104         doc/glibc-functions/strcasecmp_l.texi.
88105         * doc/posix-functions/strcoll_l.texi: Renamed from
88106         doc/glibc-functions/strcoll_l.texi.
88107         * doc/posix-functions/strfmon_l.texi: Renamed from
88108         doc/glibc-functions/strfmon_l.texi.
88109         * doc/posix-functions/strftime_l.texi: Renamed from
88110         doc/glibc-functions/strftime_l.texi.
88111         * doc/posix-functions/strncasecmp_l.texi: Renamed from
88112         doc/glibc-functions/strncasecmp_l.texi.
88113         * doc/posix-functions/strndup.texi: Renamed from
88114         doc/glibc-functions/strndup.texi.
88115         * doc/posix-functions/strnlen.texi: Renamed from
88116         doc/glibc-functions/strnlen.texi.
88117         * doc/posix-functions/strsignal.texi: Renamed from
88118         doc/glibc-functions/strsignal.texi.
88119         * doc/posix-functions/strxfrm_l.texi: Renamed from
88120         doc/glibc-functions/strxfrm_l.texi.
88121         * doc/posix-functions/timer_gettime.texi: Renamed from
88122         doc/glibc-functions/timer_gettime.texi.
88123         * doc/posix-functions/tolower_l.texi: Renamed from
88124         doc/glibc-functions/tolower_l.texi.
88125         * doc/posix-functions/toupper_l.texi: Renamed from
88126         doc/glibc-functions/toupper_l.texi.
88127         * doc/posix-functions/towctrans_l.texi: Renamed from
88128         doc/glibc-functions/towctrans_l.texi.
88129         * doc/posix-functions/towlower_l.texi: Renamed from
88130         doc/glibc-functions/towlower_l.texi.
88131         * doc/posix-functions/towupper_l.texi: Renamed from
88132         doc/glibc-functions/towupper_l.texi.
88133         * doc/posix-functions/uselocale.texi: Renamed from
88134         doc/glibc-functions/uselocale.texi.
88135         * doc/posix-functions/vdprintf.texi: Renamed from
88136         doc/glibc-functions/vdprintf.texi.
88137         * doc/posix-functions/wcpcpy.texi:
88138         Renamed from doc/glibc-functions/wcpcpy.texi.
88139         * doc/posix-functions/wcpncpy.texi: Renamed from
88140         doc/glibc-functions/wcpncpy.texi.
88141         * doc/posix-functions/wcscasecmp.texi: Renamed from
88142         doc/glibc-functions/wcscasecmp.texi.
88143         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
88144         doc/glibc-functions/wcscasecmp_l.texi.
88145         * doc/posix-functions/wcscoll_l.texi: Renamed from
88146         doc/glibc-functions/wcscoll_l.texi.
88147         * doc/posix-functions/wcsdup.texi: Renamed from
88148         doc/glibc-functions/wcsdup.texi.
88149         * doc/posix-functions/wcsncasecmp.texi: Renamed from
88150         doc/glibc-functions/wcsncasecmp.texi.
88151         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
88152         doc/glibc-functions/wcsncasecmp_l.texi.
88153         * doc/posix-functions/wcsnlen.texi: Renamed from
88154         doc/glibc-functions/wcsnlen.texi.
88155         * doc/posix-functions/wcsnrtombs.texi: Renamed from
88156         doc/glibc-functions/wcsnrtombs.texi.
88157         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
88158         doc/glibc-functions/wcsxfrm_l.texi.
88159         * doc/posix-functions/wctrans_l.texi: Renamed from
88160         doc/glibc-functions/wctrans_l.texi.
88161         * doc/posix-functions/wctype_l.texi: Renamed from
88162         doc/glibc-functions/wctype_l.texi.
88163         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88164         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
88165         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
88166         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
88167         these subsections.
88168         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
88169         Remove sections.
88171 2008-12-14  Bruno Haible  <bruno@clisp.org>
88173         Update doc for POSIX:2008.
88174         * doc/posix-functions/*.texi: Update URL of POSIX specification.
88176 2008-12-14  Bruno Haible  <bruno@clisp.org>
88178         Update doc for POSIX:2008.
88179         * doc/pastposix-functions/bcmp.texi: Renamed from
88180         doc/posix-functions/bcmp.texi.
88181         * doc/pastposix-functions/bcopy.texi: Renamed from
88182         doc/posix-functions/bcopy.texi.
88183         * doc/pastposix-functions/bsd_signal.texi: Renamed from
88184         doc/posix-functions/bsd_signal.texi.
88185         * doc/pastposix-functions/bzero.texi: Renamed from
88186         doc/posix-functions/bzero.texi.
88187         * doc/pastposix-functions/ecvt.texi: Renamed from
88188         doc/posix-functions/ecvt.texi.
88189         * doc/pastposix-functions/fcvt.texi: Renamed from
88190         doc/posix-functions/fcvt.texi.
88191         * doc/pastposix-functions/ftime.texi: Renamed from
88192         doc/posix-functions/ftime.texi.
88193         * doc/pastposix-functions/gcvt.texi: Renamed from
88194         doc/posix-functions/gcvt.texi.
88195         * doc/pastposix-functions/getcontext.texi: Renamed from
88196         doc/posix-functions/getcontext.texi.
88197         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
88198         doc/posix-functions/gethostbyaddr.texi.
88199         * doc/pastposix-functions/gethostbyname.texi: Renamed from
88200         doc/posix-functions/gethostbyname.texi.
88201         * doc/pastposix-functions/getwd.texi: Renamed from
88202         doc/posix-functions/getwd.texi.
88203         * doc/pastposix-functions/h_errno.texi: Renamed from
88204         doc/posix-functions/h_errno.texi.
88205         * doc/pastposix-functions/index.texi: Renamed from
88206         doc/posix-functions/index.texi.
88207         * doc/pastposix-functions/makecontext.texi: Renamed from
88208         doc/posix-functions/makecontext.texi.
88209         * doc/pastposix-functions/mktemp.texi: Renamed from
88210         doc/posix-functions/mktemp.texi.
88211         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
88212         doc/posix-functions/pthread_attr_getstackaddr.texi.
88213         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
88214         doc/posix-functions/pthread_attr_setstackaddr.texi.
88215         * doc/pastposix-functions/rindex.texi: Renamed from
88216         doc/posix-functions/rindex.texi.
88217         * doc/pastposix-functions/scalb.texi: Renamed from
88218         doc/posix-functions/scalb.texi.
88219         * doc/pastposix-functions/setcontext.texi: Renamed from
88220         doc/posix-functions/setcontext.texi.
88221         * doc/pastposix-functions/swapcontext.texi: Renamed from
88222         doc/posix-functions/swapcontext.texi.
88223         * doc/pastposix-functions/ualarm.texi: Renamed from
88224         doc/posix-functions/ualarm.texi.
88225         * doc/pastposix-functions/usleep.texi: Renamed from
88226         doc/posix-functions/usleep.texi.
88227         * doc/pastposix-functions/vfork.texi: Renamed from
88228         doc/posix-functions/vfork.texi.
88229         * doc/pastposix-functions/wcswcs.texi: Renamed from
88230         doc/posix-functions/wcswcs.texi.
88231         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
88232         (Function Substitutes): Update.
88234 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88236         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
88237         m4/strerror.m4.
88239 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88240             Bruno Haible  <bruno@clisp.org>
88242         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
88244 2008-12-13  Bruno Haible  <bruno@clisp.org>
88246         * modules/strtoull (Depends-on): Remove unistd.
88248 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88250         * modules/strtoull (Depends-on): Add stdlib.
88252 2008-12-11  Simon Josefsson  <simon@josefsson.org>
88254         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
88256 2008-12-10  Jim Meyering  <meyering@redhat.com>
88258         gl_ASSERT: don't say assertions are disabled when they're not
88259         * m4/assert.m4 (gl_ASSERT): Do not make configure report
88260         "checking whether to enable assertions... no", when they are in
88261         fact enabled.  This is solely a bug in the output of configure.
88262         In spite of saying "no", NDEBUG was not defined in that case.
88263         Also, as noted by Eric Blake, leave assertions enabled upon
88264         --enable-assert=INVALID.
88266 2008-12-10  Bruno Haible  <bruno@clisp.org>
88268         Change MODULES.html to refer to POSIX:2008 where possible.
88269         * MODULES.html.sh (POSIX2008_URL): New variable.
88270         (posix_headers): Remove sys/timeb, ucontext.
88271         (posix2001_headers): New variable.
88272         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
88273         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
88274         index, makecontext, mktemp, pthread_attr_getstackaddr,
88275         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
88276         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
88277         (posix2001_functions): New variable.
88278         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
88279         otherwise.
88281 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88283         add missing include to parse-duration.c
88284         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
88285         * modules/parse-duration (Depends-on): Add xalloc.
88287         fix sed script reading maint.mk
88288         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
88289         (syntax-check-rules): Use it.
88291 2008-12-09  Bruno Haible  <bruno@clisp.org>
88293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
88294         MacOS X 10.4/PowerPC.
88295         Reported by Simon Josefsson.
88297 2008-12-08  Jim Meyering  <meyering@redhat.com>
88299         work around mingw's lack of some S_IF definitions
88300         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
88301         Reported by Simon Josefsson.
88303 2008-12-08  Bruno Haible  <bruno@clisp.org>
88305         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
88306         applied to variables. Needed on MacOS X 10.4/PowerPC.
88307         Reported by Simon Josefsson.
88309 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
88310         and Eric Blake  <ebb9@byu.net>
88312         assert: honor --enable-assert
88313         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
88314         order to honor --enable-assert, rather than treating it as a
88315         synonym for --disable-assert.
88317 2008-12-08  Jim Meyering  <meyering@redhat.com>
88319         * lib/posixtm.c: Remove now-useless declaration of mktime.
88321         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
88323 2008-12-07  Bruno Haible  <bruno@clisp.org>
88325         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
88326         test_once): Mark functions as static.
88327         * tests/test-tls.c (test_tls): Likewise.
88329 2008-12-07  Bruno Haible  <bruno@clisp.org>
88331         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
88332         iconv_register_autodetect.
88334 2008-12-07  Jim Meyering  <meyering@redhat.com>
88336         posixtm.c: avoid a warning
88337         * lib/posixtm.c (posixtime): Don't initialize tm0.
88338         It's no longer needed to placate gcc4's -Wuninitialized,
88339         and the attempt to placate would elicit a new warning.
88341         unicodeio.c: mark unused parameters
88342         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88343         (fallback_failure_callback): Likewise.
88345 2008-12-07  Bruno Haible  <bruno@clisp.org>
88347         * gnulib-tool (func_create_testdir): When building the tests
88348         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
88349         Reported by Simon Josefsson.
88351 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88353         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
88355 2008-12-06  Bruno Haible  <bruno@clisp.org>
88357         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
88358         Suggested by Eric Blake.
88360 2008-12-06  Bruno Haible  <bruno@clisp.org>
88362         Fix a c-stack test failure on MacOS X.
88363         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
88364         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
88365         handler for SIGBUS as well.
88366         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
88367         install a signal handler for SIGBUS as well.
88368         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
88370 2008-12-06  Bruno Haible  <bruno@clisp.org>
88372         Advocacy documentation.
88373         * doc/gnulib-intro.texi (Benefits): New section.
88374         * doc/gnulib.texi: Update.
88376 2008-12-06  Bruno Haible  <bruno@clisp.org>
88378         Document the 'manywarnings' module.
88379         * doc/manywarnings.texi: New file.
88380         * doc/gnulib.texi: Include it.
88382 2008-12-05  Eric Blake  <ebb9@byu.net>
88384         tests: silence some gcc warnings
88385         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
88386         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
88387         type mismatches.
88389 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88390             Bruno Haible  <bruno@clisp.org>
88392         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
88394 2008-11-29  Jim Meyering  <meyering@redhat.com>
88396         unicodeio.c: mark unused parameters
88397         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88398         (fallback_failure_callback): Likewise.
88400         fts: fix a thinko
88401         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
88402         (set_stat_type): Return S_IF*-valued "type" directly.
88403         Prompted by James Youngman's spotting a related bug.
88404         Confirmed by further testing through find.
88406         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
88407         * lib/fts.c (D_TYPE): Define.
88408         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
88409         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
88410         (s_ifmt_shift_bits): New function.
88411         (set_stat_type): New function.
88412         (fts_build): When not calling fts_stat, call set_stat_type
88413         to propagate dirent.d_type info to fts_read caller.
88414         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
88415         fts_statp->st_mode type information may be valid.
88417 2008-11-28  Simon Josefsson  <simon@josefsson.org>
88419         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
88420         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
88421         <sds@gnu.org>.
88423 2008-11-20  Bruno Haible  <bruno@clisp.org>
88425         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
88426         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
88427         INCLUDE_NEXT.
88428         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
88429         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
88430         * modules/math (Makefile.am): Substitute
88431         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
88432         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88434 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
88435             Bruno Haible  <bruno@clisp.org>
88437         * lib/stdint.in.h: Define all type macros so that their expansion is
88438         a single typedef'ed token. Fixes a compilation failure in Boost which
88439         does "using ::int8_t;".
88441 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88443         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
88444         gl_MANYWARN_ALL_GCC.
88445         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
88446         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
88447         * modules/manywarnings: New file.
88448         * MODULES.html.sh: Mention manywarnings module.
88450 2008-11-18  Bruno Haible  <bruno@clisp.org>
88452         * doc/gnulib-tool.texi (Unit tests): New section.
88454 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88456         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
88457         paths like 'lib/po/foo.po'.
88459 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88461         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
88462         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
88464 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88466         * m4/warnings.m4: Use CPPFLAGS to really check whether the
88467         parameter works.
88469 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88471         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
88473 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88475         * modules/parse-duration-tests: New file.
88476         * tests/test-parse-duration.sh: New file.
88477         * tests/test-parse-duration.c: New file.
88479         New module 'parse-duration'.
88480         * lib/parse-duration.h: New file.
88481         * lib/parse-duration.c: New file.
88482         * modules/parse-duration: New file.
88484 2008-11-17  Bruno Haible  <bruno@clisp.org>
88486         * tests/test-select-out.sh: Comment out the first pipe test.
88487         Reported by Simon Josefsson.
88489 2008-11-17  Bruno Haible  <bruno@clisp.org>
88491         * modules/getaddrinfo (Depends-on): Add servent, hostent.
88492         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
88493         gl_HOSTENT.
88495 2008-11-17  Bruno Haible  <bruno@clisp.org>
88497         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
88498         -lnetwork and -lnet. Needed for Haiku and BeOS.
88500 2008-11-16  Bruno Haible  <bruno@clisp.org>
88502         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
88504 2008-11-16  Bruno Haible  <bruno@clisp.org>
88506         Avoid test failure on Haiku.
88507         * tests/test-fsync.c: Include <errno.h>.
88508         (main): Don't require that fsync (0) fails.
88510 2008-11-15  Bruno Haible  <bruno@clisp.org>
88512         New module 'hostent'.
88513         * modules/hostent: New file.
88514         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
88516 2008-11-15  Bruno Haible  <bruno@clisp.org>
88518         New module 'servent'.
88519         * modules/servent: New file.
88520         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
88522 2008-11-15  Bruno Haible  <bruno@clisp.org>
88524         Avoid generating same test program with two different rules.
88525         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
88526         test-frexp to test-frexp-nolibm.
88527         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
88528         test-frexpl to test-frexpl-nolibm.
88530 2008-11-15  Bruno Haible  <bruno@clisp.org>
88532         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
88533         $(FREXPL_LIBM).
88535 2008-11-15  Bruno Haible  <bruno@clisp.org>
88537         * lib/netdb.in.h: Activate the definitions also when the system's
88538         <netdb.h> has 'struct addrinfo'.
88539         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
88540         EAI_OVERFLOW or AI_NUMERICSERV.
88541         * doc/posix-headers/netdb.texi: Document the problem.
88543 2008-11-15  Bruno Haible  <bruno@clisp.org>
88545         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
88547         Make the 'sched' module work on platforms where <sched.h> exists but
88548         is incomplete (such as Haiku).
88549         * lib/sched.in.h; Include the system's <sched.h> if it exists.
88550         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
88551         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
88552         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
88553         HAVE_STRUCT_SCHED_PARAM.
88554         * modules/sched (Depends-on): Add include_next.
88555         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
88556         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
88557         * doc/posix-headers/sched.texi: Document the issue.
88559 2008-11-13  Jim Meyering  <meyering@redhat.com>
88561         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
88562         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
88563         test would fail due to the difference in the Report bugs to ...
88564         line.  The expected address is empty, "<>", while the actual
88565         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
88567 2008-11-12  Bruno Haible  <bruno@clisp.org>
88569         lstat: don't compile lstat.c on systems lacking lstat
88570         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
88571         which don't have lstat; this is handled by lib/sys_stat.in.h already.
88572         Reported by Daniel P. Berrange via Jim Meyering.
88574 2008-11-12  Jim Meyering  <meyering@redhat.com>
88576         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
88578 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88580         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
88581         instead.
88583 2008-11-12  Bruno Haible  <bruno@clisp.org>
88585         * lib/unicodeio.c: Include unistr.h.
88586         (utf8_wctomb): Remove function.
88587         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
88589 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88591         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
88592         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
88593         <bruno@clisp.org>.
88594         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
88596 2008-11-12  Simon Josefsson  <simon@josefsson.org>
88598         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
88599         * doc/gnulib.texi: Add section for warnings.
88601 2008-11-11  Bruno Haible  <bruno@clisp.org>
88603         * lib/sockets.h: Add a comment.
88605 2008-11-11  Karl Berry  <karl@gnu.org>
88607         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
88609 2008-11-11  Eric Blake  <ebb9@byu.net>
88611         fdl.texi: avoid git symlinks
88612         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
88614 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88616         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
88618 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88620         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
88621         (gl_WARN_ADD): Substitute $2 if literal.
88623 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88625         * m4/warning.m4: Remove.
88627 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
88629         * m4/warnings.m4: Almost complete rewrite. :-)
88631 2008-11-10  Simon Josefsson  <simon@josefsson.org>
88633         * modules/warnings: New module.
88634         * m4/warnings.m4: New file.
88635         * MODULES.html.sh: Mention warnings module.
88636         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
88637         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
88639 2008-11-10  Eric Blake  <ebb9@byu.net>
88641         fdl.texi: make a symlink to the latest version
88642         * doc/standards.texi: Revert today's earlier change.
88643         * doc/fdl-1.2.texi: Rename from old fdl.texi...
88644         * doc/fdl.texi: ...and replace this with a symlink to the newer
88645         fdl-1.3.texi.
88647 2008-11-10  Bruno Haible  <bruno@clisp.org>
88649         * tests/test-select-fd.c (main): Accept the result file name as fourth
88650         argument.
88651         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
88652         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
88654 2008-11-10  Bruno Haible  <bruno@clisp.org>
88656         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
88657         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
88658         as autoconf-substituted macros.
88659         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
88660         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
88661         gl_NETDB_H_DEFAULTS. Set these variables.
88662         * modules/netdb (Makefile.am): Substitute these variables.
88664 2008-11-10  Eric Blake  <ebb9@byu.net>
88666         standards.texi: include correct file for FDL 1.3
88667         * doc/standards.texi (GNU Free Documentation License): Change
88668         include file to pull in FDL 1.3, not 1.2.
88670         fdl.texi: revert accidental change to license
88671         * doc/fdl.texi: This is FDL 1.2, not 1.3.
88673 2008-11-10  Bruno Haible  <bruno@clisp.org>
88675         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
88676         cross-compiling guesses also when the native compile gives no result.
88678 2008-11-10  Bruno Haible  <bruno@clisp.org>
88680         * lib/spawni.c (__spawni): Force variable into the stack.
88682 2008-11-10  Bruno Haible  <bruno@clisp.org>
88684         Add support for Haiku.
88685         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
88686         glibc and BeOS, but also on Haiku.
88687         * lib/fpurge.c (fpurge): Likewise.
88688         * lib/freadable.c (freadable): Likewise.
88689         * lib/freadahead.c (freadahead): Likewise.
88690         * lib/freading.c (freading): Likewise.
88691         * lib/freadptr.c (freadptr): Likewise.
88692         * lib/freadseek.c (freadptrinc): Likewise.
88693         * lib/fseeko.c (rpl_fseeko): Likewise.
88694         * lib/fseterr.c (fseterr): Likewise.
88695         * lib/fwritable.c (fwritable): Likewise.
88696         * lib/fwriting.c (fwriting): Likewise.
88697         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
88699 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
88701         * lib/config.charset: Treat Haiku like BeOS.
88703 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
88705         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
88706         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
88708 2008-11-08  Bruno Haible  <bruno@clisp.org>
88710         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
88711         AC_CACHE_CHECK.
88713 2008-11-08  Bruno Haible  <bruno@clisp.org>
88715         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
88717 2008-11-08  Bruno Haible  <bruno@clisp.org>
88719         * tests/test-select-fd.c: New file.
88720         * tests/test-select-in.sh: New file.
88721         * tests/test-select-out.sh: New file.
88722         * tests/test-select-stdin.c: New file.
88723         * modules/select-tests (Files): Add the new files.
88724         (Depends-on): Add gettimeofday.
88725         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
88726         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
88727         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
88729 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
88730             Bruno Haible  <bruno@clisp.org>
88732         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
88734 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
88736         * build-aux/pmccabe2html: Added support for C++ source files.
88738 2008-11-05  Ben Pfaff  <blp@gnu.org>
88740         Fix lib/close.c build on Windows.
88741         * modules/close (Files): Add lib/w32sock.h.
88743 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
88745         Accept Bison's NEWS format.
88746         * build-aux/announce-gen (print_news_deltas): Tweak
88747         $re_prefix.
88749 2008-11-04  Bruno Haible  <bruno@clisp.org>
88751         * modules/random_r (Maintainer): Add glibc.
88753 2008-11-04  Simon Josefsson  <simon@josefsson.org>
88755         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
88756         by karl@freefriends.org (Karl Berry).
88757         * doc/alloca.texi: Likewise.
88758         * doc/c-ctype.texi: Likewise.
88759         * doc/c-strcase.texi: Likewise.
88760         * doc/c-strcaseeq.texi: Likewise.
88761         * doc/c-strcasestr.texi: Likewise.
88762         * doc/c-strstr.texi: Likewise.
88763         * doc/c-strtod.texi: Likewise.
88764         * doc/c-strtold.texi: Likewise.
88765         * doc/ctime.texi: Likewise.
88766         * doc/error.texi: Likewise.
88767         * doc/fdl.texi: Likewise.
88768         * doc/gcd.texi: Likewise.
88769         * doc/getdate.texi: Likewise.
88770         * doc/gnulib-intro.texi: Likewise.
88771         * doc/gnulib-tool.texi: Likewise.
88772         * doc/gnulib.texi: Likewise.
88773         * doc/inet_ntoa.texi: Likewise.
88774         * doc/maintain.texi: Likewise.
88775         * doc/make-stds.texi: Likewise.
88776         * doc/quote.texi: Likewise.
88777         * doc/regexprops-generic.texi: Likewise.
88778         * doc/standards.texi: Likewise.
88779         * doc/verify.texi: Likewise.
88780         * doc/visibility.texi: Likewise.
88781         * doc/gnulib.texi (GNU Free Documentation License): Include
88782         fdl-1.3.texi instead of fdl.texi.
88784 2008-11-04  Simon Josefsson  <simon@josefsson.org>
88786         * doc/fdl-1.3.texi: New file, from
88787         <http://www.gnu.org/licenses/fdl-1.3.texi>.
88788         * modules/fdl-1.3: Add.
88789         * MODULES.html.sh: Add fdl-1.3.
88791 2008-11-03  Bruno Haible  <bruno@clisp.org>
88793         Make determination of absolute name of header file work with AIX xlc.
88794         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
88795         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
88796         preprocessing.
88797         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
88798         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
88800 2008-11-03  Simon Josefsson  <simon@josefsson.org>
88802         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
88803         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
88804         <ludo@gnu.org>.
88806 2008-11-02  Bruno Haible  <bruno@clisp.org>
88808         Mark 'strpbrk' obsolete.
88809         * modules/strpbrk (Status, Notice): New sections.
88810         * modules/strtok_r (Depends-on): Add strpbrk.
88812 2008-11-02  Bruno Haible  <bruno@clisp.org>
88814         Mark 'strdup' obsolete.
88815         * modules/strdup (Status, Notice): New sections.
88816         * modules/findprog (Depends-on): Add strdup.
88817         * modules/getaddrinfo (Depends-on): Likewise.
88818         * modules/localename (Depends-on): Likewise.
88819         * modules/relocatable-lib (Depends-on): Likewise.
88820         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
88821         * modules/relocatable-prog (Depends-on): Likewise.
88822         * modules/trim (Depends-on): Likewise.
88823         * modules/unictype/gen-ctype (Depends-on): Likewise.
88824         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
88826 2008-11-02  Bruno Haible  <bruno@clisp.org>
88828         Mark 'strcspn' obsolete.
88829         * modules/strcspn (Status, Notice): New sections.
88831 2008-11-02  Bruno Haible  <bruno@clisp.org>
88833         Mark 'rmdir' obsolete.
88834         * modules/rmdir (Status, Notice): New sections.
88835         * modules/clean-temp (Depends-on): Add rmdir.
88836         * modules/openat (Depends-on): Likewise.
88838 2008-11-02  Bruno Haible  <bruno@clisp.org>
88840         Mark 'raise' obsolete.
88841         * modules/raise (Status, Notice): New sections.
88842         (Include): Specify <signal.h>.
88843         * modules/stdio (Depends-on): Add raise.
88844         * modules/write (Depends-on): Likewise.
88846 2008-11-02  Bruno Haible  <bruno@clisp.org>
88848         Mark 'memset' obsolete.
88849         * modules/memset (Status, Notice): New sections.
88851 2008-11-02  Bruno Haible  <bruno@clisp.org>
88853         Mark 'memmove' obsolete.
88854         * modules/memmove (Status, Notice): New sections.
88855         * modules/argp (Depends-on): Add memmove.
88856         * modules/argz (Depends-on): Likewise.
88857         * modules/canonicalize (Depends-on): Likewise.
88858         * modules/canonicalize-lgpl (Depends-on): Likewise.
88859         * modules/fts (Depends-on): Likewise.
88860         * modules/getcwd (Depends-on): Likewise.
88861         * modules/human (Depends-on): Likewise.
88862         * modules/regex (Depends-on): Likewise.
88863         * modules/striconveh (Depends-on): Likewise.
88864         * modules/trim (Depends-on): Likewise.
88865         * modules/unistr/u8-move (Depends-on): Likewise.
88866         * modules/unistr/u16-move (Depends-on): Likewise.
88867         * modules/unistr/u32-move (Depends-on): Likewise.
88869 2008-11-02  Bruno Haible  <bruno@clisp.org>
88871         Mark 'memcpy' obsolete.
88872         * modules/memcpy (Status, Notice): New sections.
88874 2008-11-02  Bruno Haible  <bruno@clisp.org>
88876         Mark 'memcmp' obsolete.
88877         * modules/memcmp (Status, Notice): New sections.
88878         * modules/argmatch (Depends-on): Add memchr.
88879         * modules/backupfile (Depends-on): Likewise.
88880         * modules/c-strcasestr (Depends-on): Likewise.
88881         * modules/crypto/des (Depends-on): Likewise.
88882         * modules/csharpcomp (Depends-on): Likewise.
88883         * modules/fnmatch (Depends-on): Likewise.
88884         * modules/git-merge-changelog (Depends-on): Likewise.
88885         * modules/isnand (Depends-on): Likewise.
88886         * modules/isnand-nolibm (Depends-on): Likewise.
88887         * modules/isnanf (Depends-on): Likewise.
88888         * modules/isnanf-nolibm (Depends-on): Likewise.
88889         * modules/isnanl (Depends-on): Likewise.
88890         * modules/isnanl-nolibm (Depends-on): Likewise.
88891         * modules/mbchar (Depends-on): Likewise.
88892         * modules/memcoll (Depends-on): Likewise.
88893         * modules/quotearg (Depends-on): Likewise.
88894         * modules/regex (Depends-on): Likewise.
88895         * modules/relocatable-prog (Depends-on): Likewise.
88896         * modules/same (Depends-on): Likewise.
88897         * modules/signbit (Depends-on): Likewise.
88898         * modules/strcasestr-simple (Depends-on): Likewise.
88899         * modules/unictype/gen-ctype (Depends-on): Likewise.
88900         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
88901         * modules/uniname/uniname (Depends-on): Likewise.
88902         * modules/unistr/u8-cmp (Depends-on): Likewise.
88904 2008-11-02  Bruno Haible  <bruno@clisp.org>
88906         Mark 'memchr' obsolete.
88907         * modules/memchr (Status, Notice): New sections.
88908         * modules/argp (Depends-on): Add memchr.
88909         * modules/base64 (Depends-on): Likewise.
88910         * modules/c-strcasestr (Depends-on): Likewise.
88911         * modules/chdir-long (Depends-on): Likewise.
88912         * modules/fnmatch (Depends-on): Likewise.
88913         * modules/getsubopt (Depends-on): Likewise.
88914         * modules/git-merge-changelog (Depends-on): Likewise.
88915         * modules/glob (Depends-on): Likewise.
88916         * modules/strcasestr-simple (Depends-on): Likewise.
88917         * modules/strnlen (Depends-on): Likewise.
88919 2008-11-02  Bruno Haible  <bruno@clisp.org>
88921         Mark 'atexit' obsolete.
88922         * modules/atexit (Status, Notice): New sections.
88923         * modules/chdir-long (Depends-on): Add atexit.
88924         * modules/wait-process (Depends-on): Likewise.
88926 2008-11-02  Bruno Haible  <bruno@clisp.org>
88928         * gnulib-tool: New option --with-obsolete.
88929         (func_usage): Document it.
88930         (func_modules_transitive_closure): Drop obsolete dependencies if
88931         incobsolete is not true.
88932         (func_import): Read and save the incobsolete variable to the cache.
88934 2008-11-02  Bruno Haible  <bruno@clisp.org>
88936         * modules/TEMPLATE-EXTENDED: New field 'Status'.
88937         * gnulib-tool: New option --extract-status.
88938         (func_usage): Document it.
88939         (sed_extract_prog): Recognize it.
88940         (func_get_status): New function.
88942 2008-10-30  Simon Josefsson  <simon@josefsson.org>
88944         * modules/sockets (License): Change from LGPL to LGPLv2+.
88946 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88948         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
88950 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88952         * MODULES.html.sh (Support for systems lacking POSIX:2001):
88953         Mention times and sys_times.
88954         * modules/sys_times, modules/sys_times-tests: New modules.
88955         * modules/times, modules/times-tests: Likewise
88956         * m4/sys_times_h.m4: New file.
88957         * lib/sys_times.in.h: Likewise
88958         * lib/times.c: Likewise.
88959         * tests/test-sys_times.c: Likewise.
88960         * tests/test-times.c: Likewise.
88961         * doc/posix-headers/sys_times.texi: Update.
88962         * doc/posix-functions/times.texi: Update.
88964 2008-10-28  Jim Meyering  <meyering@redhat.com>
88966         * modules/tempname (Depends-on): Add lstat.
88968         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
88970 2008-10-28  Simon Josefsson  <simon@josefsson.org>
88972         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
88973         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
88974         using idiom used elsewhere in gnulib.
88976 2008-10-27  Jim Meyering  <meyering@redhat.com>
88978         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
88980 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88982         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
88983         TESTS_ENVIRONMENT, for shell scripts that needs to call built
88984         programs.
88985         * tests/test-argp-2.sh: Use $EXEEXT when needed.
88987 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88989         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
88991 2008-10-27  Bruno Haible  <bruno@clisp.org>
88993         * tests/test-lstat.c: Include <stdio.h>.
88995 2008-10-27  Simon Josefsson  <simon@josefsson.org>
88997         * modules/lstat-tests: New module.
88998         * tests/test-lstat.c: New file.
89000 2008-10-26  Jim Meyering  <meyering@redhat.com>
89002         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
89004 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89005             Bruno Haible  <bruno@clisp.org>
89007         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
89008         * modules/configmake (Include): Add a note that the include must come
89009         after all system headers.
89010         * lib/javaversion.c: Include configmake.h after all other includes.
89012 2008-10-26  Bruno Haible  <bruno@clisp.org>
89014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
89015         HAVE_STRUCT_RANDOM_DATA to 1.
89016         (gl_STDLIB_H): Simplify.
89018 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89020         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
89021         substitute HAVE_STRUCT_RANDOM_DATA.
89022         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
89023         random_data.
89024         * modules/stdlib (Makefile.am): Substitute
89025         HAVE_STRUCT_RANDOM_DATA.
89027 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89029         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
89030         * doc/gnulib-intro.texi (Copyright): Likewise.
89032 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89034         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
89035         findings.
89037 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
89038             Bruno Haible  <bruno@clisp.org>
89040         * lib/unistd.in.h: Include <winsock2.h>.
89041         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
89042         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
89043         Provide dummy declarations.
89044         (gethostname): Override.
89045         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
89046         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
89047         gl_PREREQ_SYS_H_WINSOCK2.
89048         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
89049         * doc/posix-functions/gethostname.texi: More details.
89051 2008-10-25  Bruno Haible  <bruno@clisp.org>
89053         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89054         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
89055         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
89057         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
89058         here ...
89059         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
89060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
89061         gl_UNISTD_H_DEFAULTS.
89063 2008-10-25  Eric Blake  <ebb9@byu.net>
89065         signbit: avoid spurious compiler failure
89066         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
89067         declarations inside function.
89069 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89070             Bruno Haible  <bruno@clisp.org>
89072         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
89073         * modules/random_r (Depends-on): Add stdint.
89075 2008-10-24  Bruno Haible  <bruno@clisp.org>
89077         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
89078         Eggert.
89079         * modules/strerror (License): Likewise.
89081 2008-10-24  Jim Meyering  <meyering@redhat.com>
89083         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
89084         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
89086 2008-10-24  Eric Blake  <ebb9@byu.net>
89088         getgroups: fix compilation when getgroups is available
89089         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
89090         but with <config.h> override of getgroups disabled.
89092 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89094         * doc/gnulib.texi (Header files): Add note about C++ problems.
89095         Explained by Bruno Haible <bruno@clisp.org>.
89097 2008-10-23  Bruno Haible  <bruno@clisp.org>
89099         Define a dummy SA_NODEFER macro on Interix.
89100         * lib/signal.in.h (SA_NODEFER): Define fallback.
89101         Reported by Aleksey Cheusov <cheusov@tut.by> via
89102         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
89104 2008-10-23  Bruno Haible  <bruno@clisp.org>
89106         * modules/freadahead (License): Change to LGPLv2+.
89107         Suggested by Simon Josefsson.
89109 2008-10-23  Jim Meyering  <meyering@redhat.com>
89111         random_r: new module
89112         * modules/random_r: New file.
89113         * m4/random_r.m4: New file.
89114         * lib/random_r.c: New file, from glibc.
89115         * modules/random_r-tests: New file.
89116         * tests/test-random_r.c: New file.
89117         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
89118          Declare.
89119         (RAND_MAX): Define.
89120         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
89121         * modules/stdlib: Substitute them, too.
89122         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
89123         * doc/glibc-functions/initstate_r.texi: Mention the new module.
89124         * doc/glibc-functions/random_r.texi: Likewise.
89125         * doc/glibc-functions/setstate_r.texi: Likewise.
89126         * doc/glibc-functions/srandom_r.texi: Likewise.
89127         * config/srclist.txt: Mention it.
89129 2008-10-23  David Lutterkort  <lutter@redhat.com>
89131         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
89132         link requirement
89134 2008-10-23  Jim Meyering  <meyering@redhat.com>
89136         selinux-h: mark parameters of stub functions as intentionally unused
89137         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
89138         * lib/se-context.in.h: Likewise.
89140 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89142         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
89144 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89146         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
89148 2008-10-22  Eric Blake  <ebb9@byu.net>
89150         glthread/thread: avoid compiler warning
89151         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
89152         Add unreachable abort to silence compiler.
89154 2008-10-22  Eric Blake  <ebb9@byu.net>
89156         netdb: also supply struct addrinfo for cygwin 1.5.x
89157         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
89158         older cygwin.
89159         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
89160         cygwin.
89161         * doc/posix-headers/netdb.texi (netdb.h): Document this.
89163 2008-10-22  Bruno Haible  <bruno@clisp.org>
89165         * users.txt: Update entry about pspp.
89167 2008-10-21  Bruno Haible  <bruno@clisp.org>
89169         Simplification.
89170         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
89171         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
89173         Simplification.
89174         * lib/ioctl.c (ioctl): Don't undefine.
89175         * lib/socket.c (socket): Don't undefine.
89177         Remove unused module indicator macros.
89178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
89179         GNULIB_$1 as a C macro.
89181         * doc/posix-functions/close.texi: Undo last change.
89182         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
89183         Windows platforms.
89185 2008-10-21  Bruno Haible  <bruno@clisp.org>
89187         Add gethostname() declaration to <unistd.h>.
89188         * lib/unistd.in.h (gethostname): New declaration.
89189         * lib/gethostname.c: Include <unistd.h>.
89190         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
89191         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
89192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
89193         and HAVE_GETHOSTNAME.
89194         * modules/gethostname (Depends-on): Add unistd.
89195         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89196         (Include): Specify <unistd.h>.
89197         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
89198         HAVE_GETHOSTNAME.
89199         * tests/test-gethostname.c: Include <unistd.h> first.
89201 2008-10-21  Bruno Haible  <bruno@clisp.org>
89203         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
89204         * modules/select-tests (Depends-on): Likewise.
89205         Reported by Simon Josefsson.
89207 2008-10-21  Simon Josefsson  <simon@josefsson.org>
89209         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
89210         * lib/accept.c: New file, based on winsock.c.
89211         * lib/bind.c: New file, based on winsock.c.
89212         * lib/connect.c: New file, based on winsock.c.
89213         * lib/getpeername.c: New file, based on winsock.c.
89214         * lib/getsockname.c: New file, based on winsock.c.
89215         * lib/getsockopt.c: New file, based on winsock.c.
89216         * lib/ioctl.c: New file, based on winsock.c.
89217         * lib/listen.c: New file, based on winsock.c.
89218         * lib/recv.c: New file, based on winsock.c.
89219         * lib/recvfrom.c: New file, based on winsock.c.
89220         * lib/send.c: New file, based on winsock.c.
89221         * lib/sendto.c: New file, based on winsock.c.
89222         * lib/setsockopt.c: New file, based on winsock.c.
89223         * lib/shutdown.c: New file, based on winsock.c.
89224         * lib/socket.c: New file, based on winsock.c.
89225         * lib/w32sock.h: New file, based on winsock.c.
89226         * lib/winsock.c: Remove file.
89227         * modules/accept: Likewise.
89228         * modules/bind: Likewise.
89229         * modules/connect: Likewise.
89230         * modules/getpeername: Likewise.
89231         * modules/getsockname: Likewise.
89232         * modules/getsockopt: Likewise.
89233         * modules/ioctl: Likewise.
89234         * modules/listen: Likewise.
89235         * modules/recv: Likewise.
89236         * modules/recvfrom: Likewise.
89237         * modules/send: Likewise.
89238         * modules/sendto: Likewise.
89239         * modules/setsockopt: Likewise.
89240         * modules/shutdown: Likewise.
89241         * modules/socket: Use socket.c instead of winsock.c.
89242         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
89243         * doc/posix-functions/accept.texi: Doc fix.
89244         * doc/posix-functions/bind.texi: Doc fix.
89245         * doc/posix-functions/close.texi: Doc fix.
89246         * doc/posix-functions/connect.texi: Doc fix.
89247         * doc/posix-functions/getpeername.texi: Doc fix.
89248         * doc/posix-functions/getsockname.texi: Doc fix.
89249         * doc/posix-functions/getsockopt.texi: Doc fix.
89250         * doc/posix-functions/ioctl.texi: Doc fix.
89251         * doc/posix-functions/listen.texi: Doc fix.
89252         * doc/posix-functions/recv.texi: Doc fix.
89253         * doc/posix-functions/recvfrom.texi: Doc fix.
89254         * doc/posix-functions/send.texi: Doc fix.
89255         * doc/posix-functions/sendto.texi: Doc fix.
89256         * doc/posix-functions/setsockopt.texi: Doc fix.
89257         * doc/posix-functions/shutdown.texi: Doc fix.
89258         * doc/posix-functions/socket.texi: Doc fix.
89260 2008-10-20  Bruno Haible  <bruno@clisp.org>
89262         Take into account the role of SIGABRT_COMPAT on Windows 2008.
89263         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
89264         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
89265         as an alias for SIGABRT.
89266         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
89267         (sigaction): Map it to SIGABRT.
89268         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
89270 2008-10-20  Bruno Haible  <bruno@clisp.org>
89272         * lib/fts.c: Don't include lstat.h.
89273         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
89275         Move the lstat() declaration to <sys/stat.h>.
89276         * lib/lstat.h: Remove file.
89277         * lib/sys_stat.in.h: Add special invocation convention.
89278         (lstat): New declaration.
89279         * lib/lstat.c (orig_lstat): New function.
89280         (rpl_lstat): Use orig_lstat instead of lstat.
89281         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
89282         AC_C_INLINE. Set REPLACE_LSTAT.
89283         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
89284         and REPLACE_LSTAT.
89285         * modules/lstat (Files): Remove lib/lstat.h.
89286         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89287         (Include): Specify <sys/stat.h> instead of lstat.h.
89288         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
89289         REPLACE_LSTAT.
89290         * NEWS: Mention the change.
89292 2008-10-20  Bruno Haible  <bruno@clisp.org>
89294         * modules/posix_spawn-tests: New file.
89295         * tests/test-posix_spawn3.c: New file.
89297 2008-10-20  Bruno Haible  <bruno@clisp.org>
89299         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
89300         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89301         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
89302         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89303         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
89305 2008-10-20  Bruno Haible  <bruno@clisp.org>
89307         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
89308         of posix_spawn on AIX 5.3.
89310 2008-10-20  Bruno Haible  <bruno@clisp.org>
89312         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
89314 2008-10-20  Bruno Haible  <bruno@clisp.org>
89316         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
89317         of AC_LANG_PROGRAM.
89319 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89321         * lib/netdb.in.h: Don't define GNU specific constants until they
89322         are supported or needed.  Reported by Bruno Haible
89323         <bruno@clisp.org>.
89325 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89327         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
89329 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89331         * lib/getaddrinfo.h: Remove file.
89332         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
89333         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
89334         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
89335         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
89336         * modules/netdb: Substitute GNULIB_GETADDRINFO.
89337         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
89338         * tests/test-getaddrinfo.c: Likewise.
89339         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
89340         * NEWS: Mention change.
89342 2008-10-19  Bruno Haible  <bruno@clisp.org>
89344         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
89346 2008-10-19  Bruno Haible  <bruno@clisp.org>
89348         * lib/wait-process.c: Include simply <sys/wait.h>.
89349         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
89350         WIFSTOPPED): Remove fallback definitions.
89351         * modules/wait-process (Depends-on): Add sys_wait.
89353         New module 'sys_wait'.
89354         * modules/sys_wait: New file.
89355         * lib/sys_wait.in.h: New file, partially copied from
89356         lib/wait-process.c.
89357         * m4/sys_wait_h.m4: New file.
89358         * doc/posix-headers/sys_wait.texi: Mention the new module.
89360 2008-10-19  Bruno Haible  <bruno@clisp.org>
89362         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
89364 2008-10-19  Bruno Haible  <bruno@clisp.org>
89366         Assume that waitpid() fills an 'int' status, not a 'union wait'.
89367         * lib/wait-process.c (WAIT_T): Remove type.
89368         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
89369         (wait_subprocess): Update.
89371 2008-10-19  Bruno Haible  <bruno@clisp.org>
89373         New module 'atoll'.
89374         * modules/atoll: New file.
89375         * lib/stdlib.in.h (atoll): New declaration.
89376         * lib/atoll.c: New file, from glibc with modifications.
89377         * m4/atoll.m4: New file.
89378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
89379         HAVE_ATOLL.
89380         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
89381         * doc/posix-functions/atoll.texi: Mention the new module.
89383 2008-10-19  Bruno Haible  <bruno@clisp.org>
89385         Add strtoull() declaration to <stdlib.h>.
89386         * lib/stdlib.in.h (strtoull): New declaration.
89387         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89388         Set HAVE_STRTOULL.
89389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
89390         HAVE_STRTOULL.
89391         * modules/strtoull (Depends-on): Add stdlib.
89392         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89393         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
89394         HAVE_STRTOULL.
89396 2008-10-19  Bruno Haible  <bruno@clisp.org>
89398         Add strtoll() declaration to <stdlib.h>.
89399         * lib/stdlib.in.h (strtoll): New declaration.
89400         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89401         Set HAVE_STRTOLL.
89402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
89403         HAVE_STRTOLL.
89404         * modules/strtoll (Depends-on): Add stdlib.
89405         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89406         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
89408 2008-10-19  Bruno Haible  <bruno@clisp.org>
89410         * modules/bcopy (Depends-on): Add strings.
89411         (Include): Specify <strings.h>.
89413 2008-10-19  Bruno Haible  <bruno@clisp.org>
89415         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
89417 2008-10-19  Bruno Haible  <bruno@clisp.org>
89419         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
89420         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
89421         mingw.
89423 2008-10-19  Bruno Haible  <bruno@clisp.org>
89425         * lib/atanl.c: Don't include isnanl.h.
89426         * lib/cosl.c: Likewise.
89427         * lib/ldexpl.c: Likewise.
89428         * lib/logl.c: Likewise.
89429         * lib/sinl.c: Likewise.
89430         * lib/sqrtl.c: Likewise.
89431         * lib/tanl.c: Likewise.
89433         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
89434         * lib/isnanf.h: Remove file.
89435         * lib/isnand.h: Remove file.
89436         * lib/isnanl.h: Remove file.
89437         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
89438         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
89439         macros.
89440         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
89441         HAVE_ISNANF, don't define it as a C macro.
89442         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
89443         HAVE_ISNAND, don't define it as a C macro.
89444         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
89445         HAVE_ISNANL, don't define it as a C macro.
89446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
89447         HAVE_ISNAN[FDL].
89448         * modules/isnanf (Files): Remove lib/isnanf.h.
89449         (Depends-on): Add math.
89450         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89451         (Include): Specify <math.h> instead of isnanf.h.
89452         * modules/isnand (Files): Remove lib/isnand.h.
89453         (Depends-on): Add math.
89454         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89455         (Include): Specify <math.h> instead of isnand.h.
89456         * modules/isnanl (Files): Remove lib/isnanl.h.
89457         (Depends-on): Add math.
89458         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89459         (Include): Specify <math.h> instead of isnanl.h.
89460         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
89461         HAVE_ISNAN[FDL].
89462         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
89463         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
89464         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
89465         * NEWS: Mention the change.
89467 2008-10-18  Bruno Haible  <bruno@clisp.org>
89469         Add getusershell(), setusershell(), endusershell() declarations to
89470         <unistd.h>.
89471         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
89472         declarations.
89473         * lib/getusershell.c: Include unistd.h.
89474         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
89475         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89476         HAVE_GETUSERSHELL.
89477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
89478         and HAVE_GETUSERSHELL.
89479         * modules/getusershell (Depends-on): Add unistd, extensions.
89480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89481         (Include): Specify <unistd.h>.
89482         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
89483         HAVE_GETUSERSHELL.
89485 2008-10-18  Bruno Haible  <bruno@clisp.org>
89487         Add a getloadavg() declaration to <stdlib.h>.
89488         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
89489         getloadavg declaration.
89490         (getloadavg): New declaration.
89491         * lib/getloadavg.c: Include <stdlib.h> first.
89492         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
89493         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
89494         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
89495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
89496         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89497         * modules/getloadavg (Depends-on): Add stdlib, extensions.
89498         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89499         (Include): Specify <stdlib.h>.
89500         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
89501         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89503 2008-10-18  Bruno Haible  <bruno@clisp.org>
89505         * lib/dirchownmod.c: Don't include lchmod.h.
89507         Move the lchmod() declaration to <sys/stat.h>.
89508         * lib/lchmod.h: Remove file.
89509         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
89510         (lchmod): New declaration, moved here from lib/lchown.h.
89511         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
89512         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
89513         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
89514         and HAVE_LCHMOD.
89515         * modules/lchmod (Files): Remove lib/lchmod.h.
89516         (Depends-on): Add sys_stat, extensions.
89517         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89518         (Include): Specify <sys/stat.h> instead of lchmod.h.
89519         * modules/sys_stat (Depends-on): Add link-warning.
89520         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
89521         definition of GL_LINK_WARNING.
89522         * NEWS: Mention the change.
89524 2008-10-18  Bruno Haible  <bruno@clisp.org>
89526         * lib/fchdir.c: Don't include dirfd.h.
89527         * lib/fts.c: Likewise.
89528         * lib/getcwd.c: Likewise.
89529         * lib/glob.c: Likewise.
89531         Move the dirfd() declaration to <dirent.h>.
89532         * lib/dirfd.h: Remove file.
89533         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
89534         (dirfd): New declaration.
89535         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
89536         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
89537         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
89538         HAVE_DECL_DIRFD.
89539         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
89540         HAVE_DECL_DIRFD.
89541         * modules/dirfd (Files): Remove lib/dirfd.h.
89542         (Depends-on): Add dirent, extensions.
89543         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
89544         (Include): Specify <dirent.h> instead of dirfd.h.
89545         * modules/dirent (Depends-on): Add link-warning.
89546         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
89547         definition of GL_LINK_WARNING.
89548         * NEWS: Mention the change.
89550 2008-10-18  Bruno Haible  <bruno@clisp.org>
89552         Move the euidaccess() declaration to <unistd.h>.
89553         * lib/euidaccess.h: Remove file.
89554         * lib/unistd.in.h (euidaccess): New declaration.
89555         * lib/euidaccess.c: Don't include euidaccess.h.
89556         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
89557         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
89558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
89559         and HAVE_EUIDACCESS.
89560         * modules/euidaccess (Files): Remove lib/euidaccess.h.
89561         (Depends-on): Add unistd.
89562         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89563         (Include): Specify <unistd.h> instead of euidaccess.h.
89564         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
89565         HAVE_EUIDACCESS.
89566         * NEWS: Mention the change.
89568 2008-10-18  Bruno Haible  <bruno@clisp.org>
89570         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
89572         Move the getdomainname() declaration to <unistd.h>.
89573         * lib/getdomainname.h: Remove file.
89574         * lib/unistd.in.h (getdomainname): New declaration.
89575         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
89576         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
89577         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89578         HAVE_GETDOMAINNAME.
89579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
89580         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
89581         * modules/getdomainname (Files): Remove lib/getdomainname.h.
89582         (Depends-on): Add unistd, extensions.
89583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89584         (Includes): Specify <unistd.h> instead of getdomainname.h.
89585         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
89586         HAVE_GETDOMAINNAME.
89587         * NEWS: Mention the change.
89589 2008-10-18  Bruno Haible  <bruno@clisp.org>
89591         * modules/dirent: New file.
89592         * m4/dirent_h.m4: New file.
89593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
89594         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
89595         * modules/fchdir (Files): Remove lib/dirent.in.h.
89596         (Depends-on): Add dirent.
89597         (Makefile.am): Move rules to modules/dirent.
89598         * doc/posix-headers/dirent.texi: Mention the new module.
89600 2008-10-18  Bruno Haible  <bruno@clisp.org>
89602         Avoid -Wunused-parameter warnings in public gnulib header files.
89603         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
89604         macro.
89605         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
89607 2008-10-18  Bruno Haible  <bruno@clisp.org>
89609         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
89610         * doc/glibc-functions/error.texi: Mention the module 'error'.
89611         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
89612         * doc/glibc-functions/getdomainname.texi: Mention the module
89613         'getdomainname'.
89614         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
89615         * doc/glibc-functions/getpagesize.texi: Mention the module
89616         'getpagesize'.
89617         * doc/glibc-functions/getusershell.texi: Mention the module
89618         'getusershell'.
89619         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
89620         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
89621         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
89622         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
89623         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
89624         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
89625         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
89626         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
89627         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
89628         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
89629         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
89630         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
89631         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
89632         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
89634 2008-10-17  Bruno Haible  <bruno@clisp.org>
89636         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
89637         HP-UX and IRIX, use -0.0L.
89638         * tests/test-ceill.c (minus_zero): Likewise.
89639         * tests/test-floorl.c (minus_zero): Likewise.
89640         * tests/test-frexpl.c (minus_zero): Likewise.
89641         * tests/test-isnan.c (minus_zerol): Likewise.
89642         * tests/test-isnanl.h (minus_zero): Likewise.
89643         * tests/test-ldexpl.c (minus_zero): Likewise.
89644         * tests/test-roundl.c (minus_zero): Likewise.
89645         * tests/test-signbit.c (minus_zerol): Likewise.
89646         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
89647         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
89648         * tests/test-truncl.c (minus_zero): Likewise.
89649         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
89650         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
89651         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
89652         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
89654 2008-10-17  Bruno Haible  <bruno@clisp.org>
89656         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
89657         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
89658         that it gets activated only for gcc >= 3.0.
89659         * lib/dirent.in.h: Likewise.
89660         * lib/errno.in.h: Likewise.
89661         * lib/fcntl.in.h: Likewise.
89662         * lib/float.in.h: Likewise.
89663         * lib/iconv.in.h: Likewise.
89664         * lib/inttypes.in.h: Likewise.
89665         * lib/locale.in.h: Likewise.
89666         * lib/math.in.h: Likewise.
89667         * lib/netdb.in.h: Likewise.
89668         * lib/netinet_in.in.h: Likewise.
89669         * lib/search.in.h: Likewise.
89670         * lib/signal.in.h: Likewise.
89671         * lib/spawn.in.h: Likewise.
89672         * lib/stdarg.in.h: Likewise.
89673         * lib/stdint.in.h: Likewise.
89674         * lib/stdio.in.h: Likewise.
89675         * lib/stdlib.in.h: Likewise.
89676         * lib/string.in.h: Likewise.
89677         * lib/strings.in.h: Likewise.
89678         * lib/sys_file.in.h: Likewise.
89679         * lib/sys_ioctl.in.h: Likewise.
89680         * lib/sys_select.in.h: Likewise.
89681         * lib/sys_socket.in.h: Likewise.
89682         * lib/sys_stat.in.h: Likewise.
89683         * lib/sys_time.in.h: Likewise.
89684         * lib/sysexits.in.h: Likewise.
89685         * lib/time.in.h: Likewise.
89686         * lib/unistd.in.h: Likewise.
89687         * lib/wchar.in.h: Likewise.
89688         * lib/wctype.in.h: Likewise.
89689         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
89691 2008-10-17  Jim Meyering  <meyering@redhat.com>
89693         ignore-value: don't depend on inline module
89694         * modules/ignore-value (Depends-on): Remove 'inline'.
89695         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
89696         Suggestion from Bruno Haible.
89698 2008-10-17  Bruno Haible  <bruno@clisp.org>
89700         New implementation of condition variables for Win32.
89701         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
89702         (gl_linked_waitqueue_t): New type.
89703         (gl_cond_t): Use it.
89704         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
89705         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
89706         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
89707         (glthread_cond_init_func, glthread_cond_wait_func,
89708         glthread_cond_timedwait_func, glthread_cond_signal_func,
89709         glthread_cond_broadcast_func, glthread_cond_destroy_func):
89710         Reimplemented on the basis of gl_linked_waitqueue_t.
89711         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
89712         gl_waitqueue_t.
89713         (gl_rwlock_t): Update.
89714         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
89716 2008-10-17  Simon Josefsson  <simon@josefsson.org>
89718         * modules/recvfrom (Depends-on): Add dependency on getpeername.
89719         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
89721 2008-10-17  Jim Meyering  <meyering@redhat.com>
89723         ignore-value: new module
89724         * modules/ignore-value: New file.
89725         * lib/ignore-value.h: New file.
89726         * MODULES.html.sh (Compiler warning management): New section,
89727         just for this module.  More to come.
89729 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
89731         open-safer.c: avoid 'signed and unsigned in conditional...' warning
89732         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
89733         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
89735 2008-10-16  Jim Meyering  <meyering@redhat.com>
89737         openat-die.c: avoid 'no previous prototype' warning
89738         * lib/openat-die.c: Include "openat.h".
89739         Reported by Reuben Thomas <rrt@sc3d.org>.
89741 2008-10-16  Simon Josefsson  <simon@josefsson.org>
89743         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
89744         * lib/netdb.in.h: Fix typo.
89745         Reported by Bruno Haible  <bruno@clisp.org>
89747         * lib/netdb.in.h: Include sys/socket.h for platforms without
89748         netdb.h, to get structures like hostent on MinGW.
89749         * modules/netdb (Depends-on): Add sys_socket.
89751 2008-10-15  Simon Josefsson  <simon@josefsson.org>
89753         * modules/netdb, modules/netdb-tests: New file.
89754         * m4/netdb_h.m4: New file.
89755         * lib/netdb.in.h: Add, currently just an empty file pending
89756         definitions.
89757         * tests/test-netdb.c: New file.
89758         * doc/posix-headers/netdb.texi: Mention that we replace it if
89759         needed.
89760         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89761         netdb.
89763 2008-10-15  Simon Josefsson  <simon@josefsson.org>
89765         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
89766         with code.
89768 2008-10-13  Bruno Haible  <bruno@clisp.org>
89770         * lib/glthread/cond.c (glthread_cond_wait_func,
89771         glthread_cond_timedwait_func): Add a comment.
89773 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89775         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
89776         * tests/test-select.c: Likewise,
89778 2008-10-13  Bruno Haible  <bruno@clisp.org>
89780         * lib/glthread/cond.c (glthread_cond_wait_func,
89781         glthread_cond_timedwait_func): Fix variable name.
89782         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
89784 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
89786         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
89787         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
89788         struct sockaddr.sa_len.
89789         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
89791 2008-10-13  Simon Josefsson  <simon@josefsson.org>
89793         * build-aux/pmccabe2html: Add css and css_url parameters.
89795 2008-10-12  Bruno Haible  <bruno@clisp.org>
89797         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
89798         calling aclx_get.
89799         Reported by Rainer Tammer <tammer@tammer.net>.
89801 2008-10-12  Bruno Haible  <bruno@clisp.org>
89803         Use msvcrt aware primitives for creation/termination of Win32 threads.
89804         * lib/glthread/thread.c: Include <process.h>.
89805         (glthread_create_func): Use _beginthreadex instead of CreateThread.
89806         (wrapper_func): Update signature.
89807         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
89809 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89810             Bruno Haible  <bruno@clisp.org>
89812         Provide a Win32 implementation of the 'cond' module.
89813         * lib/glthread/cond.h [USE_WIN32]: New implementation.
89814         * lib/glthread/cond.c (glthread_cond_init_func,
89815         glthread_cond_wait_func, glthread_cond_timedwait_func,
89816         glthread_cond_signal_func, glthread_cond_broadcast_func,
89817         glthread_cond_destroy_func) [USE_WIN32]: New functions.
89818         * modules/cond (Dependencies): Add gettimeofday.
89820 2008-10-11  Bruno Haible  <bruno@clisp.org>
89822         Make sleep work on older versions of mingw.
89823         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
89824         only whether it exists.
89825         * doc/posix-functions/sleep.texi: Mention the problem with older
89826         versions of mingw.
89828 2008-10-11  Bruno Haible  <bruno@clisp.org>
89830         New module 'shutdown'.
89831         * modules/shutdown: New file.
89832         * lib/sys_socket.in.h (shutdown): New declaration.
89833         * lib/winsock.c (shutdown): New function.
89834         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
89835         GNULIB_SHUTDOWN.
89836         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
89837         * doc/posix-functions/shutdown.texi: Document the new module.
89839 2008-10-11  Jim Meyering  <meyering@redhat.com>
89841         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
89843 2008-10-11  Bruno Haible  <bruno@clisp.org>
89845         New module 'fclose'.
89846         * modules/fclose: New file.
89847         * lib/stdio.in.h (fclose): New declaration.
89848         * lib/fclose.c: New file.
89849         * m4/fclose.m4: New file.
89850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
89851         REPLACE_FCLOSE.
89852         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
89853         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
89854         REPLACE_FCLOSE.
89855         * modules/close (Depends-on): fclose.
89856         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
89858 2008-10-11  Bruno Haible  <bruno@clisp.org>
89860         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
89861         set errno and don't call _close.
89863 2008-10-10  Bruno Haible  <bruno@clisp.org>
89865         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
89866         ACL, not afterwards. Fixes test failure on Cygwin.
89868 2008-10-09  Ben Pfaff  <blp@gnu.org>
89870         * build-aux/announce-gen: Fix gnulib version related part of usage
89871         message.  Die with a useful error message if no tarballs are
89872         found.
89874 2008-10-10  Jim Meyering  <meyering@redhat.com>
89876         bootstrap: use git's --depth=N option only if it's supported
89877         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
89878         recognize the --depth option.  Reported by Pádraig Brady.
89880 2008-10-09  Bruno Haible  <bruno@clisp.org>
89882         New module 'ioctl'.
89883         * modules/ioctl: New file.
89884         * lib/sys_socket.in.h (ioctl): Remove declaration.
89885         * lib/winsock.c: Include <sys/ioctl.h>.
89886         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
89887         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89888         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
89889         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
89890         * doc/posix-functions/ioctl.texi: Mention the new module.
89892 2008-10-09  Bruno Haible  <bruno@clisp.org>
89894         New module 'sys_ioctl'.
89895         * lib/sys_ioctl.in.h: New file.
89896         * m4/sys_ioctl_h.m4: New file.
89897         * modules/sys_ioctl: New file.
89898         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
89900 2008-10-09  Bruno Haible  <bruno@clisp.org>
89902         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
89903         * lib/winsock.c: Include <stdarg.h>.
89904         (rpl_ioctl): Change to second argument 'int' and then varargs.
89906 2008-10-09  Bruno Haible  <bruno@clisp.org>
89908         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
89909         when the sys_socket module is present and the system has <winsock2.h>.
89911 2008-10-09  Bruno Haible  <bruno@clisp.org>
89913         * doc/posix-functions/close.texi: Mention module 'close' instead of
89914         module 'sys_socket'.
89916 2008-10-09  Bruno Haible  <bruno@clisp.org>
89918         * doc/glibc-headers/sys_ioctl.texi: New file.
89919         * doc/gnulib.texi: Include it.
89921 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89922             Bruno Haible  <bruno@clisp.org>
89924         Combine the two replacements of 'close'.
89925         * lib/sys_socket.in.h (close): Define to a reminder to include
89926         <unistd.h>.
89927         (_gl_close_fd_maybe_socket): New declaration.
89928         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
89929         * lib/winsock.c (close): Remove undefinition.
89930         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
89931         needed for the gnulib module 'close'.
89932         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
89933         define to an error symbol or to a warning, if suitable.
89934         * lib/close.c: Include <sys/socket.h>.
89935         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
89936         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
89937         UNISTD_H_HAVE_WINSOCK2_H.
89938         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
89939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
89940         UNISTD_H_HAVE_WINSOCK2_H.
89941         * modules/sys_socket (Files): Add m4/unistd_h.m4.
89942         (configure.ac): Set a module indicator.
89943         (Makefile.am): Substitute GNULIB_CLOSE.
89944         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
89945         * modules/poll-tests (Depends-on): Add close.
89946         * modules/select-tests (Depends-on): Likewise.
89948 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89949             Bruno Haible  <bruno@clisp.org>
89951         New module 'close'.
89952         * modules/close: New file.
89953         * lib/unistd.in.h (close): Move declaration out of the
89954         FCHDIR_REPLACEMENT scope.
89955         (_gl_unregister_fd): New declaration.
89956         * lib/close.c: New file.
89957         * lib/fchdir.c (rpl_close): Remove function.
89958         * m4/close.m4: New file.
89959         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
89960         close.
89961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
89962         REPLACE_CLOSE.
89963         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
89964         REPLACE_CLOSE.
89965         * modules/fchdir (Depends-on): Add close.
89967 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89968             Bruno Haible  <bruno@clisp.org>
89970         * lib/fcntl.in.h (open): Simplify conditionals.
89971         (_gl_register_fd): New declaration.
89972         * lib/fchdir.c (rpl_open): Remove function.
89973         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
89974         also.
89975         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
89976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
89977         open.
89979 2008-10-09  Jim Meyering  <meyering@redhat.com>
89981         GNUmakefile: use the more name-space-friendly "_version"
89982         * top/GNUmakefile (_dummy): Update.
89983         (_version): Rename from "version".
89985 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89986             Bruno Haible  <bruno@clisp.org>
89988         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
89989         rpl_close.
89990         (_gl_register_fd): New function, extracted from rpl_open.
89991         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
89992         (rpl_open, rpl_opendir): Use _gl_register_fd.
89994 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
89996         Fix organization of 'open' replacement.
89997         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
89998         (gl_FUNC_OPEN): Use it.
89999         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
90001 2008-10-08  Bruno Haible  <bruno@clisp.org>
90003         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
90005 2008-10-08  Simon Josefsson  <simon@josefsson.org>
90007         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
90008         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
90009         listen).
90011 2008-10-08  Eric Blake  <ebb9@byu.net>
90013         GNUmakefile: add 'make version' target
90014         * top/GNUmakefile (_curr-ver): Split version update rules...
90015         (version): ...into a target.
90017 2008-10-07  Bruno Haible  <bruno@clisp.org>
90019         Use a more portable replacement expression for -0.0L.
90020         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
90021         instead of -0.0L. Fix m4 quotation.
90023         * tests/test-signbit.c: Include <float.h>.
90024         (minus_zero): New variable.
90025         (test_signbitl): Use minus_zero instead of -zero.
90026         * modules/signbit-tests (Depends-on): Add float.
90028         * tests/test-ceill.c: Include <float.h>.
90029         (zero): Remove variable.
90030         (minus_zero): New variable.
90031         (main): Use minus_zero instead of -zero.
90032         * modules/ceill-tests (Depends-on): Add float.
90034         * tests/test-floorl.c: Include <float.h>.
90035         (zero): Remove variable.
90036         (minus_zero): New variable.
90037         (main): Use minus_zero instead of -zero.
90038         * modules/floorl-tests (Depends-on): Add float.
90040         * tests/test-roundl.c: Include <float.h>.
90041         (zero): Remove variable.
90042         (minus_zero): New variable.
90043         (main): Use minus_zero instead of -zero.
90044         * modules/roundl-tests (Depends-on): Add float.
90046         * tests/test-truncl.c: Include <float.h>.
90047         (zero): Remove variable.
90048         (minus_zero): New variable.
90049         (main): Use minus_zero instead of -zero.
90050         * modules/truncl-tests (Depends-on): Add float.
90052         * tests/test-frexpl.c (zero): Remove variable.
90053         (minus_zero): New variable.
90054         (main): Use minus_zero instead of -zero.
90055         * modules/frexpl-tests (Depends-on): Add float.
90057         * tests/test-isnan.c (zerol): Remove variable.
90058         (minus_zerol): New variable.
90059         (test_long_double): Use minus_zerol instead of -zerol.
90060         * modules/isnan-tests (Depends-on): Add float.
90062         * tests/test-isnanl.h (zero): Remove variable.
90063         (minus_zero): New variable.
90064         (main): Use minus_zero instead of -zero.
90065         * modules/isnanl-nolibm-tests (Depends-on): Add float.
90066         * modules/isnanl-tests (Depends-on): Add float.
90068         * tests/test-ldexpl.c (zero): Remove variable.
90069         (minus_zero): New variable.
90070         (main): Use minus_zero instead of -zero.
90071         * modules/ldexpl-tests (Depends-on): Add float.
90073         * tests/test-snprintf-posix.h (zerol): Remove variable.
90074         (minus_zerol): New variable.
90075         (test_function): Use minus_zerol instead of -zerol.
90076         * modules/snprintf-posix-tests (Depends-on): Add float.
90077         * modules/vsnprintf-posix-tests (Depends-on): Add float.
90079         * tests/test-sprintf-posix.h (zerol): Remove variable.
90080         (minus_zerol): New variable.
90081         (test_function): Use minus_zerol instead of -zerol.
90082         * modules/sprintf-posix-tests (Depends-on): Add float.
90083         * modules/vsprintf-posix-tests (Depends-on): Add float.
90085         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
90086         (minus_zerol): New variable.
90087         (test_function): Use minus_zerol instead of -zerol.
90088         * modules/vasnprintf-posix-tests (Depends-on): Add float.
90090         * tests/test-vasprintf-posix.c (zerol): Remove variable.
90091         (minus_zerol): New variable.
90092         (test_function): Use minus_zerol instead of -zerol.
90093         * modules/vasprintf-posix-tests (Depends-on): Add float.
90095 2008-10-07  Simon Josefsson  <simon@josefsson.org>
90097         * MODULES.html.sh (Support for building documentation): Mention
90098         pmccabe2html.  Sort entries.
90100         Add pmccabe2html module, from gnupdf.
90101         * build-aux/pmccabe.css: New file.
90102         * build-aux/pmccabe2html: New file.
90103         * m4/pmccabe2html.m4: New file.
90104         * modules/pmccabe2html: New file.
90106 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
90108         flock: new module
90109         * MODULES.html.sh: Add to list of modules.
90110         * lib/flock.c: flock implementation for Windows and Unix systems
90111         which have fcntl.
90112         * doc/glibc-functions/flock.texi: Update documentation.
90113         * lib/sys_file.in.h: <sys/file.h> header file.
90114         * m4/flock.m4: M4 macros.
90115         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
90116         * modules/flock: flock module.
90117         * modules/flock-tests: flock tests module.
90118         * modules/sys_file: sys/file.h module.
90119         * tests/test-flock.c: test suite for flock.
90121 2008-10-06  Jim Meyering  <meyering@redhat.com>
90123         bootstrap: check for LT_INIT more portably still ;-)
90124         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
90125         Spotted by Bruno Haible.
90127 2008-10-06  Eric Blake  <ebb9@byu.net>
90129         test-signbit: avoid tripping Irix cc bug on -0.0L
90130         * tests/test-signbit.c (minus_zerol): Delete, and replace with
90131         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
90132         entire testsuite consistent and avoids an Irix 6.2 bug.
90134 2008-10-05  Bruno Haible  <bruno@clisp.org>
90135             Jim Meyering  <jim@meyering.net>
90137         Add an option for ignoring EPIPE during close_stdout.
90138         * lib/closeout.h: Include <stdbool.h>.
90139         (close_stdout_set_ignore_EPIPE): New declaration.
90140         * lib/closeout.c: Include <stdbool.h>.
90141         (ignore_EPIPE): New variable.
90142         (close_stdout_set_ignore_EPIPE): New function.
90143         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
90144         * lib/close-stream.c (close_stream): Mention the possible EPIPE
90145         failure.
90146         * modules/closeout (Depends-on): Add stdbool.
90148 2008-10-05  Bruno Haible  <bruno@clisp.org>
90150         * modules/accept: New file.
90151         * modules/bind: New file.
90152         * modules/connect: New file.
90153         * modules/getpeername: New file.
90154         * modules/getsockname: New file.
90155         * modules/getsockopt: New file.
90156         * modules/listen: New file.
90157         * modules/recv: New file.
90158         * modules/recvfrom: New file.
90159         * modules/send: New file.
90160         * modules/sendto: New file.
90161         * modules/setsockopt: New file.
90162         * modules/socket: New file.
90163         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
90164         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
90165         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
90166         the particular module is requested. Add a link warning when the
90167         particular module is not requested.
90168         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
90169         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
90170         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
90171         the particular module is requested.
90172         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
90173         gl_SYS_SOCKET_H_DEFAULTS): New macros.
90174         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
90175         * modules/sys_socket (Depends-on): Add link-warning.
90176         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
90177         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
90178         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
90179         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
90180         GL_LINK_WARNING.
90181         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
90182         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
90183         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
90184         * doc/posix-functions/getpeername.texi: Mention the new module
90185         'getpeername'.
90186         * doc/posix-functions/getsockname.texi: Mention the new module
90187         'getsockname'.
90188         * doc/posix-functions/getsockopt.texi: Mention the new module
90189         'getsockopt'.
90190         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
90191         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
90192         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
90193         * doc/posix-functions/send.texi: Mention the new module 'send'.
90194         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
90195         * doc/posix-functions/setsockopt.texi: Mention the new module
90196         'setsockopt'.
90197         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
90198         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
90199         listen, connect, accept.
90200         * modules/select-tests (Depends-on): Likewise.
90202 2008-10-05  Bruno Haible  <bruno@clisp.org>
90204         * lib/winsock.c (strerror): Remove unused #undef.
90205         (rpl_close): Remove unused local variable.
90207         * modules/sys_socket (Depends-on); Add errno.
90209 2008-10-05  Bruno Haible  <bruno@clisp.org>
90211         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
90212         (select): Add a link warning when the 'select' module is not used.
90213         * modules/sys_select (Depends-on): Add link-warning.
90214         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
90215         Suggested by Paolo Bonzini.
90217 2008-10-05  Jim Meyering  <meyering@redhat.com>
90219         bootstrap: check for LT_INIT more portably
90220         * build-aux/bootstrap: Avoid using grep -E, since it's not
90221         portable enough.  Suggestion from Bruno Haible.
90223 2008-10-05  Bruno Haible  <bruno@clisp.org>
90225         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
90226         as being fixed by gnulib.
90228 2008-10-05  Bruno Haible  <bruno@clisp.org>
90230         * modules/select-tests: New file, mostly copied from
90231         modules/sys_select-tests.
90232         * tests/test-select.c: New file, mostly copied from
90233         tests/test-sys_select.c.
90234         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
90235         * modules/sys_select-tests (Depends-on): Remove all dependencies.
90236         (Makefile.am): Remove test_sys_select_LDADD.
90238         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
90239         to an undefined symbol, for an error message.
90240         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
90241         (gl_SYS_SELECT_H_DEFAULTS): New macro.
90242         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
90243         winsock-select.c here.
90244         * modules/sys_select (Files): Remove lib/winsock-select.c.
90245         (Depends-on): Remove alloca.
90246         (Makefile.am): Substitute GNULIB_SELECT.
90247         * modules/select: New file.
90248         * doc/posix-functions/select.texi: Update.
90250 2008-10-05  Bruno Haible  <bruno@clisp.org>
90252         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
90253         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
90254         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
90255         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
90256         getdtablesize.
90257         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
90258         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
90260 2008-10-05  Bruno Haible  <bruno@clisp.org>
90262         * modules/getdtablesize-tests: New file.
90263         * tests/test-getdtablesize.c: New file.
90265         New module 'getdtablesize'.
90266         * lib/unistd.in.h (getdtablesize): New declaration.
90267         * lib/getdtablesize.c: New file.
90268         * m4/getdtablesize.m4: New file.
90269         * modules/getdtablesize: New file.
90270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90271         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
90272         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
90273         HAVE_GETDTABLESIZE.
90274         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
90276 2008-10-05  Bruno Haible  <bruno@clisp.org>
90278         * modules/sched (Makefile.am): Fix typo.
90279         Reported by Simon Josefsson.
90281 2008-10-05  Jim Meyering  <meyering@redhat.com>
90283         bootstrap: check for LT_INIT, too
90284         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
90285         are deprecated.  Suggestion from Ralf Wildenhues.
90287 2008-10-05  Bruno Haible  <bruno@clisp.org>
90289         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
90290         overriding them by ours.
90291         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
90293 2008-10-05  Jim Meyering  <meyering@redhat.com>
90295         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
90296         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
90297         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
90299 2008-10-04  Bruno Haible  <bruno@clisp.org>
90301         * modules/dup2 (License): Change to LGPLv2+.
90302         * modules/sleep (License): Likewise.
90303         * modules/perror (License): Likewise.
90304         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
90305         Blake.
90306         * modules/signal (License): Likewise.
90307         * modules/sigprocmask (License): Likewise.
90308         * modules/raise (License): Change to LGPLv2+, with approval by Jim
90309         Meyering.
90311 2008-10-04  Bruno Haible  <bruno@clisp.org>
90313         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
90314         Reported by Rainer Tammer <tammer@tammer.net>.
90316 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
90317             Bruno Haible  <bruno@clisp.org>
90319         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
90320         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
90321         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
90323 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
90325         filevercmp: new module
90326         * lib/filevercmp.h: New function filevercmp comparing version strings.
90327         * lib/filevercmp.c: Implementation of filevercmp function.
90328         * modules/filevercmp: Module metadata.
90329         * tests/test-filevercmp.c: Unit test for new module.
90330         * modules/filevercmp-tests: Unit test metadata.
90331         * MODULES.html.sh: Add filevercmp module.
90333 2008-10-03  Bruno Haible  <bruno@clisp.org>
90335         * lib/c-ctype.h: Add comment.
90336         Reported by Jim Meyering.
90338 2008-10-02  Bruno Haible  <bruno@clisp.org>
90340         * modules/posix_spawn-internal (Depends-on): Add 'open'.
90342 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90344         * build-aux/bootstrap: Allow renaming bootstrap, and change the
90345         name of bootstrap.conf accordingly.
90347 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90349         * build-aux/bootstrap: Install git-merge-changelog configuration
90350         items into .gitconfig if needed.
90352 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90354         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
90355         git repository, and initialize/update it accordingly.
90357 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
90359         * modules/fsync-tests: New file.
90360         * tests/test-fsync.c: New file.
90362         New module 'fsync'.
90363         * lib/fsync.c: New file.
90364         * m4/fsync.m4: New file.
90365         * modules/fsync: New file.
90366         * lib/unistd.in.h (fsync): New declaration.
90367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
90368         GNULIB_FSYNC and HAVE_FSYNC.
90369         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
90370         * MODULES.html.sh (posix_functions): Add fsync.
90371         * doc/posix-functions/fsync.texi: Mention the new module.
90373 2008-10-02  Jim Meyering  <meyering@redhat.com>
90375         fts.c: sync with similar code from coreutils' remove.c
90376         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
90377         Guard also with "#if defined __linux__", since for now at least,
90378         this code is Linux-kernel-specific.
90380 2008-10-02  Jim Meyering  <meyering@redhat.com>
90382         fts: bug fixes
90383         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
90384         Include <sys/vfs.h>, not <sys/statfs.h>.
90386         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
90387         Include <sys/vfs.h>, not <sys/statfs.h>.
90389 2008-10-01  Bruno Haible  <bruno@clisp.org>
90391         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
90392         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
90393         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
90394         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
90395         * doc/posix-functions/posix_spawnp.texi: Likewise.
90396         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
90397         whether posix_spawn actually works.
90398         * m4/pipe.m4 (gl_PIPE): Likewise.
90399         * modules/execute (Files): Add m4/posix_spawn.m4.
90400         * modules/pipe (Files): Add m4/posix_spawn.m4.
90401         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
90403 2008-10-01  Jim Meyering  <meyering@redhat.com>
90405         remove trailing spaces
90406         * NEWS: Likewise.
90407         * lib/poll.c (poll): Likewise.
90408         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
90409         * lib/winsock.c (rpl_close): Likewise.
90410         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
90411         * modules/yield: Likewise.
90412         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
90413         * tests/test-sys_select.c (connect_to_socket): Likewise.
90415         fts.c: adjust a new interface to be more generally useful
90416         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
90417         (fts_build): Adjust caller.
90419 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90421         * modules/cond-tests: New file.
90422         * tests/test-cond.c: New file.
90424 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90425             Bruno Haible  <bruno@clisp.org>
90427         * modules/cond (Dependencies): Add errno, time.
90428         * lib/glthread/cond.h: Include <time.h>.
90429         (gl_cond_define, gl_cond_define_initialized): Use the same definition
90430         across platforms.
90432 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90433             Bruno Haible  <bruno@clisp.org>
90435         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
90437 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90438             Bruno Haible  <bruno@clisp.org>
90440         * modules/tls-tests (Depends-on): Add thread, yield.
90441         (configure.ac): Remove all checks.
90442         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
90443         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90444         gl_thread_self): Remove definitions. Include glthread/thread.h and
90445         glthread/yield.h instead.
90446         (test_tls): Pass an additional NULL argument to gl_thread_join.
90448 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90449             Bruno Haible  <bruno@clisp.org>
90451         * modules/lock-tests (Depends-on): Add thread, yield.
90452         (configure.ac): Remove all checks.
90453         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
90454         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90455         gl_thread_self): Remove definitions. Include glthread/thread.h and
90456         glthread/yield.h instead.
90457         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
90458         additional NULL argument to gl_thread_join.
90460 2008-09-30  Bruno Haible  <bruno@clisp.org>
90462         Fix the Win32 implementation of the 'thread' module.
90463         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
90464         pointer type.
90465         (gl_thread_self): Invoke gl_thread_self_func.
90466         (gl_thread_self_func): New declaration.
90467         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
90468         (do_init_self_key, init_self_key): New functions.
90469         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
90470         Remove some fields.
90471         (running_threads, running_lock): Remove variables.
90472         (get_current_thread_handle): New function.
90473         (gl_thread_self_func, wrapper_func, glthread_create_func,
90474         glthread_join_func, gl_thread_exit_func): Largely rewritten and
90475         simplified.
90477 2008-09-30  Bruno Haible  <bruno@clisp.org>
90479         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
90480         files.
90482 2008-09-30  Jim Meyering  <meyering@redhat.com>
90484         fts.m4: correct the test for statfs.f_type
90485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
90486         when checking for statfs.f_type.
90488 2008-09-15  Simon Josefsson  <simon@josefsson.org>
90490         tests: avoid some compiler warnings
90491         * tests/test-memchr.c (main): Pass NULL indirectly.
90492         * tests/test-getdate.c (main): Remove unused variable 'ret'.
90494 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
90496         getdate.y: disallow countable dayshifts like "4 yesterday ago"
90497         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
90498         exactly specified dayshifts.
90499         (dayshift): New rule.
90500         (rel): Add dayshift.
90501         (relative_time_table) [tomorrow, yesterday, today, now]:
90502         Use tDAY_SHIFT in place of tDAY_UNIT.
90503         * tests/test-getdate.c: Add tests for now-disallowed countable
90504         dayshifts, e.g., "4 yesterday ago".
90506 2008-09-29  Bruno Haible  <bruno@clisp.org>
90508         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
90509         * tests/test-posix_spawn1.in.sh: Renamed from
90510         tests/test-posix_spawn.in.sh.
90511         * tests/test-posix_spawn2.c: New file.
90512         * tests/test-posix_spawn2.in.sh: New file.
90513         * modules/posix_spawnp-tests (Files): Update.
90514         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
90516 2008-09-29  Bruno Haible  <bruno@clisp.org>
90518         Propagate effects of putenv/setenv/unsetenv to child processes.
90519         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
90520         * lib/pipe.c (create_pipe): Likewise.
90522 2008-09-29  Bruno Haible  <bruno@clisp.org>
90524         Enable use of shell scripts as executables in mingw.
90525         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
90526         run the program as a shell script.
90527         * lib/pipe.c (create_pipe): Likewise.
90528         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
90529         resulting array.
90531 2008-09-29  Eric Blake  <ebb9@byu.net>
90533         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
90535 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
90537         * doc/posix-functions/accept.texi: Update mingw problems.
90538         * doc/posix-functions/bind.texi: Update mingw problems.
90539         * doc/posix-functions/close.texi: Update mingw problems.
90540         * doc/posix-functions/connect.texi: Update mingw problems.
90541         * doc/posix-functions/getpeername.texi: Update mingw problems.
90542         * doc/posix-functions/getsockname.texi: Update mingw problems.
90543         * doc/posix-functions/getsockopt.texi: Update mingw problems.
90544         * doc/posix-functions/ioctl.texi: Update mingw problems.
90545         * doc/posix-functions/listen.texi: Update mingw problems.
90546         * doc/posix-functions/recv.texi: Update mingw problems.
90547         * doc/posix-functions/recvfrom.texi: Update mingw problems.
90548         * doc/posix-functions/select.texi: Update mingw problems.
90549         * doc/posix-functions/send.texi: Update mingw problems.
90550         * doc/posix-functions/sendto.texi: Update mingw problems.
90551         * doc/posix-functions/setsockopt.texi: Update mingw problems.
90552         * doc/posix-functions/socket.texi: Update mingw problems.
90554 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
90555             Bruno Haible  <bruno@clisp.org>
90557         * lib/sys_select.in.h: Include sys/time.h.
90558         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
90559         * modules/sys_select: Depend on sys_time.
90560         * tests/test-sys_select.c: Test that sys/select.h defines struct
90561         timeval fully.
90563 2008-09-29  Bruno Haible  <bruno@clisp.org>
90565         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
90566         * lib/sys_select.in.h: Likewise.
90568 2008-09-29  Bruno Haible  <bruno@clisp.org>
90570         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
90572 2008-09-29  Bruno Haible  <bruno@clisp.org>
90574         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
90575         Set LIBSOCKET instead of augmenting LIBS.
90576         * modules/sockets (Link): New section.
90577         * modules/sockets-tests (test_sockets_LDADD): New variable.
90578         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
90579         * modules/poll-tests (test_poll_LDADD): New variable.
90580         * NEWS: Document the change.
90582 2008-09-29  Bruno Haible  <bruno@clisp.org>
90584         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
90585         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
90586         ARPA_INET_H directly.
90587         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
90589 2008-09-28  Bruno Haible  <bruno@clisp.org>
90591         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
90592         from gl_HEADER_SYS_SOCKET.
90593         (gl_HEADER_SYS_SOCKET): Invoke it.
90594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
90596 2008-09-28  Bruno Haible  <bruno@clisp.org>
90598         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
90599         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
90600         Needed on OSF/1 4.0.
90602 2008-09-28  Bruno Haible  <bruno@clisp.org>
90604         Override open more carefully.
90605         * lib/open.c (orig_open): New function.
90606         (rpl_open): Use orig_open instead of open.
90607         * lib/fcntl.in.h: Add special invocation convention.
90608         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
90609         (gl_FUNC_OPEN): Invoke it.
90611         Override freopen more carefully.
90612         * lib/freopen.c (orig_freopen): New function.
90613         (rpl_freopen): Use orig_freopen instead of freopen.
90614         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
90615         (gl_FUNC_FREOPEN): Invoke it.
90617         Override fopen more carefully.
90618         * lib/fopen.c (orig_fopen): New function.
90619         (rpl_fopen): Use orig_fopen instead of fopen.
90620         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
90621         (gl_FUNC_FOPEN): Invoke it.
90622         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
90624 2008-09-28  Bruno Haible  <bruno@clisp.org>
90626         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
90627         SIGPIPE.
90629 2008-09-28  Bruno Haible  <bruno@clisp.org>
90631         * tests/test-sigaction.c (handler, main): Disable the check whether
90632         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
90633         glibc systems with LinuxThreads.
90635 2008-09-28  Bruno Haible  <bruno@clisp.org>
90637         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
90639         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
90640         with AIX xlc.
90641         * lib/fcntl.in.h (open): Likewise.
90642         Reported by Rainer Tammer <tammer@tammer.net>.
90644 2008-09-28  Bruno Haible  <bruno@clisp.org>
90646         * modules/posix_spawnp-tests: New file.
90647         * tests/test-posix_spawn.c: New file.
90648         * tests/test-posix_spawn.in.sh: New file.
90650         New module 'posix_spawnp'.
90651         * modules/posix_spawnp: New file.
90652         * lib/spawnp.c: New file, from GNU libc with modifications.
90653         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
90655         New module 'posix_spawn'.
90656         * modules/posix_spawn: New file.
90657         * lib/spawn.c: New file, from GNU libc with modifications.
90658         * doc/posix-functions/posix_spawn.texi: Mention the new module.
90660         New module 'posix_spawnattr_destroy'.
90661         * modules/posix_spawnattr_destroy: New file.
90662         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
90663         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
90664         module.
90666         New module 'posix_spawnattr_setsigmask'.
90667         * modules/posix_spawnattr_setsigmask: New file.
90668         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
90669         modifications.
90670         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
90671         new module.
90673         New module 'posix_spawnattr_getsigmask'.
90674         * modules/posix_spawnattr_getsigmask: New file.
90675         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
90676         modifications.
90677         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
90678         new module.
90680         New module 'posix_spawnattr_setsigdefault'.
90681         * modules/posix_spawnattr_setsigdefault: New file.
90682         * lib/spawnattr_setdefault.c: New file, from GNU libc with
90683         modifications.
90684         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
90685         new module.
90687         New module 'posix_spawnattr_getsigdefault'.
90688         * modules/posix_spawnattr_getsigdefault: New file.
90689         * lib/spawnattr_getdefault.c: New file, from GNU libc with
90690         modifications.
90691         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
90692         new module.
90694         New module 'posix_spawnattr_setschedpolicy'.
90695         * modules/posix_spawnattr_setschedpolicy: New file.
90696         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
90697         modifications.
90698         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
90699         new module.
90701         New module 'posix_spawnattr_getschedpolicy'.
90702         * modules/posix_spawnattr_getschedpolicy: New file.
90703         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
90704         modifications.
90705         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
90706         new module.
90708         New module 'posix_spawnattr_setschedparam'.
90709         * modules/posix_spawnattr_setschedparam: New file.
90710         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
90711         modifications.
90712         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
90713         new module.
90715         New module 'posix_spawnattr_getschedparam'.
90716         * modules/posix_spawnattr_getschedparam: New file.
90717         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
90718         modifications.
90719         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
90720         new module.
90722         New module 'posix_spawnattr_setpgroup'.
90723         * modules/posix_spawnattr_setpgroup: New file.
90724         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
90725         modifications.
90726         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
90727         module.
90729         New module 'posix_spawnattr_getpgroup'.
90730         * modules/posix_spawnattr_getpgroup: New file.
90731         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
90732         modifications.
90733         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
90734         module.
90736         New module 'posix_spawnattr_setflags'.
90737         * modules/posix_spawnattr_setflags: New file.
90738         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
90739         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
90740         module.
90742         New module 'posix_spawnattr_getflags'.
90743         * modules/posix_spawnattr_getflags: New file.
90744         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
90745         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
90746         module.
90748         New module 'posix_spawnattr_init'.
90749         * modules/posix_spawnattr_init: New file.
90750         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
90751         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
90752         module.
90754         New module 'posix_spawn_file_actions_destroy'.
90755         * modules/posix_spawn_file_actions_destroy: New file.
90756         * lib/spawn_faction_destroy.c: New file, from GNU libc with
90757         modifications.
90758         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
90759         the new module.
90761         New module 'posix_spawn_file_actions_addopen'.
90762         * modules/posix_spawn_file_actions_addopen: New file.
90763         * lib/spawn_faction_addopen.c: New file, from GNU libc with
90764         modifications.
90765         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
90766         the new module.
90768         New module 'posix_spawn_file_actions_adddup2'.
90769         * modules/posix_spawn_file_actions_adddup2: New file.
90770         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
90771         modifications.
90772         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
90773         the new module.
90775         New module 'posix_spawn_file_actions_addclose'.
90776         * modules/posix_spawn_file_actions_addclose: New file.
90777         * lib/spawn_faction_addclose.c: New file, from GNU libc with
90778         modifications.
90779         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
90780         the new module.
90782         New module 'posix_spawn_file_actions_init'.
90783         * modules/posix_spawn_file_actions_init: New file.
90784         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
90785         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
90786         new module.
90788         New module 'posix_spawn-internal'.
90789         * modules/posix_spawn-internal: New file.
90790         * lib/spawn_int.h: New file, from GNU libc with modifications.
90791         * lib/spawni.c: New file, from GNU libc with modifications.
90792         * m4/posix_spawn.m4: New file.
90794         New module 'spawn'.
90795         * modules/spawn: New file.
90796         * lib/spawn.in.h: New file, from GNU libc with modifications.
90797         * m4/spawn_h.m4: New file.
90798         * doc/posix-headers/spawn.texi: Mention the new module.
90800 2008-09-28  Bruno Haible  <bruno@clisp.org>
90802         * modules/sched-tests: New file.
90803         * tests/test-sched.c: New file.
90805         New module 'sched'.
90806         * modules/sched: New file.
90807         * lib/sched.in.h: New file.
90808         * m4/sched_h.m4: New file.
90809         * doc/posix-headers/sched.texi: Mention the new module.
90811 2008-09-27  Eric Blake  <ebb9@byu.net>
90813         Fix previous patch, and tweak references to $0.
90814         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
90815         (func_version, func_gnulib_dir): Don't call this program
90816         gnulib-tool.
90817         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
90818         with using $0 in function.
90819         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
90820         (func_fatal_error): Reuse the name the user invoked us with.
90822 2008-09-27  Bruno Haible  <bruno@clisp.org>
90824         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
90825         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
90826         (gl_ICONV_H): Not here.
90827         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
90828         instead of assigning ICONV_H directly.
90830         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
90831         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
90832         WCHAR_H directly.
90834 2008-09-27  Bruno Haible  <bruno@clisp.org>
90836         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
90837         * modules/arpa_inet (Depends-on): Add link-warning.
90838         (Makefile.am): Insert the definition of GL_LINK-WARNING.
90839         * modules/unistd (Makefile.am): Likewise.
90841 2008-09-26  Bruno Haible  <bruno@clisp.org>
90843         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
90844         variables.
90845         (func_version): Essentially copied from gnulib-tool.
90846         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
90847         func_readlink): Copied from gnulib-tool.
90849 2008-09-26  Bruno Haible  <bruno@clisp.org>
90851         * gnulib-tool (func_version): Change directory to $gnulib_dir before
90852         invoking git-version-gen.
90854 2008-09-26  Bruno Haible  <bruno@clisp.org>
90856         * posix-modules: Update to directory names changed on 2008-01-19.
90857         Remove commas in output before splitting into words. No more need to
90858         avoid 'ftruncate' since 2007-02-19.
90860 2008-09-26  Bruno Haible  <bruno@clisp.org>
90862         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
90864 2008-09-26  Bruno Haible  <bruno@clisp.org>
90866         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
90867         * modules/fwriteerror (Depends-on): Add errno.
90869 2008-09-26  Bruno Haible  <bruno@clisp.org>
90871         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
90872         * tests/test-vc-list-files-cvs.sh: Likewise.
90874 2008-09-26  Bruno Haible  <bruno@clisp.org>
90876         * doc/posix-headers/sys_resource.texi: Reorder items.
90878 2008-09-26  Jim Meyering  <meyering@redhat.com>
90880         fts: tweak inode comparison function
90881         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
90882         inode numbers, as documented.
90884         fts: sort dirent entries on inode number before traversing
90885         This avoids a quadratic, seek-related performance penalty when
90886         operating on a directory containing many entries (measurable at 10k;
90887         3.5 hours at 2 million entries with a cold cache) on certain types
90888         of file systems, including ext3 and ext4, but not tmpfs.
90889         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
90890         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
90891         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
90892         (fs_handles_readdir_ordered_dirents_efficiently): New function.
90893         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
90894         (fts_build): Set the stat.st_ino member from D_INO.
90895         If it is likely to be useful, sort dirent entries on inode number.
90897         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
90898         and the struct statfs.f_type member.
90899         * modules/fts (Depends-on): Add d-ino.
90901 2008-09-26  Bruno Haible  <bruno@clisp.org>
90903         * modules/sigpipe-die (Depends-on): Add sigpipe.
90905         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
90906         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
90907         and GNULIB_STDIO_H_SIGPIPE are set.
90908         * lib/stdio-write.c: New file.
90909         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
90910         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90911         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90912         REPLACE_STDIO_WRITE_FUNCS.
90913         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
90914         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90915         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90916         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
90917         * modules/stdio (Files): Add lib/stdio-write.c.
90918         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
90919         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
90920         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
90921         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
90922         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
90923         REPLACE_FPRINTF_POSIX.
90924         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
90925         REPLACE_PRINTF_POSIX.
90926         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
90927         REPLACE_VFPRINTF_POSIX.
90928         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
90929         REPLACE_VPRINTF_POSIX.
90930         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
90931         SIGPIPE issue.
90932         * doc/posix-functions/fputc.texi: Likewise.
90933         * doc/posix-functions/fputs.texi: Likewise.
90934         * doc/posix-functions/fwrite.texi: Likewise.
90935         * doc/posix-functions/printf.texi: Likewise.
90936         * doc/posix-functions/putc.texi: Likewise.
90937         * doc/posix-functions/putchar.texi: Likewise.
90938         * doc/posix-functions/puts.texi: Likewise.
90939         * doc/posix-functions/vfprintf.texi: Likewise.
90940         * doc/posix-functions/vprintf.texi: Likewise.
90942         * modules/safe-write (Depends-on): Add write.
90944         * modules/sigpipe-tests: New file.
90945         * tests/test-sigpipe.c: New file.
90946         * tests/test-sigpipe.sh: New file.
90948         * modules/write: New file.
90949         * lib/unistd.in.h: Include <sys/types.h>.
90950         (write): New declaration.
90951         * lib/write.c: New file.
90952         * m4/write.m4: New file.
90953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90954         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
90955         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
90956         GNULIB_WRITE, REPLACE_WRITE.
90957         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
90958         and the SIGPIPE issue.
90960         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
90961         (raise): New declaration.
90962         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
90963         (ext_signal): New function.
90964         (rpl_raise): New function.
90965         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
90966         GNULIB_SIGNAL_H_SIGPIPE.
90967         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
90968         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
90970         * modules/sigpipe: New file.
90971         * m4/sigpipe.m4: New file.
90973 2008-09-25  Derek Price  <derek@ximbiot.com>
90974             Bruno Haible  <bruno@clisp.org>
90976         * gnulib-tool (func_import): Report all license incompatibilities, not
90977         just the first one.
90979 2008-09-25  Bruno Haible  <bruno@clisp.org>
90981         * gnulib-tool (func_import): When computing the edits, consider not
90982         only the Makefile.ams that exist but also those that will be generated.
90984 2008-09-25  Simon Josefsson  <simon@josefsson.org>
90986         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
90987         fixes gnulib-tool --test warning about duplicate dependency.
90989 2008-09-25  Bruno Haible  <bruno@clisp.org>
90991         * gnulib-tool: Don't ask the user to perform edits in the generated
90992         Makefile.ams.
90993         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
90994         apply to the Makefile.am being generated.
90995         (func_emit_tests_Makefile_am): Execute edits that apply to the
90996         Makefile.am being generated.
90997         (func_import): Setup list of Makefile.am edits before emitting the
90998         Makefile.ams, not at the end.
90999         (func_create_testdir): Update.
91000         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91002 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91004         * gnulib-tool (func_import): Store the --tests-base option in the
91005         comment in gnulib-cache.m4.
91007 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
91009         * NEWS: Document increased portability that sys_select now provides.
91011         * lib/sys_select.in.h: Install select wrapper.
91012         * lib/sys_socket.in.h: Use more descriptive name when there is no
91013         select wrapper.
91014         * lib/winsock-select.c: New.
91015         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
91016         Require gl_HEADER_SYS_SOCKET.
91017         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
91018         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
91019         * tests/test-sys_select.c: Add functional tests.
91021 2008-09-24  Eric Blake  <ebb9@byu.net>
91023         open, fopen: close fd leak in last patch
91024         * lib/open.c (rpl_open): Close fd before returning error.
91025         * lib/fopen.c (rpl_fopen): Close fd before returning error.
91026         * doc/posix-functions/open.texi (open): Document that Irix also
91027         has the bug.
91028         * doc/posix-functions/fopen.texi (fopen): Likewise.
91029         Reported by Paolo Bonzini.
91031 2008-09-24  Bruno Haible  <bruno@clisp.org>
91033         Ensure that a filename ending in a slash cannot be used to access a
91034         non-directory.
91035         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
91036         to check whether it's really a directory.
91037         * lib/fopen.c: Include fcntl.h, unistd.h.
91038         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
91039         and fdopen().
91040         * modules/fopen (Depends-on): Add unistd.
91041         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
91042         * tests/test-fopen.c (main): Likewise.
91043         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
91044         * doc/posix-functions/fopen.texi: Likewise.
91045         Reported by Eric Blake.
91047 2008-09-23  Eric Blake  <ebb9@byu.net>
91049         c-stack: avoid compiler optimizations when provoking overflow
91050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
91051         recursion harder to optimize, to ensure a stack overflow occurs.
91052         * tests/test-c-stack.c (recurse): Likewise.
91053         Borrowed from libsigsegv.
91055         c-stack: work around Irix sigaltstack bug
91056         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
91057         whether sigaltstack uses wrong end of stack_t (copied in part from
91058         libsigsegv).
91059         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
91060         Irix bug, without requiring an over-allocation.
91061         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
91062         bug.
91064         fopen: document mingw bug on directories
91065         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
91066         not allowing a stream visiting a directory, even though reading
91067         from such a stream is not portable.
91069 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91071         * lib/poll.c: Rewrite.
91072         * modules/poll: Depend on alloca.
91074 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91076         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
91077         instead define prototypes for a full set of wrappers.  Ensure
91078         that Cygwin does not use the compatibility code, which is only
91079         for MinGW.
91080         * lib/winsock.c: New.
91081         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
91082         * modules/sys_socket: Add lib/winsock.c.
91084         * modules/poll-tests: Add errno and perror.
91085         * tests/test-poll.c: Use ioctl, not ioctlsocket.
91087 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91089         * tests/test-poll.c: Downgrade minimum needed Winsock version.
91091 2008-09-23  Bruno Haible  <bruno@clisp.org>
91093         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
91094         * doc/glibc-functions/*: Likewise.
91096 2008-09-23  Simon Josefsson  <simon@josefsson.org>
91098         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
91099         success.
91101 2008-09-22  Eric Blake  <ebb9@byu.net>
91102             Bruno Haible  <bruno@clisp.org>
91104         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
91105         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
91106         supply %A but mishandle pseudo-NaN.
91107         Reported by Simon Josefsson.
91109 2008-09-21  Bruno Haible  <bruno@clisp.org>
91111         * tests/test-lock.c (main): Tweak skip message.
91112         * tests/test-tls.c (main): Likewise.
91114 2008-09-21  Bruno Haible  <bruno@clisp.org>
91116         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
91117         whether 'struct sigaction' has sa_sigaction here...
91118         (gl_PREREQ_SIG_HANDLER_H): ... not here.
91119         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
91121 2008-09-21  Bruno Haible  <bruno@clisp.org>
91123         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
91124         section.
91125         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
91126         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
91127         the new section.
91128         (Support for obsolete systems lacking POSIX:2001): New section.
91129         (String handling <string.h>): Move strdup to the new section.
91130         Suggested by Simon Josefsson and Paolo Bonzini.
91132 2008-09-21  Bruno Haible  <bruno@clisp.org>
91134         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
91135         exponents in %e and %g results on 'long double'. Needed for mingw's
91136         improved *printf functions.
91137         * tests/test-vasprintf-posix.c (test_function): Likewise.
91138         * tests/test-snprintf-posix.h (test_function): Likewise.
91139         * tests/test-sprintf-posix.h (test_function): Likewise.
91140         Reported by Eric Blake.
91142 2008-09-21  Bruno Haible  <bruno@clisp.org>
91144         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
91145         * tests/test-sprintf-posix.h (test_function): Likewise.
91147 2008-09-21  Bruno Haible  <bruno@clisp.org>
91149         * modules/getpass (Depends-on): Add strdup-posix.
91151         New module 'strdup-posix'.
91152         * modules/strdup-posix: New file.
91153         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
91154         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
91155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91156         REPLACE_STRDUP.
91157         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
91158         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
91159         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91160         strdup-posix.
91162         * modules/strdup (Depends-on): Remove malloc-posix.
91164 2008-09-20  Bruno Haible  <bruno@clisp.org>
91166         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
91167         Wildenhues.
91169 2008-09-20  Bruno Haible  <bruno@clisp.org>
91171         Ensure that wint_t gets defined on IRIX 5.3.
91172         * lib/wchar.in.h (wint_t): Define if not defined by the system.
91173         * lib/wctype.in.h (wint_t): Likewise.
91174         (__wctype_wint_t): Remove type.
91175         (isw*): Use wint_t instead of __wctype_wint_t.
91176         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
91177         * modules/wchar (Files): Add m4/wint_t.m4.
91178         (Makefile.am): Substitute HAVE_WINT_T.
91179         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
91180         * tests/test-wctype.c: Check that wint_t is defined.
91181         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
91182         * doc/posix-headers/wctype.texi: Likewise.
91183         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
91185 2008-09-18  Bruno Haible  <bruno@clisp.org>
91187         * gnulib-tool (func_exit): Update comment.
91189 2008-09-18  Simon Josefsson  <simon@josefsson.org>
91191         * modules/getaddrinfo (Depends-on): Remove strdup, this module
91192         assumes strdup exists and does not depend on strdup to return
91193         ENOMEM on out of memory conditions.
91195 2008-09-18  Bruno Haible  <bruno@clisp.org>
91197         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
91198         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
91199         digits for the exponent.
91201 2008-09-18  Jim Meyering  <meyering@redhat.com>
91202             Bruno Haible  <bruno@clisp.org>
91204         * lib/vasnprintf.c (decimal_point_char): Define also if
91205         NEED_PRINTF_INFINITE_LONG_DOUBLE.
91207 2008-09-16  Bruno Haible  <bruno@clisp.org>
91208         and Eric Blake  <ebb9@byu.net>
91210         vasnprintf: support Irix 5.3
91211         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
91212         that mishandle long double infinity.
91213         Reported by Tom G. Christensen.
91215 2008-09-16  Bruno Haible  <bruno@clisp.org>
91217         * doc/glibc-functions/scandir.texi: Mention the function is missing on
91218         Solaris 9.
91219         * doc/glibc-functions/alphasort.texi: Likewise.
91220         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
91222 2008-09-16  Jim Meyering  <meyering@redhat.com>
91224         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
91225         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
91226         a umask modification leak out of a subshell.  Otherwise, the
91227         opensolaris /bin/sh would be accepted and thus cause unwarranted
91228         failures in the coreutils test suite.
91230 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
91232         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
91233         to succeed.
91235 2008-09-16  Jim Meyering  <meyering@redhat.com>
91237         avoid spurious test failure when library is built without ACL support
91238         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
91239         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
91240         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
91241         * tests/test-copy-acl.sh: Likewise.
91243 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91245         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
91246         based on character occurrence counts.
91248 2008-09-15  Eric Blake  <ebb9@byu.net>
91250         tests: avoid some compiler warnings
91251         * tests/test-memchr.c (main): Pass NULL indirectly.
91252         * tests/test-closein.c (main): Avoid unused variable.
91254 2008-09-15  Bruno Haible  <bruno@clisp.org>
91256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
91257         are missing on OpenBSD 4.0 individually.
91258         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91260 2008-09-15  Bruno Haible  <bruno@clisp.org>
91262         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
91263         * doc/posix-functions/strerror.texi: Mention also Cygwin.
91264         * doc/posix-functions/perror.texi: Likewise.
91265         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
91266         is missing.
91267         Reported by Eric Blake.
91269         * lib/errno.in.h: Use replacement values >= 2000.
91270         Reported by Eric Blake.
91272 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91274         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
91275         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
91276         limit.
91277         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
91278         compareseq was aborted.
91280 2008-09-14  Bruno Haible  <bruno@clisp.org>
91282         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
91283         yvec_edit_count.
91284         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
91285         (fstrcmp_bounded): Simplify result computation accordingly.
91287 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91289         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
91290         (fstrcmp): Define in terms of fstrcmp_bounded.
91291         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
91292         lower_bound argument.
91293         Return quickly if the result is certainly < lower_bound.
91294         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
91296 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91298         * lib/diffseq.h (EARLY_ABORT): New macro.
91299         (compareseq): Change return type to bool. Return true when EARLY_ABORT
91300         evaluates to true.
91302 2008-09-14  Bruno Haible  <bruno@clisp.org>
91304         * modules/perror-tests: New file.
91305         * tests/test-perror.sh: New file.
91306         * tests/test-perror.c: New file.
91308         New module 'perror'.
91309         * lib/stdio.in.h (perror): New declaration.
91310         * lib/perror.c: New file.
91311         * m4/perror.m4: New file.
91312         * modules/perror: New file.
91313         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
91314         * doc/posix-functions/perror.texi: Mention the perror module.
91315         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
91316         REPLACE_PERROR.
91317         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
91318         REPLACE_PERROR.
91320 2008-09-14  Bruno Haible  <bruno@clisp.org>
91322         * modules/stdio (Makefile.am): Reorder to match the order in
91323         lib/stdio.in.h.
91324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
91326 2008-09-13  Bruno Haible  <bruno@clisp.org>
91328         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
91330 2008-09-13  Bruno Haible  <bruno@clisp.org>
91332         Extend strerror to cover the added errno values.
91333         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
91334         (rpl_strerror): Provide error messages for the added errno values and
91335         for the WSA* values.
91336         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
91337         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
91338         strerror.
91339         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
91340         * modules/strerror (Depends-on): Add errno.
91341         * doc/posix-functions/strerror.texi: Document the change.
91342         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
91343         and EOVERFLOW.
91345 2008-09-13  Bruno Haible  <bruno@clisp.org>
91347         * modules/EOVERFLOW: Remove file.
91348         * m4/eoverflow.m4: Remove file.
91349         * modules/EOVERFLOW-tests: Remove file.
91350         * tests/test-EOVERFLOW.c: Remove file.
91351         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
91352         * modules/ftell (Depends-on): Likewise.
91353         * modules/getdelim (Depends-on): Likewise.
91354         * modules/getugroups (Depends-on): Likewise.
91355         * modules/poll (Depends-on): Likewise.
91356         * modules/snprintf (Depends-on): Likewise.
91357         * modules/sprintf-posix (Depends-on): Likewise.
91358         * modules/vasnprintf (Depends-on): Likewise.
91359         * modules/vasprintf (Depends-on): Likewise.
91360         * modules/vfprintf-posix (Depends-on): Likewise.
91361         * modules/vsnprintf (Depends-on): Likewise.
91362         * modules/vsprintf-posix (Depends-on): Likewise.
91363         * modules/xvasprintf (Depends-on): Likewise.
91364         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
91365         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
91366         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
91367         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
91368         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
91369         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
91370         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
91371         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
91372         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
91373         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
91374         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
91375         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
91376         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
91377         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
91378         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
91379         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
91380         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
91381         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
91382         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
91383         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
91384         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
91385         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
91386         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
91387         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
91388         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
91389         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
91390         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
91391         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
91392         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
91393         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
91394         * MODULES.html.sh: Remove EOVERFLOW.
91395         * NEWS: Mention the change.
91397 2008-09-13  Bruno Haible  <bruno@clisp.org>
91399         * modules/errno-tests: New file.
91400         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
91402         * lib/errno.in.h: New file.
91403         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
91404         * modules/errno: New file.
91405         * doc/posix-headers/errno.texi: Update documentation.
91406         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
91408 2008-09-13  Bruno Haible  <bruno@clisp.org>
91410         * tests/test-poll.c: Use #if for native Windows, rather than testing
91411         __MSVCRT__.
91413 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91414             Bruno Haible  <bruno@clisp.org>
91416         * lib/glob.c: Don't include <pwd.h> on native Windows.
91417         (WINDOWS32): New macro.
91418         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
91420 2008-09-13  Bruno Haible  <bruno@clisp.org>
91422         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
91423         (ETIMEDOUT): Remove macro.
91424         (glthread_cond_timedwait_multithreaded): New declaration.
91425         (glthread_cond_timedwait): Use it.
91426         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
91427         (glthread_cond_timedwait_multithreaded): New function.
91429 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91431         * modules/poll-tests: Do not check for io.h.
91432         * tests/test-poll.c: Check for __MSVCRT__ instead.
91434 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91436         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
91437         * modules/poll-tests: Add inet_pton, stdbool, sockets.
91438         * tests/test-poll.c: Use them.  Use _pipe on Windows.
91440 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91442         * modules/poll-tests: New.
91443         * tests/test-poll.c: New.
91445 2008-09-12  Eric Blake  <ebb9@byu.net>
91447         frexp: test for NetBSD failure on -0.0
91448         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
91449         not all, bugs from NetBSD 3.0 have been fixed.
91450         * doc/posix-functions/frexp.texi (frexp): Document bug.
91451         Reported by Thomas Klausner.
91453         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
91454         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
91455         literal -0.0.
91456         Reported by Jonathan C. Patschke <jp@centtech.com>.
91458 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91460         * lib/glthread/cond.h: Use dummy implementation also if
91461         USE_WIN32_THREADS.
91463 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91465         * modules/fnmatch-posix (License): Change to LGPLv2+.
91466         * modules/fnmatch-gnu (License): Likewise.
91468 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91470         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
91472 2008-09-11  Jim Meyering  <meyering@redhat.com>
91474         * users.txt: Add gtk-vnc.
91476 2008-09-08  Simon Josefsson  <simon@josefsson.org>
91478         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
91479         rotate amounts.
91481         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
91482         required for 16-bit and 8-bit rotates.
91483         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
91484         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
91485         UINT8_MAX instead of hard-coded constants.
91486         Suggested by Paul Eggert.
91488 2008-09-07  Bruno Haible  <bruno@clisp.org>
91490         * tests/test-striconveh.c (main): Check behaviour when converting from
91491         UTF-7.
91493         Make striconveh work better with stateful encodings.
91494         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
91495         that iconv does not increment the inptr when returning -1/EINVAL.
91497 2008-09-07  Bruno Haible  <bruno@clisp.org>
91499         * build-aux/config.rpath: Update according to libtool-2.2.6.
91500         * build-aux/config.libpath: Likewise.
91502 2008-09-06  Bruno Haible  <bruno@clisp.org>
91504         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
91505         * lib/freadptr.c (freadptr): Likewise.
91506         * lib/freadseek.c (freadptrinc): Likewise.
91507         Reported by Simon Josefsson.
91509 2008-09-06  Bruno Haible  <bruno@clisp.org>
91511         * modules/freadptr (License): Change to LGPLv2+.
91512         * modules/freadseek (License): Likewise.
91513         Suggested by Eric Blake.
91515         * modules/memchr2 (License): Change to LGPLv2+.
91516         Approved by Eric Blake.
91518 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91519             Bruno Haible  <bruno@clisp.org>
91521         Make gnulib-tool work with native 'sed' on AIX.
91522         * gnulib-tool (sed_noop): New variable.
91523         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
91524         func_add_or_update, func_create_testdir): Use it to initialize sed
91525         script variables.
91526         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
91528 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
91529             Bruno Haible  <bruno@clisp.org>
91531         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
91532         also works after #include directives.
91534 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
91536         getdate.y: reject an out-of-range timezone value
91537         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
91538         the range [-24...+24].  When specified with only one or two digits,
91539         * tests/test-getdate.c: Tests for the fix.
91540         * doc/getdate.texi: Document this change.
91542 2008-09-03  Bruno Haible  <bruno@clisp.org>
91544         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
91546 2008-09-02  Simon Josefsson  <simon@josefsson.org>
91548         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
91549         <bruce.korb@gmail.com> with ideas from Ben Pfaff
91550         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
91551         Blake <ebb9@byu.net>.
91553         * tests/test-bitrotate.c: Add more test vectors.
91555 2008-09-02  Eric Blake  <ebb9@byu.net>
91557         vasnprintf-posix: handle large precision via %.*d
91558         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
91559         when handling it ourselves.
91560         * tests/test-vasnprintf-posix.c (test_function): Add test.
91561         * tests/test-snprintf-posix.h (test_function): Likewise.
91562         * tests/test-sprintf-posix.h (test_function): Likewise.
91563         * tests/test-vasprintf-posix.c (test_function): Likewise.
91564         Reported by Alain Guibert.
91566 2008-09-01  Eric Blake  <ebb9@byu.net>
91568         c-stack: make configure-time check more robust
91569         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
91570         successful sigaction call.
91571         Reported by Tom G. Christensen.
91573 2008-09-01  Bruno Haible  <bruno@clisp.org>
91575         New module 'findprog-lgpl'.
91576         * modules/findprog-lgpl: New file.
91577         * lib/findprog-lgpl.c: New file.
91578         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
91579         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
91580         to decide whether to use strdup or xstrdup, concatenated_filename or
91581         xconcatenated_filename.
91583 2008-09-01  Bruno Haible  <bruno@clisp.org>
91585         Split module 'concat-filename' into 'concat-filename' (LGPL) and
91586         'xconcat-filename' (GPL).
91587         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
91588         (License): Change to LGPLv2+.
91589         * modules/xconcat-filename: New file.
91590         * lib/concat-filename.h (concatenated_filename): Change specification.
91591         (xconcatenated_filename): New declaration.
91592         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
91593         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
91594         memory situations.
91595         * lib/xconcat-filename.c: New file.
91596         * NEWS: Mention the change.
91597         * lib/findprog.c: Include concat-filename.h, not filename.h.
91598         (find_in_path): Use xconcatenated_filename instead of
91599         concatenated_filename.
91600         * lib/javacomp.c: Include concat-filename.h, not filename.h.
91601         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
91602         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
91603         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
91604         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
91605         instead of concatenated_filename.
91606         * lib/javaexec.c: Include concat-filename.h, not filename.h.
91607         (execute_java_class): Use xconcatenated_filename instead of
91608         concatenated_filename.
91609         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
91610         * modules/javacomp (Depends-on): Likewise.
91611         * modules/javaexec (Depends-on): Likewise.
91613 2008-09-01  Bruno Haible  <bruno@clisp.org>
91615         Split module 'filename' into 'filename' and 'concat-filename'.
91616         * modules/filename: Keep only lib/filename.h.
91617         (License): Change to LGPLv2+.
91618         * modules/concat-filename: New file, extracted from modules/filename.
91619         * lib/filename.h (concatenated_filename): Remove declaration.
91620         * lib/concat-filename.h: New file, extracted from lib/filename.h.
91621         * lib/concat-filename.c: Include concat-filename.h.
91622         * NEWS: Mention the change.
91624 2008-09-01  Simon Josefsson  <simon@josefsson.org>
91626         * lib/bitrotate.h (rotl8, rotr8): Add.
91628         * modules/bitrotate (configure.ac): Need
91629         AC_REQUIRE([AC_C_INLINE]).
91630         (Description): Mention stdint.h.  Reported by Bruno Haible
91631         <bruno@clisp.org>.
91633         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
91634         Paolo Bonzini <bonzini@gnu.org>.
91636 2008-08-31  Bruno Haible  <bruno@clisp.org>
91638         Assume Solaris specific bi-arch conventions on Solaris systems.
91639         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
91640         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
91641         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
91642         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
91643         like acl_libdirstem.
91644         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
91645         acl_libdirstem.
91646         * NEWS: Mention the change.
91647         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
91649 2008-08-31  Jim Meyering  <meyering@redhat.com>
91651         * lib/strftime.h: Add comments describing the two added arguments.
91653         remove duplicate #include directives
91654         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
91655         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
91657 2008-08-31  Bruno Haible  <bruno@clisp.org>
91659         New module 'sigpipe-die'.
91660         * modules/sigpipe-die: New file.
91661         * lib/sigpipe-die.h: New file.
91662         * lib/sigpipe-die.c: New file.
91663         * MODULES.html.sh (Signal handling): Add sigpipe-die.
91665 2008-08-31  Bruno Haible  <bruno@clisp.org>
91667         Don't override previously installed signal handlers.
91668         * lib/fatal-signal.c (saved_sigactions): New variable.
91669         (uninstall_handlers): Reset the signal to the saved handler, not
91670         to SIG_DFL (except when ignored).
91671         (install_handlers): Save the previous handlers.
91673 2008-08-30  Bruno Haible  <bruno@clisp.org>
91675         * gnulib-tool (func_reset_sigpipe): New function.
91676         (func_get_automake_snippet, func_modules_transitive_closure,
91677         func_import): Invoke it before a join command that reads from stdin,
91678         to avoid "echo: write error: Broken pipe" error messages on stderr.
91679         Reported by Sam Steingold <sds@gnu.org>.
91681 2008-08-30  Bruno Haible  <bruno@clisp.org>
91683         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
91684         Code copied from m4/open.m4.
91685         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
91686         access and the filename ends in a slash. Code copied from lib/open.c.
91687         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
91688         * tests/test-fopen.c (main): Check against bug with trailing slash.
91690 2008-08-29  Bruno Haible  <bruno@clisp.org>
91692         Avoid some "gcc -pedantic" warnings.
91693         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
91694         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
91695         * lib/dirent.in.h: Likewise.
91696         * lib/fcntl.in.h: Likewise.
91697         * lib/float.in.h: Likewise.
91698         * lib/iconv.in.h: Likewise.
91699         * lib/inttypes.in.h: Likewise.
91700         * lib/locale.in.h: Likewise.
91701         * lib/math.in.h: Likewise.
91702         * lib/netinet_in.in.h: Likewise.
91703         * lib/search.in.h: Likewise.
91704         * lib/signal.in.h: Likewise.
91705         * lib/stdarg.in.h: Likewise.
91706         * lib/stdint.in.h: Likewise.
91707         * lib/stdio.in.h: Likewise.
91708         * lib/stdlib.in.h: Likewise.
91709         * lib/string.in.h: Likewise.
91710         * lib/strings.in.h: Likewise.
91711         * lib/sys_select.in.h: Likewise.
91712         * lib/sys_socket.in.h: Likewise.
91713         * lib/sys_stat.in.h: Likewise.
91714         * lib/sys_time.in.h: Likewise.
91715         * lib/sysexits.in.h: Likewise.
91716         * lib/time.in.h: Likewise.
91717         * lib/unistd.in.h: Likewise.
91718         * lib/wchar.in.h: Likewise.
91719         * lib/wctype.in.h: Likewise.
91720         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
91721         * modules/fchdir (Makefile.am): Likewise.
91722         * modules/fcntl (Makefile.am): Likewise.
91723         * modules/float (Makefile.am): Likewise.
91724         * modules/iconv_open (Makefile.am): Likewise.
91725         * modules/inttypes (Makefile.am): Likewise.
91726         * modules/locale (Makefile.am): Likewise.
91727         * modules/math (Makefile.am): Likewise.
91728         * modules/netinet_in (Makefile.am): Likewise.
91729         * modules/search (Makefile.am): Likewise.
91730         * modules/signal (Makefile.am): Likewise.
91731         * modules/stdarg (Makefile.am): Likewise.
91732         * modules/stdint (Makefile.am): Likewise.
91733         * modules/stdio (Makefile.am): Likewise.
91734         * modules/stdlib (Makefile.am): Likewise.
91735         * modules/string (Makefile.am): Likewise.
91736         * modules/strings (Makefile.am): Likewise.
91737         * modules/sys_select (Makefile.am): Likewise.
91738         * modules/sys_socket (Makefile.am): Likewise.
91739         * modules/sys_stat (Makefile.am): Likewise.
91740         * modules/sys_time (Makefile.am): Likewise.
91741         * modules/sysexits (Makefile.am): Likewise.
91742         * modules/time (Makefile.am): Likewise.
91743         * modules/unistd (Makefile.am): Likewise.
91744         * modules/wchar (Makefile.am): Likewise.
91745         * modules/wctype (Makefile.am): Likewise.
91746         Reported by Reuben Thomas <rrt@sc3d.org>.
91748 2008-08-29  Bruno Haible  <bruno@clisp.org>
91750         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
91751         any more.
91753 2008-08-29  Simon Josefsson  <simon@josefsson.org>
91755         * MODULES.html.sh (Misc): Add bitrotate.
91757         * modules/bitrotate: New file.
91759         * lib/bitrotate.h: New file.
91761         * modules/bitrotate-tests: New file.
91763         * tests/test-bitrotate.c: New file.
91765         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
91766         on the bitrotate module.
91768         * lib/arctwo.c: Use new bitrotate module.
91770 2008-08-29  Jim Meyering  <meyering@redhat.com>
91772         bootstrap: merge changes from coreutils
91773         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
91774         of copied files.  Remove a kludge, now that this is fixed.
91775         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
91776         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
91777         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
91779 2008-08-29  Bruno Haible  <bruno@clisp.org>
91781         * MODULES.html.sh: Remove --cvs-urls option.
91783 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
91785         maint.mk: adjust to file name change
91786         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
91788 2008-08-28  Jim Meyering  <meyering@redhat.com>
91790         * modules/getndelim2 (License): Relicense to LGPLv2+.
91791         Approved by Richard Stallman for the version of 1995, and by
91792         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
91794 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
91796         * lib/getdelim.c (flockfile, funlockfile): Make all of them
91797         dummy if one is not available.  Do not touch them if
91798         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
91799         (getc_maybe_unlocked): New.
91800         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
91802 2008-08-26  Eric Blake  <ebb9@byu.net>
91804         doc/INSTALL: resync from autoconf
91805         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
91806         (INSTALL_PRELUDE): Delete; this is done more efficiently by
91807         moving...
91808         * install.texi [!autoconf]: ...here.  Resync from autoconf.
91809         * INSTALL: Regenerate.
91810         * INSTALL.ISO: New file.
91811         * INSTALL.UTF-8: Likewise.
91813 2008-08-26  Jim Meyering  <meyering@redhat.com>
91815         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
91816         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
91817         these definitions conditional, so that they may be overridden, too.
91819 2008-08-26  Bruno Haible  <bruno@clisp.org>
91821         Generate INSTALL file variants with prettier quotes.
91822         * doc/Makefile (INSTALL_PRELUDE): New macro.
91823         (INSTALL): Use it.
91824         (INSTALL.ISO, INSTALL.UTF-8): New rules.
91826 2008-08-26  Bruno Haible  <bruno@clisp.org>
91828         Run makeinfo in an English locale.
91829         * doc/Makefile (MAKEINFO): New variable.
91831 2008-08-26  Bruno Haible  <bruno@clisp.org>
91833         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
91834         Suggested by Eric Blake.
91836 2008-08-25  Bruno Haible  <bruno@clisp.org>
91838         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
91840 2008-08-25  Eric Blake  <ebb9@byu.net>
91842         c-stack: test that stack overflow can be caught
91843         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
91844         that platform allows handling stack overflow; at least OS/2 EMX
91845         has sigaltstack, but crashes before transferring control to
91846         handler on stack overflow.
91847         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
91848         check for HAVE_STACK_OVERFLOW_HANDLING.
91849         Reported by Elbert Pol.
91851 2008-08-25  Bruno Haible  <bruno@clisp.org>
91853         * doc/posix-functions/strftime.texi: Fix description of strftime
91854         module.
91856 2008-08-24  Bruno Haible  <bruno@clisp.org>
91858         * tests/uniwidth/test-uc_width2.c: New file.
91859         * tests/uniwidth/test-uc_width2.sh: New file.
91860         * modules/uniwidth/width-tests (Files): Add the new files.
91861         (TESTS): Add uniwidth/test-uc_width2.sh.
91862         (TESTS_ENVIRONMENT): New variable.
91863         (check_PROGRAMS): Add test-uc_width2.
91864         (test_uc_width2_SOURCES): New variable.
91866         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
91867         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
91868         not 0x00AB.
91869         Reported by Alexander V. Lukyanov <lav@netis.ru>.
91871 2008-08-22  Eric Blake  <ebb9@byu.net>
91873         test-lock, test-tls: mention why a test is skipped
91874         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
91875         skipped.
91876         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
91878         count-one-bits: relax license
91879         * modules/count-one-bits (License): Relicense to LGPLv2+.
91880         Suggested by Ludovic Courtès, approved by Ben Pfaff.
91882 2008-08-22  Andreas Schwab  <schwab@suse.de>
91884         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
91885         Remove spurious space in assignment.
91887 2008-08-21  Simon Josefsson  <simon@josefsson.org>
91889         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
91890         Paul Eggert <eggert@CS.UCLA.EDU>.
91892 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
91894         * modules/gettext: Add m4/threadlib.m4.
91896 2008-08-19  Eric Blake  <ebb9@byu.net>
91898         test-c-stack: fix compilation failure on FreeBSD 5.0
91899         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
91900         headers before <sys/resource.h>.
91901         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
91902         the bug.
91903         Reported by Nelson H. F. Beebe.
91905         strverscmp: migrate from "strverscmp.h" to <string.h>
91906         * modules/string (Makefile.am): Add new hooks.
91907         * modules/strverscmp (Files): Remove strverscmp.h.
91908         (Depends-on): Add string.
91909         (configure.ac): Add indicator.
91910         (Include): Mention new header.
91911         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
91912         defaults.
91913         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
91914         results.
91915         * lib/strverscmp.h: Delete.
91916         * lib/string.in.h (strverscmp): Provide declaration, when needed.
91917         * tests/test-strverscmp.c (includes): Adjust client.
91918         * lib/check-version.c (includes): Likewise.
91919         * NEWS: Document the change.
91921         strverscmp: add unit test
91922         * modules/strverscmp-tests: New file.
91923         * tests/test-strverscmp.c: Likewise.
91925 2008-08-19  Simon Josefsson  <simon@josefsson.org>
91927         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
91928         regarding Windows crypto stuff, from Mono.
91930 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
91932         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
91933         if present, for intel RND.  Return error on failures.
91935 2008-08-18  Ben Pfaff  <blp@gnu.org>
91937         gitlog-to-changelog: give better diagnostic for failed pipe-open
91938         * build-aux/gitlog-to-changelog: Improve error message: suggest
91939         that the version of Git may be too old.
91941 2008-08-18  Simon Josefsson  <simon@josefsson.org>
91943         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
91944         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
91946 2008-08-18  Bruno Haible  <bruno@clisp.org>
91948         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
91949         pthread_in_use().
91951 2008-08-18  Bruno Haible  <bruno@clisp.org>
91953         * lib/glthread/threadlib.c: Include <pthread.h>.
91955 2008-08-18  Bruno Haible  <bruno@clisp.org>
91957         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
91958         glthread_recursive_lock_* macros.
91959         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
91960         Fix syntax error.
91962 2008-08-18  Bruno Haible  <bruno@clisp.org>
91964         * lib/glthread/thread.c: Avoid forcing a context switch right after
91965         thread creation.
91967 2008-08-17  Bruno Haible  <bruno@clisp.org>
91969         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
91970         * lib/glthread/thread.h: Provide Win32 specific implementation.
91971         * modules/thread (Files): Add lib/glthread/thread.c.
91972         (Depends-on): Add lock.
91973         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
91975 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91977         New module 'yield'.
91978         * modules/yield: New file.
91979         * lib/glthread/yield.h: New file.
91980         * m4/yield.m4: New file.
91981         * MODULES.html.sh (Multithreading): Add yield.
91983 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91985         New module 'thread'.
91986         * modules/thread: New file.
91987         * lib/glthread/thread.h: New file.
91988         * m4/thread.m4: New file.
91989         * MODULES.html.sh (Multithreading): Add thread.
91991 2008-08-17  Bruno Haible  <bruno@clisp.org>
91993         * lib/glthread/lock.h: Include <stdlib.h> always.
91994         * lib/glthread/tls.h: Likewise.
91995         * lib/glthread/cond.h: Likewise.
91997 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91999         New module 'cond'.
92000         * modules/cond: New file.
92001         * lib/glthread/cond.h: New file.
92002         * lib/glthread/cond.c: New file.
92003         * m4/cond.m4: New file.
92004         * MODULES.html.sh (Multithreading): Add cond.
92006 2008-08-16  Eric Blake  <ebb9@byu.net>
92008         c-stack: fix regression on Irix 5.3 from 2008-06-21
92009         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
92010         sa_sigaction...
92011         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
92012         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
92013         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
92014         * modules/signal (Makefile.am): Use the value.
92015         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
92016         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
92017         * doc/posix-headers/signal.texi (signal.h): Document this
92018         portability issue.
92019         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
92020         Reported by Tom G. Christensen.
92022 2008-08-17  Bruno Haible  <bruno@clisp.org>
92024         New module 'threadlib'.
92025         * modules/threadlib: New file.
92026         * lib/glthread/threadlib.c: New file, extracted from
92027         lib/glthread/lock.c.
92028         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
92029         functions.
92030         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
92031         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
92032         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
92033         macros.
92034         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
92035         (gl_DISABLE_THREADS): Remove macro.
92036         * modules/lock (Files): Remove build-aux/config.rpath.
92037         (Depends-on): Remove havelib. Add threadlib.
92038         (configure.ac-early): Remove section.
92039         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
92040         * modules/tls (Depends-on): Remove lock. Add threadlib.
92041         (Link): New section, copied from threadlib.
92042         * MODULES.html.sh (Multithreading): Add threadlib.
92044 2008-08-14  Bruno Haible  <bruno@clisp.org>
92046         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
92047         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
92048         glthread_rwlock_unlock, glthread_rwlock_destroy,
92049         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
92050         glthread_recursive_lock_destroy): Define as macros always.
92051         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
92052         glthread_lock_lock.
92053         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
92054         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
92055         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
92056         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
92057         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
92058         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
92059         (glthread_recursive_lock_lock_func): Renamed from
92060         glthread_recursive_lock_lock.
92061         (glthread_recursive_lock_unlock_func): Renamed from
92062         glthread_recursive_lock_unlock.
92063         (glthread_recursive_lock_destroy_func): Renamed from
92064         glthread_recursive_lock_destroy.
92066 2008-08-14  Bruno Haible  <bruno@clisp.org>
92068         * lib/glthread/lock.h: Renamed from lib/lock.h.
92069         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
92070         * lib/glthread/tls.h: Renamed from lib/tls.h.
92071         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
92072         * lib/fstrcmp.c: Update includes.
92073         * lib/strsignal.c: Update includes.
92074         * modules/lock (Files, Makefile.am): Update.
92075         (Include): Change to "glthread/lock.h".
92076         * modules/tls (Files, Makefile.am): Update.
92077         (Include): Change to "glthread/tls.h".
92078         * tests/test-lock.c: Update includes.
92079         * tests/test-tls.c: Update includes.
92080         * NEWS: Mention the renamed header files.
92082 2008-08-11  Jim Meyering  <meyering@redhat.com>
92084         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
92086 2008-08-11  Eric Blake  <ebb9@byu.net>
92088         test-c-stack: avoid C99-ism
92089         * tests/test-c-stack.c (main): Fix whitespace, move declaration
92090         before statement.
92091         Reported by Alain Guibert.
92093 2008-08-10  Jim Meyering  <meyering@redhat.com>
92095         ensure that return value of uinttostr et al are not ignored
92096         * lib/inttostr.h (__GNUC_PREREQ): Define.
92097         (__attribute_warn_unused_result__): Define.
92098         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
92100 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
92102         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
92103         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
92105 2008-08-07  Jim Meyering  <meyering@redhat.com>
92107         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
92109         * modules/mkstemp (License): Relicense under LGPLv2+.
92110         * modules/tempname (License): Likewise.
92112 2008-08-06  Bruno Haible  <bruno@clisp.org>
92114         * lib/poll.c (poll): Further micro-optimization.
92116 2008-08-06  Jim Meyering  <meyering@redhat.com>
92118         inet_pton.c: use locale-independent tolower
92119         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
92120         (inet_pton6): Use c_tolower rather than tolower.
92121         * modules/inet_pton (Depends-on): Add c-ctype.
92123 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
92125         * lib/poll.c (poll): Avoid division when timeout is 0, cache
92126         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
92128 2008-08-06  Jim Meyering  <meyering@redhat.com>
92130         * modules/inet_pton (License): Relicense under LGPLv2+.
92132 2008-08-03  Bruno Haible  <bruno@clisp.org>
92134         Additional non-aborting API for lock and tls.
92135         * lib/lock.h: Include <errno.h>.
92136         (glthread_lock_init): New macro/function.
92137         (gl_lock_init): Define as wrapper around glthread_lock_init.
92138         (glthread_lock_lock): New macro/function.
92139         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
92140         (glthread_lock_unlock): New macro/function.
92141         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
92142         (glthread_lock_destroy): New macro/function.
92143         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
92144         (glthread_rwlock_init): New macro/function.
92145         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
92146         (glthread_rwlock_rdlock): New macro/function.
92147         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
92148         (glthread_rwlock_wrlock): New macro/function.
92149         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
92150         (glthread_rwlock_unlock): New macro/function.
92151         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
92152         (glthread_rwlock_destroy): New macro/function.
92153         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
92154         (glthread_recursive_lock_init): New macro/function.
92155         (gl_recursive_lock_init): Define as wrapper around
92156         glthread_recursive_lock_init.
92157         (glthread_recursive_lock_lock): New macro/function.
92158         (gl_recursive_lock_lock): Define as wrapper around
92159         glthread_recursive_lock_lock.
92160         (glthread_recursive_lock_unlock): New macro/function.
92161         (gl_recursive_lock_unlock): Define as wrapper around
92162         glthread_recursive_lock_unlock.
92163         (glthread_recursive_lock_destroy): New macro/function.
92164         (gl_recursive_lock_destroy): Define as wrapper around
92165         glthread_recursive_lock_destroy.
92166         (glthread_once): New macro/function.
92167         (gl_once): Define as wrapper around glthread_once.
92168         Update function declarations.
92169         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
92170         glthread_rwlock_init. Return error code.
92171         (glthread_rwlock_rdlock_multithreaded): Renamed from
92172         glthread_rwlock_rdlock. Return error code.
92173         (glthread_rwlock_wrlock_multithreaded): Renamed from
92174         glthread_rwlock_wrlock. Return error code.
92175         (glthread_rwlock_unlock_multithreaded): Renamed from
92176         glthread_rwlock_unlock. Return error code.
92177         (glthread_rwlock_destroy_multithreaded): Renamed from
92178         glthread_rwlock_destroy. Return error code.
92179         (glthread_recursive_lock_init_multithreaded): Renamed from
92180         glthread_recursive_lock_init. Return error code.
92181         (glthread_recursive_lock_lock_multithreaded): Renamed from
92182         glthread_recursive_lock_lock. Return error code.
92183         (glthread_recursive_lock_unlock_multithreaded): Renamed from
92184         glthread_recursive_lock_unlock. Return error code.
92185         (glthread_recursive_lock_destroy_multithreaded): Renamed from
92186         glthread_recursive_lock_destroy. Return error code.
92187         (glthread_once_call): Make static.
92188         (glthread_once_multithreaded): Renamed from glthread_once.
92189         * lib/tls.h: Include <errno.h>.
92190         (glthread_tls_key_init): New macro/function.
92191         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
92192         (glthread_tls_set): New macro/function.
92193         (gl_tls_set): Define as wrapper around glthread_tls_set.
92194         (glthread_tls_key_destroy): New macro/function.
92195         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
92196         Update function declarations.
92197         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
92198         glthread_tls_get.
92199         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
92201 2008-08-04  Eric Blake  <ebb9@byu.net>
92203         gnumakefile: use space, not TAB, outside of targets
92204         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
92206 2008-08-02  Jim Meyering  <meyering@redhat.com>
92208         getdate.y: avoid locale-dependent date parsing failure
92209         In Turkish locales, getdate would fail to recognize keywords
92210         containing a lowercase "i".  The solution is not to rely on
92211         locale-sensitive case-conversion.
92212         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
92213         (lookup_word): Use c_toupper in place of toupper.
92214         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
92215         Reported by Vefa Bicakci <bicave@superonline.com> in
92216         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
92217         * modules/getdate (Depends-on): Add c-ctype.
92219 2008-08-02  Bruno Haible  <bruno@clisp.org>
92221         * gnulib-tool (func_import): When updating or creating a .gitignore
92222         file, prepend each added line with a slash, and ignore leading slashes
92223         from the existing lines.
92224         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
92226 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92228         Portability fix for GNU make 3.79.1.
92229         * top/GNUmakefile: Avoid 'else COND', which older GNU make
92230         versions do not understand.
92232 2008-08-01  Bruno Haible  <bruno@clisp.org>
92234         Work around bug of HP-UX 10.20 cc with -0.0 literal.
92235         * tests/test-isnanf.h (zero): New variable.
92236         (main): Avoid literal -0.0f.
92237         * tests/test-isnand.h (zero): New variable.
92238         (main): Avoid literal -0.0.
92239         * tests/test-isnanl.h (zero): New variable.
92240         (main): Avoid literal -0.0L.
92241         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
92242         (test_float, test_double, test_long_double): Avoid literals -0.0f,
92243         -0.0, -0.0L.
92244         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
92245         (test_signbitd): Avoid literal -0.0.
92246         (test_signbitl): Avoid literal -0.0L.
92247         * tests/test-ceilf1.c (zero): New variable.
92248         (main): Avoid literal -0.0f.
92249         * tests/test-ceill.c (zero): New variable.
92250         (main): Avoid literal -0.0L.
92251         * tests/test-floorf1.c (zero): New variable.
92252         (main): Avoid literal -0.0f.
92253         * tests/test-floorl.c (zero): New variable.
92254         (main): Avoid literal -0.0L.
92255         * tests/test-roundf1.c (zero): New variable.
92256         (main): Avoid literal -0.0f.
92257         * tests/test-round1.c (zero): New variable.
92258         (main): Avoid literal -0.0.
92259         * tests/test-roundl.c (zero): New variable.
92260         (main): Avoid literal -0.0L.
92261         * tests/test-truncf1.c (zero): New variable.
92262         (main): Avoid literal -0.0f.
92263         * tests/test-trunc1.c (zero): New variable.
92264         (main): Avoid literal -0.0.
92265         * tests/test-truncl.c (zero): New variable.
92266         (main): Avoid literal -0.0L.
92267         * tests/test-frexp.c (zero): New variable.
92268         (main): Avoid literal -0.0.
92269         * tests/test-frexpl.c (zero): New variable.
92270         (main): Avoid literal -0.0L.
92271         * tests/test-ldexpl.c (zero): New variable.
92272         (main): Avoid literal -0.0L.
92273         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92274         (zerod, zerol): New variables.
92275         (test_function): Avoid literals -0.0, -0.0L.
92276         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92277         (zerod, zerol): New variables.
92278         (test_function): Avoid literals -0.0, -0.0L.
92279         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92280         (zerod, zerol): New variables.
92281         (test_function): Avoid literals -0.0, -0.0L.
92282         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92283         (zerod, zerol): New variables.
92284         (test_function): Avoid literals -0.0, -0.0L.
92285         * tests/test-strtod.c (zero): New variable.
92286         (main): Avoid literal -0.0.
92287         Reported by Jonathan C. Patschke <jp@centtech.com>.
92289 2008-07-31  Jim Meyering  <meyering@redhat.com>
92291         sha256.h: correct definition of SHA224_DIGEST_SIZE
92292         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
92293         Reported by Paulie Pena IV <paulie4@gmail.com>.
92294         Define as 224 / 8, rather than as a literal.
92295         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
92296         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
92297         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
92299 2008-07-31  Bruno Haible  <bruno@clisp.org>
92301         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
92302         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
92303         Reported by Jonathan Patschke <jp@centtech.com>.
92305 2008-07-31  Bruno Haible  <bruno@clisp.org>
92307         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
92308         Reported by Paolo Bonzini <bonzini@gnu.org>.
92310 2008-07-30  Eric Blake  <ebb9@byu.net>
92312         test-strtod: allow compilation without -lm
92313         * tests/test-strtod.c (main): Avoid link dependence on fabs.
92314         Reported by Dennis Clarke <blastwave@gmail.com>.
92316 2008-07-28  Jim Meyering  <meyering@redhat.com>
92318         bootstrap: work also when there are no .po files in po/
92319         * build-aux/bootstrap (update_po_files): Complete the change
92320         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
92322 2008-07-27  Jim Meyering  <meyering@redhat.com>
92324         * users.txt: Add zile.
92326 2008-07-26  Ben Pfaff  <blp@gnu.org>
92328         Add missing dependencies on new m4/exponent[fdl].m4 files.
92329         * modules/isnanf-nolibm: Add m4/exponentf.m4.
92330         * modules/isnand-nolibm: Add m4/exponentd.m4.
92331         * modules/isnanl-nolibm: Add m4/exponentl.m4.
92332         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
92333         m4/isnan[fdl].m4, because the macros actually used moved.
92334         Reported by Jim Meyering.
92336 2008-07-14  Ben Pfaff  <blp@gnu.org>
92338         Add isinf module.
92339         * lib/isinf.c: New file.
92340         * lib/math.in.h: Define isinf macro if we have decided to replace
92341         it.
92342         * m4/isinf.m4: New file.
92343         * m4/math_h.m4: Initialize and substitute variables for isinf
92344         module.
92345         * modules/isinf: New file.
92346         * modules/isinf-tests: New file.
92347         * modules/math: Add substitutions for new module.
92348         * tests/test-isinf.c: New file.
92349         * doc/posix-functions/isinf.texi: Mention new module.
92350         * MODULES.html.sh: Mention new module.
92352 2008-07-14  Ben Pfaff  <blp@gnu.org>
92354         Factor out some macros for use by additional modules.
92355         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
92356         exponentf.m4.
92357         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
92358         exponentd.m4.
92359         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
92360         file exponentl.m4.
92361         * m4/exponentf.m4: New file.
92362         * m4/exponentd.m4: New file.
92363         * m4/exponentl.m4: New file.
92364         * modules/isnanf: Use new file m4/exponentf.m4.
92365         * modules/isnand: Use new file m4/exponentd.m4.
92366         * modules/isnanl: Use new file m4/exponentl.m4.
92368 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
92370         mktime.c: normalize tp->tm_isdst value to -1/0/1.
92371         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
92372         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
92373         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
92375         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
92376         readlink on platforms without PATH_MAX.
92378 2008-07-21  Eric Blake  <ebb9@byu.net>
92380         Warn, not fail, on stale version.
92381         * top/GNUmakefile (_curr-ver): Tone down previous patch.
92383         Don't allow installation with stale devel version number.
92384         * top/GNUmakefile (_is-install-target): New macro.
92385         (_curr-ver): Forbid installation with stale version number.
92387 2008-07-20  Bruno Haible  <bruno@clisp.org>
92389         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
92390         TESTS_ENVIRONMENT.
92391         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
92393 2008-07-20  Bruno Haible  <bruno@clisp.org>
92395         * lib/c-stack.h (c_stack_action): Add documentation.
92396         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
92398 2008-07-20  Bruno Haible  <bruno@clisp.org>
92400         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
92401         * modules/readlink (License): Likewise.
92403 2008-07-17  Eric Blake  <ebb9@byu.net>
92405         * modules/c-stack (Link): Fix typo.
92407         Make c-stack use libsigsegv, when available.
92408         * modules/c-stack (Depends-on): Add libsigsegv.
92409         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
92410         needed.
92411         * lib/c-stack.c (SIGSTKSZ): Define fallback.
92412         (segv_handler, overflow_handler, c_stack_action)
92413         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
92414         implementation when libsigsegv is available, but only when using
92415         the library is necessary.
92416         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
92417         comment, explaining why XSI check fails on Linux.
92418         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
92419         * tests/test-c-stack2.sh: Tweak skip message.
92420         * NEWS: Document new link-time requirements.
92422 2008-07-16  Eric Blake  <ebb9@byu.net>
92424         c-stack: Expose false positives when not using libsigsegv.
92425         * modules/c-stack-tests (Files): Expand test.
92426         * tests/test-c-stack.c (main): Add means to conditionally trigger
92427         non-overflow SIGSEGV.
92428         * tests/test-c-stack2.sh: New file.
92430 2008-07-14  Bruno Haible  <bruno@clisp.org>
92432         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
92433         Reported by Eric Blake.
92435 2008-07-14  Sam Steingold  <sds@gnu.org>
92436             Bruno Haible  <bruno@clisp.org>
92438         New module libsigsegv.
92439         * modules/libsigsegv: New file.
92440         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
92441         modifications.
92442         * MODULES.html.sh (Signal handling): New section.
92444 2008-07-14  Bruno Haible  <bruno@clisp.org>
92446         * modules/unictype/ctype-* (Description): Add the word "function".
92447         Improves the resulting doc in MODULES.html.
92449 2008-07-12  Ben Pfaff  <blp@gnu.org>
92451         Add longlong module.
92452         * modules/longlong: New file.
92454 2008-07-12  Bruno Haible  <bruno@clisp.org>
92456         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
92457         to empty.
92459 2008-07-10  Ben Pfaff  <blp@gnu.org>
92461         Add isnan module.
92462         * doc/posix-functions/isnan.texi: Mention new module.
92463         * lib/math.in.h: Define isnan macro if we have decided to replace
92464         it.
92465         * m4/isnan.m4: New file.
92466         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
92467         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
92468         also.
92469         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
92470         redundancy.
92471         * m4/math_h.m4: Initialize and substitute variables for isnan
92472         module.
92473         * modules/isnan: New file.
92474         * modules/isnan-tests: New file.
92475         * modules/math: Add substitutions for new module.
92476         * tests/test-isnan.c: New file.
92477         * MODULES.html.sh: Mention new module.
92479 2008-07-10  Ben Pfaff  <blp@gnu.org>
92481         Add isnanf module.
92482         * lib/isnanf.m4: New file.
92483         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
92484         (gl_HAVE_ISNANF_IN_LIBM): New macro.
92485         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
92486         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
92487         * modules/isnanf: New file.
92488         * modules/isnanf-tests: New file.
92489         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
92490         files.
92491         * tests/test-isnanf-nolibm.c: factored most of its contents into
92492         new file tests/test-isnanf.h.
92493         * tests/test-isnanf.h: New file.
92494         * tests/test-isnanf.c: New file.
92495         * MODULES.html.sh: Mention new module.
92496         * doc/glibc-functions/isnanf.texi: Mention new module.
92498 2008-07-10  Ben Pfaff  <blp@gnu.org>
92500         Add isnand module.
92501         * lib/isnand.h: New file.
92502         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
92503         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
92504         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
92505         functionality also.
92506         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
92507         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
92508         (gl_HAVE_ISNAND_IN_LIBM): New macro.
92509         * modules/isnand: New file.
92510         * modules/isnand-tests: New file.
92511         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
92512         files.
92513         * tests/test-isnand-nolibm.c: factored most of its contents into
92514         new file tests/test-isnand.h.
92515         * tests/test-isnand.h: New file.
92516         * tests/test-isnand.c: New file.
92517         * MODULES.html.sh: Mention new module.
92519 2008-07-10  Ben Pfaff  <blp@gnu.org>
92521         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
92522         * lib/isnand.h: Rename lib/isnand-nolibm.h.
92523         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
92524         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
92525         * modules/isnanf-nolibm: Update references to renamed files.
92526         * modules/isnand-nolibm: Likewise.
92527         * modules/isnanf-nolibm-tests: Likewise.
92528         * modules/isnand-nolibm-tests: Likewise.
92529         * lib/frexp.c: Likewise.
92530         * lib/isfinite.c: Likewise.
92531         * lib/signbitd.c: Likewise.
92532         * lib/signbitf.c: Likewise.
92533         * lib/vasnprintf.c: Likewise.
92534         * tests/test-ceilf1.c: Likewise.
92535         * tests/test-ceilf2.c: Likewise.
92536         * tests/test-floorf1.c: Likewise.
92537         * tests/test-floorf2.c: Likewise.
92538         * tests/test-frexp.c: Likewise.
92539         * tests/test-round1.c: Likewise.
92540         * tests/test-round2.c: Likewise.
92541         * tests/test-roundf1.c: Likewise.
92542         * tests/test-strtod.c: Likewise.
92543         * tests/test-trunc1.c: Likewise.
92544         * tests/test-trunc2.c: Likewise.
92545         * tests/test-truncf1.c: Likewise.
92546         * tests/test-truncf2.c: Likewise.
92547         * NEWS: Mention the renamed header files.
92549 2008-07-11  Jim Meyering  <meyering@redhat.com>
92551         vc-list-files: make the last-resort awk code more portable
92552         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
92553         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
92554         does not support it.
92556 2008-07-10  Eric Blake  <ebb9@byu.net>
92558         Work with tar's bootstrap.
92559         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
92560         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
92561         an m4 comment.
92563 2008-07-09  Jim Meyering  <meyering@redhat.com>
92565         posix-shell.m4: fix typo that made this test malfunction
92566         * m4/posix-shell.m4: Remove capitalization in variable name.
92568 2008-07-08  Bruno Haible  <bruno@clisp.org>
92570         * m4/onceonly.m4: Update comments.
92571         Reported by Ben Pfaff <blp@cs.stanford.edu>.
92573 2008-07-04  Jim Meyering  <meyering@redhat.com>
92575         * users.txt: Add vc-dwim.
92576         (bison, coreutils): Use the gitweb URL.
92578 2008-07-03  Jim Meyering  <meyering@redhat.com>
92580         * users.txt: Add libffcall.  From Sam Steingold.
92582 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
92584         getdate.y: do not ignore TZ with relative day, month or year offset
92585         * lib/getdate.y (get_date): Move the tz-handling block to follow the
92586         relative-date-handling, since otherwise, the latter would clobber the
92587         sole output (an updated Start value) of the tz-handling block.
92588         * tests/test-getdate.c: Tests for the fix
92590 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92592         Recognize 'foo_LIBRARIES += libgnu.a'.
92593         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
92594         makefile snippet has already specified an installation location,
92595         also using '+='.
92597 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
92599         getdate.y: factor out common actions
92600         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
92601         Use them in place of open-coded actions.
92603 2008-07-01  Simon Josefsson  <simon@josefsson.org>
92605         Add self-test for getdate module.
92606         * modules/getdate-tests: New file.
92607         * tests/test-getdate.c: New file.
92609 2008-06-29  Bruno Haible  <bruno@clisp.org>
92611         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
92612         .gitignore.
92613         Reported by Sylvain Beucler <beuc@beuc.net>.
92615 2008-06-29  Bruno Haible  <bruno@clisp.org>
92617         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
92618         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
92620 2008-06-29  Bruno Haible  <bruno@clisp.org>
92622         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
92623         EXTRA_DIST.
92624         Reported by Sylvain Beucler <beuc@beuc.net>.
92626 2008-06-26  Jim Meyering  <meyering@redhat.com>
92628         make several modules depend on the "open" module
92629         This provides slightly increased consistency when opening-for-write
92630         the name of a non-directory spelled with a trailing slash.
92631         * modules/chdir-safer: Likewise.
92632         * modules/chown: Likewise.
92633         * modules/clean-temp: Likewise.
92634         * modules/copy-file: Likewise.
92635         * modules/fchdir: Likewise.
92636         * modules/fcntl-safer: Likewise.
92637         * modules/pipe: Likewise.
92638         * modules/utime: Likewise.
92639         Prompted by Eric Blake and Bruno Haible.
92641 2008-06-24  Andreas Schwab  <schwab@suse.de>
92643         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
92644         literals can be used as initializers for global variables.
92646 2008-06-23  Eric Blake  <ebb9@byu.net>
92648         Make gnulib-cache.m4 easier to diff.
92649         * gnulib-tool (func_import): Allow newlines when reading cached
92650         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
92652 2008-06-23  Bruno Haible  <bruno@clisp.org>
92654         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
92655         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
92656         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
92657         m4/signalblocking.m4.
92658         (gl_PREREQ_SIGACTION): Don't invoke it.
92659         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
92660         gl_PREREQ_SIG_HANDLER_H.
92661         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
92662         Don't check for sigaction here.
92664 2008-06-23  Bruno Haible  <bruno@clisp.org>
92666         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
92667         (install_handlers): Don't set the SA_RESETHAND flag.
92669 2008-06-23  Bruno Haible  <bruno@clisp.org>
92671         * m4/sigaction.m4: Comment fixes.
92672         * lib/signal.in.h: Likewise.
92674 2008-06-23  Eric Blake  <ebb9@byu.net>
92676         Fix typo.
92677         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
92679         Avoid SA_ namespace.
92680         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
92681         Reported by Ralf Wildenhues.
92683         Avoid test failure due to SA_RESTORER.
92684         * tests/test-sigaction.c (SA_MASK): New macro.
92685         (main): Avoid failing due to extension flags being set.
92686         Reported by Jim Meyering.
92688         Revert use of sig-handler.h in sigprocmask.c.
92689         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
92690         it requires the existence of struct sigaction.
92691         * lib/sigprocmask.c (handler_t): Restore typedef.
92692         (rpl_signal, old_handlers): Use local type.
92694 2008-06-22  Bruno Haible  <bruno@clisp.org>
92696         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
92697         conditionally.
92698         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92700 2008-06-22  Bruno Haible  <bruno@clisp.org>
92702         * doc/posix-functions/siginterrupt.texi: Move note.
92704         * lib/signal.in.h (SA_RESTART): New macro.
92705         * lib/sigaction.c: Update comment.
92707         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
92709         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
92710         (gl_PREREQ_SIGPROCMASK): Invoke it.
92711         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
92713         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
92715         * lib/sigprocmask.c: Update a comment.
92717 2008-06-21  Eric Blake  <ebb9@byu.net>
92719         Use sigaction module rather than signal().
92720         * modules/c-stack (Depends-on): Add sigaction.
92721         * modules/fatal-signal (Depends-on): Likewise.
92722         * modules/nanosleep (Depends-on): Likewise.
92723         * modules/sigprocmask (Files): Add sig-handler.h.
92724         * modules/sigaction (Files): Likewise.
92725         * lib/sig-handler.h (get_handler): New file, suggested by Paul
92726         Eggert.
92727         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
92728         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
92729         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
92730         (init_fatal_signals): Likewise.
92731         * lib/nanosleep.c (rpl_nanosleep): Likewise.
92732         (siginterrupt): Delete fallback.
92733         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
92734         instead.
92735         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
92736         siginterrupt.
92738         New module sigaction, for mingw.
92739         * modules/sigaction: New module...
92740         * modules/sigaction-tests: ...and its test.
92741         * m4/sigaction.m4: New file.
92742         * lib/sigaction.c: Likewise.
92743         * tests/test-sigaction.c: Likewise.
92744         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
92745         * modules/signal (Makefile.am): Likewise.
92746         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
92747         needed.
92748         * doc/posix-headers/signal.texi (signal.h): Mention provided
92749         types.
92750         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
92751         that sigaction is preferable.
92752         * doc/posix-functions/sigaction.texi (sigaction): Mention new
92753         module.
92754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92755         sigaction.
92757         Improve robustness of sigprocmask by overriding signal.
92758         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
92759         is in use.
92760         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
92761         (SIGKILL, SIGSTOP): Provide fallbacks.
92762         (rpl_signal): Implement.
92763         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
92764         signal can be called inside handlers.
92766         Fix nanosleep module on mingw.
92767         * modules/nanosleep (Depends-on): Add sys_select.
92768         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
92770         Fix licensing of sigprocmask.
92771         * modules/raise (License): Relicense as LGPL.
92773 2008-06-21  Bruno Haible  <bruno@clisp.org>
92775         * lib/propername.c (proper_name_utf8): Don't use the transliterated
92776         result if it contains question marks.
92777         Reported by Michael Geng <linux@michaelgeng.de>.
92779 2008-06-19  Bruno Haible  <bruno@clisp.org>
92781         Fix CVS-ism.
92782         * doc/gnulib.texi: Include updated-stamp.texi.
92783         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
92784         (updated-stamp.texi): New rule.
92785         (gnulib.info): Depend on it.
92786         * doc/.gitignore: Add updated-stamp.texi.
92787         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
92789 2008-06-19  Bruno Haible  <bruno@clisp.org>
92791         * doc/Makefile (gnulib.info): Update and simplify dependencies.
92792         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
92794 2008-06-19  Eric Blake  <ebb9@byu.net>
92796         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
92797         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
92798         Reported by Stepan Kasal.
92800 2008-06-18  Bruno Haible  <bruno@clisp.org>
92802         * lib/fatal-signal.c (init_fatal_signals): Add comment.
92803         Reported by Eric Blake.
92805 2008-06-18  Eric Blake  <ebb9@byu.net>
92807         Work around cygwin 1.5.25 strsignal bug.
92808         * tests/test-strsignal.c: Allow for const char *.
92809         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
92811 2008-06-18  Simon Josefsson  <simon@josefsson.org>
92813         * users.txt: Update URL to article and add author/date
92814         information.
92816 2008-06-17  Bruno Haible  <bruno@clisp.org>
92818         New macro gl_DISABLE_THREADS.
92819         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
92820         if the user did not pass --enable-threads or --disable-threads option.
92821         (gl_DISABLE_THREADS): New macro.
92822         Reported by Eric Blake <ebb9@byu.net>.
92824 2008-06-17  Bruno Haible  <bruno@clisp.org>
92826         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
92827         when the macro ignores it.
92828         Based on a patch by Eric Blake <ebb9@byu.net>.
92830 2008-06-17  Bruno Haible  <bruno@clisp.org>
92832         * modules/tls (License): Change to LGPLv2+.
92833         Reported by Eric Blake.
92835 2008-06-17  Eric Blake  <ebb9@byu.net>
92837         Simplify c-stack prerequisites.
92838         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
92839         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
92840         no longer requires <ucontext.h> to exist.  Optimize setrlimit
92841         check.
92842         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
92843         <sys/resource.h>.
92845         Move c-stack test into testsuite.
92846         * modules/c-stack-tests: New file.
92847         * lib/c-stack.c [DEBUG]: Move test program...
92848         * tests/test-c-stack.c: ...into this new file.  Skip rather than
92849         fail test if sigaltstack is lacking.
92850         * tests/test-c-stack.sh: New driver file.
92852 2008-06-16  Eric Blake  <ebb9@byu.net>
92854         Use raise module consistently.
92855         * modules/fatal-signal (Depends-on): Add raise.
92856         * modules/sigprocmask (Depends-on): Likewise.
92857         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
92858         * lib/sigprocmask.c (sigprocmask): Likewise.
92859         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
92860         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
92862         Fix compliance bug in sigpending.
92863         * lib/sigprocmask.c (sigpending): Return pending array via
92864         parameter, not return value.
92866 2008-06-14  Eric Blake  <ebb9@byu.net>
92868         Improve obstack-printf test code.
92869         * tests/test-obstack-printf.c (test_function): Fix comment, and
92870         simplify usage of obstack_* in macros.  Add a test for coverage.
92871         Reported by Bruno Haible.
92873 2008-06-14  Bruno Haible  <bruno@clisp.org>
92875         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
92876         array size as a constant, not as a const variable.
92877         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
92878         AC_USE_SYSTEM_EXTENSIONS.
92879         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
92880         Test whether the obstack_printf function actually exists.
92881         * modules/obstack-printf (Depends-on): Add extensions.
92882         (Include): Remove obstack.h.
92883         * modules/obstack-printf-posix (Depends-on): Add extensions.
92884         (Include): Remove obstack.h.
92886 2008-06-13  Eric Blake  <ebb9@byu.net>
92888         Add obstack-printf and obstack-printf-posix modules.
92889         * modules/obstack-printf: New file.
92890         * modules/obstack-printf-posix: Likewise.
92891         * MODULES.html.sh (Misc): Mention them.
92892         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
92893         Likewise.
92894         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
92895         Likewise.
92896         * modules/stdio (Makefile.am): Accomodate new modules.
92897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92898         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
92899         Declare.
92900         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
92901         functions.
92902         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
92903         (gl_REPLACE_OBSTACK_PRINTF): New macros
92904         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
92905         * tests/test-obstack-printf.c: New file.
92906         * modules/obstack-printf-tests: Likewise.
92907         * modules/obstack-printf-posix-tests: Likewise.
92909 2008-06-11  Bruno Haible  <bruno@clisp.org>
92911         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
92912         * lib/open.c: Include errno.h.
92913         (open): Fail when attempting to write to a file that has a trailing
92914         slash.
92915         * tests/test-open.c (main): Test against trailing slash bug.
92916         * doc/posix-functions/open.texi: Mention the trailing slash bug.
92918 2008-06-10  Bruno Haible  <bruno@clisp.org>
92920         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
92921         for $? to work inside the trap command, with various /bin/sh-s.
92922         * tests/test-vc-list-files-cvs.sh: Likewise.
92924 2008-06-10  Bruno Haible  <bruno@clisp.org>
92926         * lib/acl-internal.h: Don't include gettext.h here.
92927         * lib/set-mode-acl.c: Include gettext.h here.
92928         * lib/copy-acl.c: Likewise.
92930 2008-06-10  Bruno Haible  <bruno@clisp.org>
92932         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
92933         * lib/wait-process.c (wait_subprocess): Likewise.
92934         * lib/execute.h (execute): Add termsigp argument.
92935         * lib/execute.c (execute): Likewise.
92936         * lib/csharpcomp.c (compile_csharp_using_pnet,
92937         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
92938         * lib/csharpexec.c (execute_csharp_using_pnet,
92939         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
92940         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
92941         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
92942         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
92943         is_jikes_present): Update.
92944         * lib/javaexec.c (execute_java_class): Update.
92945         * lib/javaversion.c (execute_and_read_line): Update.
92946         * NEWS: Document the changes.
92947         Reported by Eric Blake.
92949 2008-06-10  Eric Blake  <ebb9@byu.net>
92951         Add missing include.
92952         * tests/test-strstr.c (includes): Add <signal.h>.
92953         * tests/test-strcasestr.c (includes): Likewise.
92954         * tests/test-memmem.c (includes): Likewise.
92956 2008-06-10  Bruno Haible  <bruno@clisp.org>
92958         * lib/wait-process.c (wait_subprocess): Add an assertion.
92960 2008-06-10  Bruno Haible  <bruno@clisp.org>
92962         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
92964 2008-06-10  Bruno Haible  <bruno@clisp.org>
92966         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
92967         using alarm().
92968         * tests/test-strcasestr.c (main): Likewise.
92969         * tests/test-strstr.c (main): Likewise.
92971 2008-06-09  Bruno Haible  <bruno@clisp.org>
92973         Work around the Solaris 10 ACE ACLs ABI change.
92974         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
92975         declare if ACL_NO_TRIVIAL is present.
92976         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
92977         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
92978         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
92979         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
92980         define if ACL_NO_TRIVIAL is present.
92981         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
92982         and use the current ABI.
92983         (file_has_acl): Use same #if condition as elsewhere.
92984         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
92985         in use, and use the current ABI.
92986         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
92987         Reported by Jim Meyering.
92989 2008-06-09  Eric Blake  <ebb9@byu.net>
92991         Work around environments that (stupidly) ignore SIGALRM.
92992         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
92993         before using alarm().
92994         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92995         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
92996         Reported by Ian Beckwith <ianb@erislabs.net>.
92998         Produce autobuild blurb earlier in log.
92999         * modules/autobuild (configure.ac-early): Move AB_INIT here.
93001 2008-06-09  Jim Meyering  <meyering@redhat.com>
93002         and Ondřej Vašík  <ovasik@redhat.com>
93004         utimens.c: correct kernel bug work-around
93005         Ondřej Vašík found that the invalid return value of 280 indicates
93006         failure, not success, and the kernel bug we're trying to work
93007         around affects not just the utimensat call, but also the fallback
93008         futimens call.
93009         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
93010         not success.
93011         [HAVE_FUTIMENS]: Use the same work-around, here.
93013 2008-06-09  Jim Meyering  <meyering@redhat.com>
93015         add more guards around definition of ACE_-related code
93016         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
93017         ALLOW and ACE_OWNER are also defined.
93019 2008-06-08  Bruno Haible  <bruno@clisp.org>
93021         * lib/acl-internal.h: Add me as co-author.
93022         * lib/file-has-acl.c: Likewise.
93023         * lib/set-mode-acl.c: Likewise.
93024         * lib/copy-acl.c: Likewise.
93026 2008-06-08  Bruno Haible  <bruno@clisp.org>
93028         Add support for AIX ACLs.
93029         * lib/acl-internal.h (acl_nontrivial): New declaration.
93030         * lib/file-has-acl.c (acl_nontrivial): New function.
93031         (file_has_acl): Add implementation using AIX 4 ACL API.
93032         * lib/set-mode-acl.c (qset_acl): Likewise.
93033         * lib/copy-acl.c (qcopy_acl): Likewise.
93035 2008-06-08  Bruno Haible  <bruno@clisp.org>
93037         Add support for HP-UX ACLs.
93038         * lib/acl-internal.h (acl_nontrivial): New declaration.
93039         * lib/file-has-acl.c (acl_nontrivial): New function.
93040         (file_has_acl): Add implementation using HP-UX 11 ACL API.
93041         * lib/set-mode-acl.c (qset_acl): Likewise.
93042         * lib/copy-acl.c (qcopy_acl): Likewise.
93044 2008-06-08  Bruno Haible  <bruno@clisp.org>
93046         Add support for Cygwin ACLs.
93047         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
93048         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
93049         the chmod_or_fchmod call.
93050         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
93052 2008-06-08  Bruno Haible  <bruno@clisp.org>
93054         Fix bug with setuid modes in Solaris 10+ code.
93055         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
93056         succeeded, when the mode contains some special bits.
93058 2008-06-08  Bruno Haible  <bruno@clisp.org>
93060         Add support for Solaris 7..10 ACLs.
93061         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
93062         declarations.
93063         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
93064         functions.
93065         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
93066         * lib/set-mode-acl.c (qset_acl): Likewise.
93067         * lib/copy-acl.c (qcopy_acl): Likewise.
93069 2008-06-08  Bruno Haible  <bruno@clisp.org>
93071         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
93072         declaration.
93073         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
93074         (acl_access_nontrivial): Remove MacOS X case.
93075         (file_has_acl): Use acl_extended_nontrivial.
93076         * lib/copy-acl.c (qcopy_acl): Likewise.
93078 2008-06-08  Bruno Haible  <bruno@clisp.org>
93080         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
93082 2008-06-08  Jim Meyering  <meyering@redhat.com>
93084         * modules/acl (Maintainer): Add Bruno Haible.
93086 2008-06-07  Bruno Haible  <bruno@clisp.org>
93088         Improve support for Tru64 ACLs.
93089         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
93090         ACL on OSF/1.
93092 2008-06-07  Bruno Haible  <bruno@clisp.org>
93094         Add support for MacOS X ACLs.
93095         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
93096         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
93097         * lib/set-mode-acl.c (qset_acl): Likewise.
93098         * lib/copy-acl.c (qcopy_acl): Likewise.
93100 2008-06-07  Bruno Haible  <bruno@clisp.org>
93102         Fix memory leak introduced on 2008-05-22.
93103         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
93104         use.
93106 2008-06-07  Bruno Haible  <bruno@clisp.org>
93108         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
93109         to construct an empty ACL.
93111 2008-06-07  Bruno Haible  <bruno@clisp.org>
93113         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
93114         precisely.
93115         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
93117 2008-06-07  Bruno Haible  <bruno@clisp.org>
93119         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
93120         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
93122 2008-06-07  Bruno Haible  <bruno@clisp.org>
93124         * doc/posix-functions/_setjmp.texi: Explain the use of this function
93125         regardless of POSIX.
93126         * doc/posix-functions/_longjmp.texi: Likewise.
93127         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
93128         SystemV platform in this case.
93130 2008-06-06  Eric Blake  <ebb9@byu.net>
93132         Document abort() bugs.
93133         * doc/posix-functions/abort.texi (abort): Mention anomalies.
93135         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
93136         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
93137         sigsetjmp.
93138         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
93139         siglongjmp, but only as a macro.
93140         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
93141         is obsolete.
93142         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
93144         Tweak documentation to cover cygwin argz bugs.
93145         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
93146         argz bug fix; no code change needed since no cygwin releases
93147         occurred between the last fix and the bug being tested.
93148         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
93149         module and recently fixed cygwin bugs.
93150         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
93151         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
93152         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
93153         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
93154         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
93155         Likewise.
93156         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
93157         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
93158         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
93159         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
93160         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
93161         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
93162         Likewise.
93164         Avoid gcc warning on cygwin.
93165         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
93166         !ACL_NO_TRIVIAL]: Avoid unused variable.
93168 2008-06-05  Eric Blake  <ebb9@byu.net>
93170         Be tolerant of UNKNOWN version in gnulib-tool test dir.
93171         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
93172         git-version-gen fails to come up with a version.
93173         Reported by Simon Josefsson.
93175 2008-06-05  Jim Meyering  <meyering@redhat.com>
93176             Paul Eggert  <eggert@cs.ucla.edu>
93178         utimens.c: work around a probable Linux kernel bug
93179         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
93180         appears to be a kernel bug that causes utimensat to return 280
93181         instead of 0, indicating success.
93183 2008-06-04  Bruno Haible  <bruno@clisp.org>
93185         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
93186         2008-06-01 commit.
93188 2008-06-04  Bruno Haible  <bruno@clisp.org>
93190         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
93191         * lib/file-has-acl.c (acl_access_nontrivial): New function.
93192         (file_has_acl): Use it. Save errno afterwards.
93193         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
93195 2008-06-03  Bruno Haible  <bruno@clisp.org>
93197         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
93198         draft code. Simplify #ifs.
93199         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
93200         Put Solaris code after POSIX-draft code. Fix comments regarding
93201         Solaris 10, HP-UX. Mention Cygwin.
93202         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
93204 2008-06-03  Eric Blake  <ebb9@byu.net>
93206         Provide fallback for older kernels.
93207         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
93208         Provide runtime fallback if kernel lacks support.
93209         Reported by Mike Frysinger.
93211 2008-06-02  Bruno Haible  <bruno@clisp.org>
93213         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
93214         it exists.
93216 2008-06-02  Bruno Haible  <bruno@clisp.org>
93218         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
93219         * lib/copy-acl.c (qcopy_acl): Update comment.
93221 2008-06-02  Bruno Haible  <bruno@clisp.org>
93223         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
93224         like ACL APIs.
93226 2008-06-02  Bruno Haible  <bruno@clisp.org>
93228         * tests/test-file-has-acl.sh: Use different code for Cygwin.
93229         * tests/test-set-mode-acl.sh: Likewise.
93230         * tests/test-copy-acl.sh: Likewise.
93231         * tests/test-copy-file.sh: Likewise.
93233 2008-06-02  Bruno Haible  <bruno@clisp.org>
93235         * tests/test-file-has-acl.sh: Remove unused code.
93237 2008-06-01  Bruno Haible  <bruno@clisp.org>
93239         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
93240         (copy_acl): Just a wrapper around qcopy_acl that emits the error
93241         messages.
93242         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
93244 2008-06-01  Bruno Haible  <bruno@clisp.org>
93246         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
93247         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
93248         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
93249         APIs.
93250         * modules/acl-tests (configure.ac): Remove tests now contained in
93251         m4/acl.m4.
93253 2008-06-02  Jim Meyering  <meyering@redhat.com>
93255         announce-gen: use a better key-server host name
93256         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
93257         it may be more consistently reliable.  Suggested by Werner Koch
93258         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
93260 2008-06-01  Bruno Haible  <bruno@clisp.org>
93262         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
93263         Reported by Voroskoi Andras <voroskoi@gmail.com>.
93265 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
93267         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
93269 2008-06-01  Bruno Haible  <bruno@clisp.org>
93271         New ACL tests.
93272         * tests/test-file-has-acl.sh: New file.
93273         * tests/test-file-has-acl.c: New file.
93274         * tests/test-set-mode-acl.sh: New file.
93275         * tests/test-set-mode-acl.c: New file.
93276         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
93277         * tests/test-copy-acl.c: New file.
93278         * modules/acl-tests: New file, based on modules/copy-file-tests.
93279         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
93280         (Depends-on): Add acl-tests.
93281         (configure.ac): Remove checks.
93282         (Makefile.am): Don't create test-sameacls program here any more.
93284 2008-06-01  Bruno Haible  <bruno@clisp.org>
93286         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
93287         * tests/test-sameacls.c: Include progname.h.
93288         (main): Invoke set_program_name. Portability fixes for MacOS X,
93289         Solaris, HP-UX.
93291 2008-06-01  Bruno Haible  <bruno@clisp.org>
93293         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
93294         function.
93295         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
93297 2008-06-01  Bruno Haible  <bruno@clisp.org>
93299         * modules/rpmatch (Depends-on): Add strdup.
93301 2008-06-01  Bruno Haible  <bruno@clisp.org>
93303         * lib/pipe.c: Include unistd-safer.h.
93304         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
93305         * modules/pipe (Depends-on): Add unistd-safer.
93307 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93309         * modules/autobuild (configure.ac): Call AB_INIT.
93311 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93313         * tests/test-getaddrinfo.c: Don't print debug messages by default.
93314         Suggested by Bruno Haible <bruno@clisp.org>.
93316 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93318         * tests/test-base64.c: Cast size_t to unsigned long when invoking
93319         printf.  Use %lu instead of %d.  Reported by Bruno Haible
93320         <bruno@clisp.org>.
93322 2008-05-29  Eric Blake  <ebb9@byu.net>
93324         Prefer new POSIX 200x interfaces over futimesat.
93325         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
93326         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
93327         when available.
93328         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
93330 2008-05-28  Bruno Haible  <bruno@clisp.org>
93332         * modules/stpcpy (License): Change to LGPLv2+.
93333         Requested by David Lutterkort <dlutter@redhat.com>.
93335 2008-05-27  Bruno Haible  <bruno@clisp.org>
93337         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
93338         current mingw.
93339         Reported by Jose E. Marchesi <jemarch@gnu.org>.
93341 2008-05-27  Bruno Haible  <bruno@clisp.org>
93343         * modules/iconv_open (Link): New section, from module 'iconv'.
93344         * modules/striconv (Link): Likewise.
93345         * modules/striconveh (Link): Likewise.
93346         * modules/xstriconv (Link): Likewise.
93347         * modules/unicodeio (Link): Likewise.
93348         * modules/propername (Link): Likewise.
93349         Reported by Jim Meyering.
93351 2008-05-26  Jim Meyering  <meyering@redhat.com>
93353         sha256: do not artificially restrict buffer length to be < 2^32
93354         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
93355         uint32_t to size_t.
93356         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
93357         to match.
93359         avoid unaligned access errors, e.g., on sparc
93360         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
93361         direct access through a possibly-unaligned uint64* pointer.
93362         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
93363         direct access through a possibly-unaligned uint32* pointer.
93364         Prompted by this patch from Tom "spot" Callaway:
93365         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
93367         sha512.c: fix typo in comment
93368         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
93370 2008-05-25  Bruno Haible  <bruno@clisp.org>
93372         * lib/set-mode-acl.c: Renamed from lib/acl.c.
93373         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
93374         (Makefile.am): Update lib_SOURCES.
93376 2008-05-25  Bruno Haible  <bruno@clisp.org>
93378         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
93380 2008-05-25  Jim Meyering  <meyering@redhat.com>
93382         useless-if-before-free: freed expr may have white-space differences
93383         * build-aux/useless-if-before-free: Recognize cases in which the
93384         freed expression differs from the tested one in embedded white
93385         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
93386         $1 was used, so we can't make any regexp shy.  Improved tests now
93387         detect this.
93389         useless-if-before-free: accept white space in the expression.
93390         * build-aux/useless-if-before-free: For now, any white space
93391         in the expression must be identical in the free argument.
93393         useless-if-before-free: efficiency tweak
93394         * build-aux/useless-if-before-free: Make the expression-matching
93395         regexp "shy".
93396         Make the *outer* regexp shy, not the expr-matching one.
93398         update code-in-comment to accept cast of free arg
93399         * build-aux/useless-if-before-free: Update regexp.
93401 2008-05-25  Bruno Haible  <bruno@clisp.org>
93403         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
93404         * modules/copy-file-tests (Files, Makefile.am): Update.
93405         * tests/test-copy-file.c (func_test_copy): Update.
93407 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
93409         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
93411 2008-05-23  Bruno Haible  <bruno@clisp.org>
93413         Improve support for ACLs on OSF/1.
93414         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
93415         Remove fallback for unknown flavors of ACLs.
93417 2008-05-22  Bruno Haible  <bruno@clisp.org>
93419         Add support for ACLs on OSF/1.
93420         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
93421         replacements.
93422         (acl_free_text): New macro fallback.
93423         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
93424         acl_free.
93425         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
93426         acl_free_text function. Require AC_C_INLINE.
93428 2008-05-22  Bruno Haible  <bruno@clisp.org>
93430         Make copy_acl work on MacOS X 10.5.
93431         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
93432         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
93433         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
93434         If MODE_INSIDE_ACL, don't assume that every system has the same text
93435         representation for ACLs as FreeBSD.
93436         * lib/copy-acl.c (copy_acl): Add support for platforms with
93437         !MODE_INSIDE_ACL.
93438         * lib/file-has-acl.c (file_has_acl): Likewise.
93439         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
93440         FreeBSD, MacOS X, or IRIX, respectively.
93442 2008-05-22  Bruno Haible  <bruno@clisp.org>
93444         * lib/acl.h: Don't include <sys/acl.h>.
93445         (GETACLCNT): Move fallback to lib/acl-internal.h.
93446         * lib/acl-internal.h: Include <sys/acl.h> here.
93447         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
93449 2008-05-22  Bruno Haible  <bruno@clisp.org>
93451         Split off copy_acl function to separate file.
93452         * lib/copy-acl.c: New file, extracted from lib/acl.c.
93453         * lib/acl.c (copy_acl): Moved function to separate file.
93454         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
93455         * modules/acl (Files): Add lib/copy-acl.c.
93456         (Makefiles.am): Augment lib_SOURCES.
93458 2008-05-22  Bruno Haible  <bruno@clisp.org>
93460         * modules/copy-file-tests: New file.
93461         * tests/test-copy-file.sh: New file.
93462         * tests/test-copy-file.c: New file.
93463         * tests/test-copy-file-sameacls.c: New file.
93465 2008-05-22  Eric Blake  <ebb9@byu.net>
93467         Avoid gcc warning.
93468         * tests/test-memcmp.c (main): Pass NULL indirectly.
93470 2008-05-21  Bruno Haible  <bruno@clisp.org>
93472         Add reference doc about ACLs.
93473         * doc/acl-resources.txt: New file.
93474         * doc/acl-cygwin.txt: New file.
93476 2008-05-21  Bruno Haible  <bruno@clisp.org>
93478         Avoid one more warning from gcc.
93479         * lib/vasnprintf.c (IF_LINT): Update comments.
93480         (VASNPRINTF): Use it also for the 'prefix' array initializer.
93482 2008-05-21  Jim Meyering  <meyering@redhat.com>
93484         avoid a warning from gcc
93485         * lib/vasnprintf.c (IF_LINT): Define.
93486         (scale10_round_decimal_long_double):
93487         Use it to avoid a "may be used uninitialized" warning.
93488         (scale10_round_decimal_double): Likewise.
93490 2008-05-21  Simon Josefsson  <simon@josefsson.org>
93492         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
93493         declared.
93495 2008-05-20  Bruno Haible  <bruno@clisp.org>
93497         * tests/test-memcmp.c (main): Test also the sign of the result. Test
93498         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
93500 2008-05-20  Simon Josefsson  <simon@josefsson.org>
93502         * modules/memcmp-tests: New file.
93503         * tests/test-memcmp.c: New file.
93505 2008-05-19  Bruno Haible  <bruno@clisp.org>
93507         * modules/propername (Notice, configure.ac): Put quoted "..." into
93508         --keyword option.
93509         * lib/propername.h: Update comments accordingly.
93510         Reported by Eric Blake.
93512 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
93514         * modules/getpass-gnu (Depends-on): Add fseeko.
93516 2008-05-19  Simon Josefsson  <simon@josefsson.org>
93518         * modules/base64-tests: New file.
93520 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
93522         * lib/base64.c (base64_decode_ctx): If a decode context structure
93523         was passed in use it to ignore newlines.  If a context structure
93524         was _not_ passed in, continue to treat newlines as garbage (this
93525         is the historical behavior).  Formerly base64_decode.
93526         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93527         takes a decode context structure.
93528         * lib/base64.h (base64_decode): Macro for four-argument calls.
93529         (base64_decode_alloc): Likewise.
93530         * lib/base64.c (base64_decode_ctx): If a decode context structure
93531         was passed in use it to ignore newlines.  If a context structure
93532         was _not_ passed in, continue to treat newlines as garbage (this
93533         is the historical behavior).  Formerly base64_decode.
93534         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
93535         takes a decode context structure.
93536         * lib/base64.h (base64_decode): Macro for four-argument calls.
93537         (base64_decode_alloc): Likewise.
93539 2008-05-19  Jim Meyering  <meyering@redhat.com>
93541         avoid a warning from gcc
93542         * lib/trim.c (IF_LINT): Define.
93543         (trim2): Use it to avoid a "may be used uninitialized" warning.
93545         Fix doc typo.
93546         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
93548 2008-05-19  Bruno Haible  <bruno@clisp.org>
93550         * doc/glibc-functions/getpass.texi: Document limits of other
93551         implementations.
93553 2008-05-19  Simon Josefsson  <simon@josefsson.org>
93554             Bruno Haible <bruno@clisp.org>
93556         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
93558 2008-05-18  Bruno Haible  <bruno@clisp.org>
93560         * modules/propername: New file, from GNU gettext.
93561         * lib/propername.h: New file, from GNU gettext.
93562         * lib/propername.c: New file, from GNU gettext.
93563         * MODULES.html.sh (Internationalization functions): Add propername.
93565 2008-05-16  Jim Meyering  <meyering@redhat.com>
93566             Bruno Haible  <bruno@clisp.org>
93568         Avoid some warnings from "gcc -Wshadow".
93569         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
93571 2008-05-15  Eric Blake  <ebb9@byu.net>
93573         Extend previous patch to cygwin 1.7.0.
93574         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
93575         fast implementation in cygwin >= 1.7.0.
93576         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93577         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93579 2008-05-15  Bruno Haible  <bruno@clisp.org>
93581         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
93582         implementation in glibc >= 2.9.
93583         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93584         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93586 2008-05-15  Bruno Haible  <bruno@clisp.org>
93588         * MODULES.html.sh (Internationalization functions): Remove linebreak.
93589         (Unicode string functions): Add unilbrk/*.
93590         Reported by Karl Berry.
93592 2008-05-15  Eric Blake  <ebb9@byu.net>
93594         Fix violation of <stdbool.h> replacement in regex.
93595         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
93596         * lib/regexec.c (re_search_internal): Likewise.
93597         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
93599 2008-05-15  Jim Meyering  <meyering@redhat.com>
93601         avoid distracting test output when git or cvs is not found
93602         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
93603         * tests/test-vc-list-files-git.sh: Likewise.
93605 2008-05-15  Eric Blake  <ebb9@byu.net>
93607         Glibc finally accepted the memmem speedup code, bugzilla #5514.
93608         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
93609         glibc version.
93610         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
93611         * doc/posix-functions/strstr.texi (strstr): Likewise.
93612         * lib/str-two-way.h (MAX): Sychronize with glibc.
93614 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
93616         * lib/regcomp.c (optimize_utf8): Add a note on why we test
93617         opr.ctx_type.
93618         (calc_first): Initialize constraint field.
93619         (duplicate_node_closure): Use it instead of special casing ANCHORS.
93620         Fix grammar.
93621         (duplicate_node): Merge constraint field for all node types.
93622         (calc_eclosure_iter): Look at constraint field for all node types.
93623         * lib/regex_internal.c (create_cd_newstate): Don't look at
93624         opr.ctx_type.
93626 2008-05-14  Bruno Haible  <bruno@clisp.org>
93628         Help GCC to do better code generation.
93629         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
93630         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
93631         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
93632         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
93633         Declare with attribute 'malloc' if supported.
93635 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
93637         use "echo STR|wc -c" rather than unportable "expr length STR"
93638         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
93639         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
93641 2008-05-14  Jim Meyering  <meyering@redhat.com>
93643         use dd ibs=$n count=1 ... rather than less-portable head -c$n
93644         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
93645         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
93646         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
93647         via Collin Lasse.
93649 2008-05-14  Eric Blake  <ebb9@byu.net>
93651         Avoid quadratic growth in gl_LIBSOURCES.
93652         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
93653         Suggested by Bruno Haible.
93655         Test xmemdup0.
93656         * modules/xmemdup0-tests: New file.
93657         * tests/test-xmemdup0.c: Likewise.
93659 2008-05-13  Eric Blake  <ebb9@byu.net>
93661         Split xmemdup0 into its own module.
93662         * modules/xmemdup0: New file.
93663         * lib/xmemdup0.h: Likewise.
93664         * lib/xmemdup0.c: Likewise.
93665         * MODULES.html.sh (Memory management functions): Add xmemdup0.
93666         * lib/xalloc.h (xmemdup0): Remove.
93667         * lib/xmalloc.c (xmemdup0): Likewise.
93669 2008-05-13  Eric Blake  <ebb9@byu.net>
93670             Bruno Haible  <bruno@clisp.org>
93672         Reduce number of forks required during autoconf.
93673         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
93674         and gl_LIBSOURCES_DIR.
93675         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
93676         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
93677         m4_syscmd per file.
93678         <m4_foreach_w>: Move...
93679         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
93681 2008-05-13  Eric Blake  <ebb9@byu.net>
93683         * gnulib-tool: Fix various comment typos.
93685 2008-05-12  Bruno Haible  <bruno@clisp.org>
93687         Tailor the linebreaking algorithm.
93688         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
93690 2008-05-12  Bruno Haible  <bruno@clisp.org>
93692         Update to Unicode 5.0.0.
93693         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
93694         LBP_JV, LBP_JT. Redistribute values.
93695         (unilbrk_table): Change size.
93696         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
93697         Unicode TR#14 rev. 22.
93698         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
93699         LBP_JV, LBP_JT. Redistribute values.
93700         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
93701         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
93702         Update.
93703         * lib/unilbrk/lbrkprop1.h: Regenerated.
93704         * lib/unilbrk/lbrkprop2.h: Regenerated.
93705         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
93706         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
93707         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
93708         Likewise.
93709         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
93710         Likewise.
93711         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
93712         result.
93713         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
93714         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
93715         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
93716         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
93717         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
93718         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
93720 2008-05-11  Bruno Haible  <bruno@clisp.org>
93722         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
93724 2008-05-11  Bruno Haible  <bruno@clisp.org>
93726         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
93727         * modules/unilbrk/gen-lbrk: New file.
93729 2008-05-11  Bruno Haible  <bruno@clisp.org>
93731         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
93732         * m4/sha512.m4 (gl_SHA512): Likewise.
93734 2008-05-11  Jim Meyering  <meyering@redhat.com>
93736         New modules: crypto/sha256, crypto/sha512 (from coreutils)
93737         * modules/crypto/sha256: New file.
93738         * modules/crypto/sha512: Likewise.
93739         * lib/sha256.c: Likewise.
93740         * lib/sha256.h: Likewise.
93741         * lib/sha512.c: Likewise.
93742         * lib/sha512.h: Likewise.
93743         * lib/u64.h: Likewise.
93744         * m4/sha256.m4: Likewise.
93745         * m4/sha512.m4: Likewise.
93746         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
93748 2008-05-10  Bruno Haible  <bruno@clisp.org>
93750         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
93751         (Input/Output <stdio.h>): Add xprintf.
93752         (Signal handling <signal.h>): Add strsignal.
93753         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
93754         (Core language properties): Add func.
93755         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
93756         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
93757         strings.
93758         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
93759         (Input/output): New section.
93760         (File system functions): Add openat-die, stat-macros.
93761         (Networking functions): Add sockets.
93762         (Unicode string functions): Add unictype/*.
93763         (Support for building libraries and executables): Add gperf.
93764         (Support for building documentation): Add agpl-3.0.
93765         (Misc): Add nocrash.
93767 2008-05-10  Bruno Haible  <bruno@clisp.org>
93769         * modules/unictype/gen-ctype: New file.
93771 2008-05-10  Jim Meyering  <meyering@redhat.com>
93773         Make chdir-safer.c more efficient on a system with no symlinks.
93774         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
93775         also if ELOOP is zero.  Suggested by Bruno Haible.
93777         Make chdir-safer.c slightly safer.
93778         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
93779         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
93781         Avoid compile failure on systems without ELOOP (like mingw).
93782         * lib/chdir-safer.c (ELOOP): Define if not already defined.
93783         Reported by Bruno Haible.
93785 2008-05-10  Bruno Haible  <bruno@clisp.org>
93787         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
93788         (is_utf8_encoding): Use a case-insensitive comparison.
93789         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
93790         streq.
93792 2008-05-10  Bruno Haible  <bruno@clisp.org>
93794         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
93795         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
93796         * lib/unilbrk/ulc-common.h (iconv_string_length,
93797         iconv_string_keeping_offsets): Remove declarations.
93798         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
93799         Don't include <iconv.h>, streq.h, xsize.h.
93800         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
93801         conversion.
93802         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
93803         <iconv.h>, streq.h, xsize.h.
93804         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
93805         conversion.
93806         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
93807         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
93808         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
93809         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
93811 2008-05-10  Bruno Haible  <bruno@clisp.org>
93813         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
93814         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
93816         * modules/unilbrk/u32-width-linebreaks-tests: New file.
93817         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
93819         * modules/unilbrk/u16-width-linebreaks-tests: New file.
93820         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
93822         * modules/unilbrk/u8-width-linebreaks-tests: New file.
93823         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
93825         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
93826         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
93828         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
93829         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
93831         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
93832         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
93834         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
93835         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
93837 2008-05-10  Bruno Haible  <bruno@clisp.org>
93839         Split up 'linebreak' module.
93840         * lib/unilbrk.h: New file, based on lib/linebreak.h.
93841         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
93842         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
93843         modifications.
93844         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
93845         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
93846         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
93847         lib/linebreak.c.
93848         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
93849         lib/linebreak.c.
93850         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
93851         lib/linebreak.c.
93852         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
93853         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
93854         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
93855         lib/linebreak.c.
93856         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
93857         lib/linebreak.c.
93858         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
93859         lib/linebreak.c.
93860         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
93861         lib/linebreak.c.
93862         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
93863         lib/linebreak.c.
93864         * modules/unilbrk/base: New file.
93865         * modules/unilbrk/tables: New file.
93866         * modules/unilbrk/u8-possible-linebreaks: New file.
93867         * modules/unilbrk/u16-possible-linebreaks: New file.
93868         * modules/unilbrk/u32-possible-linebreaks: New file.
93869         * modules/unilbrk/ulc-common: New file.
93870         * modules/unilbrk/ulc-possible-linebreaks: New file.
93871         * modules/unilbrk/u8-width-linebreaks: New file.
93872         * modules/unilbrk/u16-width-linebreaks: New file.
93873         * modules/unilbrk/u32-width-linebreaks: New file.
93874         * modules/unilbrk/ulc-width-linebreaks: New file.
93875         * lib/linebreak.h: Remove file.
93876         * lib/linebreak.c: Remove file.
93877         * m4/linebreak.m4: Remove file.
93878         * modules/linebreak: Remove file.
93879         * NEWS: Mention the changes.
93881 2008-05-09  Eric Blake  <ebb9@byu.net>
93883         Add xmemdup0.
93884         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
93885         implementation.
93886         * lib/xmalloc.c (xmemdup0): New C implementation.
93888 2008-05-08  Bruno Haible  <bruno@clisp.org>
93890         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
93892 2008-05-07  Eric Blake  <ebb9@byu.net>
93894         Support cross-compilation of <wctype.h>.
93895         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
93896         AC_CACHE_CHECK.
93898 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
93900         * build-aux/vc-list-files: Add support for bzr.
93902 2008-05-03  Jim Meyering  <meyering@redhat.com>
93904         avoid failed assertion with tight malloc
93905         * tests/test-getndelim2.c: Correct an off-by-one assertion.
93907 2008-05-03  Simon Josefsson  <simon@josefsson.org>
93909         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
93910         are needed from arpa/inet.h.
93911         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
93912         Reported by Bruno Haible.
93914 2008-05-02  Jim Meyering  <meyering@redhat.com>
93916         avoid compilation error on FreeBSD 6
93917         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
93919 2008-05-01  Jim Meyering  <meyering@redhat.com>
93921         useless-if-before-free: correct --help's exit status description
93922         * build-aux/useless-if-before-free (usage): Like grep, exit 0
93923         for one or more matches, etc.  Reported by Bruno Haible.
93925         vc-list-files: make the stand-alone gnulib test work
93926         * modules/vc-list-files-tests (configure.ac):
93927         Define and AC_SUBST abs_aux_dir.
93928         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
93929         $(abs_top_srcdir) to each script and having each of them
93930         duplicate the work of setting PATH, set PATH here, using
93931         the new variable, abs_aux_dir instead.
93932         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
93933         * tests/test-vc-list-files-git.sh: Likewise.
93934         Reported by Bruno Haible.
93936 2008-05-01  Bruno Haible  <bruno@clisp.org>
93938         * lib/getndelim2.c (getndelim2): Fix newsize computation during
93939         reallocation. Rename 'done' to 'found_delimiter'.
93941 2008-05-01  Jim Meyering  <meyering@redhat.com>
93943         vc-list-files: accommodate /bin/sh like the one from Solaris 10
93944         * build-aux/vc-list-files: Use `...`, not $(...).
93946 2008-04-30  Jim Meyering  <meyering@redhat.com>
93948         add tests for vc-list-files
93949         * modules/vc-list-files-tests: New module.
93950         * tests/test-vc-list-files-cvs.sh: New file.
93951         * tests/test-vc-list-files-git.sh: New file.
93953         avoid a warning from gcc
93954         * lib/getndelim2.c (IF_LINT): Define.
93955         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
93957         vc-list-files: work properly with build-aux/cvsu, too
93958         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
93959         to all cvs-based clauses.
93961         vc-list-files: work properly in the CVS+awk case, too
93962         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
93964         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
93965         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
93966         take more than one file argument, so .  Add quotes, just in case $dir
93967         ever contains a shell meta-character.  Prompted by Soren Hansen in
93968         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
93970 2008-04-29  Eric Blake  <ebb9@byu.net>
93972         Optimize getndelim2 to use block operations when possible.
93973         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
93974         freadseek, and memchr2.
93975         * lib/getndelim2.c (getndelim2): Use them for block reads.
93977 2008-04-29  Bruno Haible  <bruno@clisp.org>
93979         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
93980         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
93981         * modules/inet_ntop (Depends-on): Add extensions.
93982         * modules/inet_pton (Depends-on): Likewise.
93983         Reported by Simon Josefsson.
93985 2008-04-29  Jim Meyering  <meyering@redhat.com>
93987         When the is more than one match in a block, match all of them.
93988         * build-aux/useless-if-before-free: Iterate through each block
93989         until there are no more matches.
93991         Fix broken useless-if-before-free script.
93992         * build-aux/useless-if-before-free: Fix typo: missing "?" after
93993         the expression to match cast of argument to free-like function.
93995 2008-04-29  Eric Blake  <ebb9@byu.net>
93997         Use new header.
93998         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
94000 2008-04-29  Jim Meyering  <meyering@redhat.com>
94002         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
94003         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
94004         by gnulib to exist and to declare e.g., inet_ntop.
94005         Don't include "inet_ntop.h", now removed.
94007         * m4/arpa_inet_h.m4: Remove trailing blanks.
94009 2008-04-29  Eric Blake  <ebb9@byu.net>
94011         Silence valgrind on safe reads beyond potential array bounds.
94012         * lib/rawmemchr.valgrind: New file.
94013         * lib/strchrnul.valgrind: Likewise.
94014         * modules/rawmemchr (Files): Distribute new file.
94015         * modules/strchrnul (Files): Likewise.
94016         Suggested by Bruno Haible.
94018 2008-04-29  Bruno Haible  <bruno@clisp.org>
94020         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
94021         (inet_ntop, inet_pton): Change portability warning's wording.
94022         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
94023         Invoke gl_CHECK_NEXT_HEADERS.
94024         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
94025         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
94026         set ARPA_INET_H.
94027         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94028         * modules/arpa_inet (Description): No longer only for systems that
94029         lack it.
94030         (Depends-on): Add include_next.
94031         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
94032         HAVE_ARPA_INET_H.
94034 2008-04-29  Jim Meyering  <meyering@redhat.com>
94036         * modules/mkdir (License): Re-license as LGPLv2+.
94038 2008-04-29  Bruno Haible  <bruno@clisp.org>
94040         * modules/rawmemchr (Maintainer): Set to Eric.
94041         * modules/strchrnul (Maintainer): Likewise.
94043 2008-04-29  Simon Josefsson  <simon@josefsson.org>
94045         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
94046         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
94048         * modules/arpa_inet (arpa/inet.h): Use them.
94050 2008-04-28  Eric Blake  <ebb9@byu.net>
94052         Test getndelim2.
94053         * modules/getndelim2-tests: New file.
94054         * tests/test-getndelim2.c: Likewise.
94055         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
94056         stream.
94057         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
94059         * MODULES.html.sh: Document new module.
94061 2008-04-20  Bruno Haible  <bruno@clisp.org>
94063         * lib/c-stack.c (die): Use raise.
94064         * modules/c-stack (Depends-on): Add raise.
94066 2008-04-28  Bruno Haible  <bruno@clisp.org>
94068         Expect rpmatch to be declared.
94069         * lib/yesno.c (rpmatch): Remove declaration.
94071         Declare rpmatch.
94072         * lib/stdlib.in.h (rpmatch): New declaration.
94073         * lib/rpmatch.c: Include <stdlib.h> first.
94074         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
94075         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
94076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
94077         HAVE_RPMATCH.
94078         * modules/rpmatch (Depends-on): Add stdlib, extensions.
94079         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
94080         (Include): Set to <stdlib.h>.
94081         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
94082         HAVE_RPMATCH.
94083         * NEWS: Document the change.
94085 2008-04-28  Bruno Haible  <bruno@clisp.org>
94087         Change rpmatch to use nl_langinfo when appropriate.
94088         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
94089         (N_): New macro.
94090         (localized_pattern): New function/macro.
94091         (try): Remove match, nomatch arguments. Copy the pattern into safe
94092         memory before caching it.
94093         (rpmatch): Use localized_pattern. Add translator comments.
94094         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
94095         Suggested by Eric Blake.
94096         * modules/rpmatch (Depends-on): Add stdbool.
94098 2008-04-28  Eric Blake  <ebb9@byu.net>
94100         Add rawmemchr module, matching glibc.
94101         * modules/string (Makefile.am): New indicator.
94102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
94103         * lib/string.in.h (rawmemchr): Declare when appropriate.
94104         * modules/rawmemchr: New file.
94105         * m4/rawmemchr.m4: Likewise.
94106         * lib/rawmemchr.c: Likewise.
94107         * modules/rawmemchr-tests: Likewise.
94108         * tests/test-rawmemchr.c: Likewise.
94109         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
94110         module.
94111         * modules/strchrnul (Depends-on): Add rawmemchr.
94112         * lib/strchrnul.c (strchrnul): Optimize a corner case.
94114         Whitespace cleanup.
94115         * tests/test-strchrnul.c: Reindent.
94116         * lib/strchrnul.c: Likewise.
94118         Optimize and test strchrnul.
94119         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
94120         * modules/strchrnul-tests: New file.
94121         * tests/test-strchrnul.c: Likewise.
94123         Remove intprops dependency.
94124         * modules/memchr (Depends-on): Remove intprops.
94125         * modules/memrchr (Depends-on): Likewise.
94126         * modules/memchr2 (Depends-on): Likewise.
94127         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
94128         * lib/memrchr.c (__memrchr): Likewise.
94129         * lib/memrchr2.c (memchr2): Likewise.
94130         Reported by Simon Josefsson.
94132 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94134         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
94135         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94137 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94139         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
94141         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
94143         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
94145         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
94146         declarations.
94147         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
94149         * m4/inet_pton.m4: Don't check for header files.
94151         * m4/inet_ntop.m4: Don't check for header files.
94153 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94155         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
94156         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
94157         trigger for cygwin).
94158         Reported by Bruno Haible  <bruno@clisp.org>.
94160 2008-04-28  Bruno Haible  <bruno@clisp.org>
94162         * doc/posix-functions/strdup.texi: Mention mingw problem.
94164 2008-04-27  Bruno Haible  <bruno@clisp.org>
94166         * modules/stat-time-tests (Depends-on): Add sleep.
94167         * tests/test-stat-time.c (force_unlink): New function.
94168         (cleanup): Use it.
94169         (test_mtime): Remove the ctime related tests.
94170         (test_ctime): New function, containing the ctime related tests.
94171         (main): Call test_ctime, except on native Windows platforms.
94173 2008-04-27  Bruno Haible  <bruno@clisp.org>
94175         * lib/rpmatch.c (rpmatch): Add some comments.
94176         Reported by James Youngman <jay@gnu.org>.
94178 2008-04-27  Bruno Haible  <bruno@clisp.org>
94180         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
94181         quiet NaNs.
94183 2008-04-27  Bruno Haible  <bruno@clisp.org>
94185         Make test-yesno.sh work on mingw.
94186         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
94187         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
94188         (main): Set stdin to binary mode.
94189         * modules/yesno-tests (Depends-on): Add binary-io.
94191 2008-04-27  Bruno Haible  <bruno@clisp.org>
94193         Fix 'isfinite' on x86, x86_64, ia64 platforms.
94194         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
94195         argument that lie outside the IEEE 854 domain.
94196         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
94197         (gl_ISFINITE): Use it.
94198         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
94200 2008-04-27  Bruno Haible  <bruno@clisp.org>
94202         Allow local renaming in config.h.
94203         * lib/memrchr.c (memrchr): Don't undefine outside libc.
94205 2008-04-27  Bruno Haible  <bruno@clisp.org>
94207         * lib/memchr.c (__memchr): Change type of 'i'.
94208         * lib/memchr2.c (memchr2): Likewise.
94210 2008-04-26  Eric Blake  <ebb9@byu.net>
94211         and Bruno Haible  <bruno@clisp.org>
94213         Optimize and test memrchr.
94214         * modules/memrchr (Depends-on): Add intprops.
94215         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
94216         * modules/memrchr-tests: New file.
94217         * tests/test-memrchr.c: New file.
94219 2008-04-26  Bruno Haible  <bruno@clisp.org>
94221         Add tentative support for DragonFly BSD.
94222         * lib/stdio-impl.h: Add macros for DragonFly BSD.
94223         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
94224         fp.
94225         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94226         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
94227         * lib/fpurge.c (fpurge): Likewise.
94228         * lib/freadable.c (freaadable): Likewise.
94229         * lib/freadahead.c (freadahead): Likewise.
94230         * lib/freading.c (freading): Likewise.
94231         * lib/freadptr.c (freadptr): Likewise.
94232         * lib/freadseek.c (freadptrinc): Likewise.
94233         * lib/fseeko.c (fseeko): Likewise.
94234         * lib/fseterr.c (fseterr): Likewise.
94235         * lib/fwritable.c (fwritable): Likewise.
94236         * lib/fwriting.c (fwriting): Likewise.
94238 2008-04-26  Bruno Haible  <bruno@clisp.org>
94240         * lib/stdio-impl.h: New file.
94241         * lib/fbufmode.c: Include stdio-impl.h.
94242         (fbufmode): Use fp_, remove redundant #defines.
94243         * lib/fflush.c: Include stdio-impl.h.
94244         (clear_ungetc_buffer): Remove redundant #defines.
94245         * lib/fpurge.c: Include stdio-impl.h.
94246         (fpurge): Remove redundant #defines.
94247         * lib/freadable.c: Include stdio-impl.h.
94248         (freadable): Remove redundant #defines.
94249         * lib/freadahead.c: Include stdio-impl.h.
94250         (freadahead): Remove redundant #defines.
94251         * lib/freading.c: Include stdio-impl.h.
94252         (freading): Remove redundant #defines.
94253         * lib/freadptr.c: Include stdio-impl.h.
94254         (freadptr): Remove redundant #defines.
94255         * lib/freadseek.c: Include stdio-impl.h.
94256         (freadptrinc): Remove redundant #defines.
94257         * lib/fseeko.c: Include stdio-impl.h.
94258         (rpl_fseeko): Remove redundant #defines.
94259         * lib/fseterr.c: Include stdio-impl.h.
94260         (fseterr): Remove redundant #defines.
94261         * lib/fwritable.c: Include stdio-impl.h.
94262         (fwritable: Remove redundant #defines.
94263         * lib/fwriting.c: Include stdio-impl.h.
94264         (fwriting): Remove redundant #defines.
94265         * modules/fbufmode (Files): Add lib/stdio-impl.h.
94266         * modules/fflush (Files): Likewise.
94267         * modules/fpurge (Files): Likewise.
94268         * modules/freadable (Files): Likewise.
94269         * modules/freadahead (Files): Likewise.
94270         * modules/freading (Files): Likewise.
94271         * modules/freadptr (Files): Likewise.
94272         * modules/freadseek (Files): Likewise.
94273         * modules/fseeko (Files): Likewise.
94274         * modules/fseterr (Files): Likewise.
94275         * modules/fwritable (Files): Likewise.
94276         * modules/fwriting (Files): Likewise.
94278 2008-04-26  Bruno Haible  <bruno@clisp.org>
94280         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94281         restore_seek_optimization, update_fpos_cache): New functions, extracted
94282         from rpl_fflush.
94283         (rpl_fflush): Use them.
94284         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
94285         (gl_REPLACE_FFLUSH): Use it.
94287 2008-04-26  Bruno Haible  <bruno@clisp.org>
94289         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
94290         on Solaris.
94291         * tests/test-xstrtoimax.sh: Likewise.
94292         * tests/test-xstrtoumax.sh: Likewise.
94293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94295 2008-04-26  Bruno Haible  <bruno@clisp.org>
94297         * modules/memchr-tests: New file.
94298         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
94300 2008-04-26  Eric Blake  <ebb9@byu.net>
94301             Bruno Haible  <bruno@clisp.org>
94303         * lib/memchr.c: Include intprops.h.
94304         (__memchr): Optimize parallel detection of matching bytes. Rename local
94305         variables. Add explanatory comments.
94307 2008-04-26  Bruno Haible  <bruno@clisp.org>
94309         Fix module 'memchr', broken since 2000-10-28.
94310         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
94312 2008-04-26  Bruno Haible  <bruno@clisp.org>
94314         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
94315         comments.
94317 2008-04-25  Eric Blake  <ebb9@byu.net>
94319         Use native fstatat on cygwin 1.7.0.
94320         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
94321         first.
94323 2008-04-23  Eric Blake  <ebb9@byu.net>
94325         Improve memchr2 performance.
94326         * lib/memchr2.c (memchr2): Further optimize parallel detection of
94327         NUL bytes.
94328         * modules/memchr2 (Depends-on): Use intprops.h.
94330 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94332         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
94333         an inline function instead of a CPP macro.  Patch by Ben Pfaff
94334         <blp@cs.stanford.edu>.
94336 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94338         * lib/arpa_inet.in.h: New file.
94340         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
94341         (Makefile.am): Sed in substitute header file.
94343         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
94344         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
94346         * modules/inet_ntop (configure.ac): Use
94347         gl_ARPA_INET_MODULE_INDICATOR.
94349         * modules/inet_pton (configure.ac): Use
94350         gl_ARPA_INET_MODULE_INDICATOR.
94352 2008-04-22  Jim Meyering  <meyering@redhat.com>
94354         * modules/verify (License): Re-license as LGPLv2+.
94356 2008-04-22  Simon Josefsson  <simon@josefsson.org>
94358         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
94359         parameter to void* as per POSIX standard (MinGW uses char*).
94361 2008-04-21  Bruno Haible  <bruno@clisp.org>
94363         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
94364         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
94365         Define to replacements if REPLACE_ISWCNTRL is 1.
94366         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
94367         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
94368         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
94369         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
94370         what it fixes.
94371         * doc/posix-functions/iswalpha.texi: Likewise.
94372         * doc/posix-functions/iswblank.texi: Likewise.
94373         * doc/posix-functions/iswcntrl.texi: Likewise.
94374         * doc/posix-functions/iswdigit.texi: Likewise.
94375         * doc/posix-functions/iswgraph.texi: Likewise.
94376         * doc/posix-functions/iswlower.texi: Likewise.
94377         * doc/posix-functions/iswprint.texi: Likewise.
94378         * doc/posix-functions/iswpunct.texi: Likewise.
94379         * doc/posix-functions/iswspace.texi: Likewise.
94380         * doc/posix-functions/iswupper.texi: Likewise.
94381         * doc/posix-functions/iswxdigit.texi: Likewise.
94382         Reported by Alain Guibert.
94384 2008-04-21  Bruno Haible  <bruno@clisp.org>
94386         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
94387         Patch by Alain Guibert.
94389 2008-04-21  Bruno Haible  <bruno@clisp.org>
94391         Fix test failures on mingw.
94392         * tests/test-xstrtol.c (print_no_progname): New function.
94393         (main): Install it in error_print_progname hook.
94394         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
94395         * tests/test-xstrtoimax.sh: Likewise.
94396         * tests/test-xstrtoumax.sh: Likewise.
94398 2008-04-21  Bruno Haible  <bruno@clisp.org>
94400         Fix test failure on mingw.
94401         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
94403 2008-04-21  Bruno Haible  <bruno@clisp.org>
94405         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
94406         Actually assign a value.
94408 2008-04-20  Bruno Haible  <bruno@clisp.org>
94410         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
94411         take 2.
94412         * lib/canonicalize.c (canonicalize_file_name): Elide if the
94413         'canonicalize-lgpl' module is also used.
94414         * lib/canonicalize-lgpl.c: Undo last change.
94415         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
94417 2008-04-20  Bruno Haible  <bruno@clisp.org>
94419         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
94420         config.h. Provide _mkdir based fallback for mingw.
94421         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
94422         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
94423         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
94424         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
94425         rather than defining mkdir in config.h.
94426         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
94427         (gl_SYS_STAT_H_DEFAULTS): New macro.
94428         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
94429         HAVE_IO_H any more.
94430         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
94431         HAVE_DECL_MKDIR and HAVE_IO_H.
94433 2008-04-20  Bruno Haible  <bruno@clisp.org>
94435         * lib/isapipe.c: Port to native Windows platforms.
94437 2008-04-20  Bruno Haible  <bruno@clisp.org>
94439         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
94441 2008-04-21  Eric Blake  <ebb9@byu.net>
94443         Work around preprocessors that don't handle UINTMAX_MAX.
94444         * lib/memchr2.c (memchr2): Avoid embedded #if.
94445         Reported by Alain Guibert, fix suggested by Bruno Haible.
94447 2008-04-21  Simon Josefsson  <simon@josefsson.org>
94449         * doc/posix-functions/strftime.texi (strftime): Explain better
94450         Windows incompatibility.  Suggested by Micah Cowan
94451         <micah@cowan.name>.
94453 2008-04-20  Bruno Haible  <bruno@clisp.org>
94455         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
94456         unistr/u8-mblen.
94458 2008-04-20  Bruno Haible  <bruno@clisp.org>
94460         Fix test failure on platforms with non-GNU iconv.
94461         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
94462         (U_TO_U8): Use it, rather than u16_to_u8.
94463         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
94464         units at the end of the input string.
94465         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
94467 2008-04-20  Bruno Haible  <bruno@clisp.org>
94469         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
94470         when the resulting length is 0.
94471         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
94473 2008-04-20  Bruno Haible  <bruno@clisp.org>
94475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
94476         works.
94477         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
94479 2008-04-20  Bruno Haible  <bruno@clisp.org>
94481         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
94482         * modules/tsearch-tests (configure.ac): Test for initstate function.
94484 2008-04-20  Bruno Haible  <bruno@clisp.org>
94486         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
94487         for nlink_t if missing.
94488         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
94490 2008-04-19  Bruno Haible  <bruno@clisp.org>
94492         Work around snprintf bug on Linux libc5.
94493         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
94494         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
94495         gl_SNPRINTF_SIZE1.
94496         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94497         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
94498         that test failed.
94499         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
94500         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
94501         * modules/snprintf (Files): Add m4/printf.m4.
94502         * modules/vsnprintf (Files): Likewise.
94503         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
94504         * doc/posix-functions/vsnprintf.texi: Likewise.
94506 2008-04-19  Bruno Haible  <bruno@clisp.org>
94508         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
94509         from 0.0058 to less than 10^-7.
94511 2008-04-19  Bruno Haible  <bruno@clisp.org>
94513         Fix rounding when a precision is given.
94514         * lib/vasnprintf.c (is_borderline): New function.
94515         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
94516         9...9x.
94517         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
94518         %e, %g.
94519         * tests/test-vasprintf-posix.c (test_function): Likewise.
94520         * tests/test-snprintf-posix.h (test_function): Likewise.
94521         * tests/test-sprintf-posix.h (test_function): Likewise.
94522         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
94523         * tests/test-printf-posix.h (test_function): Likewise.
94524         * tests/test-printf-posix.output: Update.
94525         Reported by John Darrington <john@darrington.wattle.id.au> via
94526         Ben Pfaff <blp@cs.stanford.edu>.
94528 2008-04-18  Simon Josefsson  <simon@josefsson.org>
94530         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
94531         Suggested by Bruno Haible <bruno@clisp.org>.
94533 2008-04-17  Bruno Haible  <bruno@clisp.org>
94535         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
94536         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
94537         implementation.
94538         Patch by Bruce Merry <bmerry@gmail.com>.
94540 2008-04-17  Simon Josefsson  <simon@josefsson.org>
94542         * doc/posix-functions/strftime.texi (strftime): Mention that %e
94543         doesn't work under Windows.
94545 2008-04-16  Bruno Haible  <bruno@clisp.org>
94547         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
94548         New macros.
94549         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
94550         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
94551         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
94552         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
94553         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
94554         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
94555         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
94556         macros.
94557         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
94558         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
94559         Northern Sotho, Uighur.
94561 2008-04-16  Bruno Haible  <bruno@clisp.org>
94563         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
94564         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
94565         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
94566         Reported by Daniel Bergström <daniel@octocode.com>.
94568 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
94569             Bruno Haible  <bruno@clisp.org>
94571         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
94572         function.
94573         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
94574         New functions, mostly extracted from gl_locale_name_default.
94575         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
94577 2008-04-16  Eric Blake  <ebb9@byu.net>
94579         Adjust strtod detection to catch glibc 2.7 bug.
94580         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
94581         Reported by John Gatewood Ham.
94583 2008-04-16  Bruno Haible  <bruno@clisp.org>
94585         Add tentative support for Linux libc5.
94586         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
94587         * lib/fpurge.c (fpurge): Likewise.
94588         * lib/freadable.c (freadable): Likewise.
94589         * lib/freadahead.c (freadahead): Likewise.
94590         * lib/freading.c (freading): Likewise.
94591         * lib/freadptr.c (freadptr): Likewise.
94592         * lib/freadseek.c (freadptrinc): Likewise.
94593         * lib/fseeko.c (rpl_fseeko): Likewise.
94594         * lib/fseterr.c (fseterr): Likewise.
94595         * lib/fwritable.c (fwritable): Likewise.
94596         * lib/fwriting.c (fwriting): Likewise.
94597         Reported by Alain Guibert <alguibert+bts@free.fr>.
94599 2008-04-15  Bruno Haible  <bruno@clisp.org>
94601         * modules/mathl (configure.ac): Define module indicator.
94603 2008-04-15  Bruno Haible  <bruno@clisp.org>
94605         * lib/logl.c (logl): Remove unused variables.
94607 2008-04-15  Bruno Haible  <bruno@clisp.org>
94609         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
94610         fails.
94612 2008-04-15  Bruno Haible  <bruno@clisp.org>
94614         * lib/trim.c (trim2): Fix argument of isspace() macro.
94616 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
94618         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
94619         to 0.
94620         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
94622 2008-04-14  Bruno Haible  <bruno@clisp.org>
94624         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
94625         AC_LANG_PROGRAM argument.
94626         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
94627         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
94628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
94629         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
94630         * m4/math_h.m4 (gl_MATH_H): Likewise.
94631         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
94632         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94633         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
94634         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
94635         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
94636         * m4/regex.m4 (gl_REGEX): Likewise.
94637         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
94638         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
94639         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94640         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
94641         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
94642         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94643         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
94644         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
94646 2008-04-14  Jim Meyering  <meyering@redhat.com>
94648         test-strtod: fix typos: s/abs/fabs/
94649         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
94651 2008-04-13  Bruno Haible  <bruno@clisp.org>
94653         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
94654         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
94655         module is also used and while not building the reloc-wrapper.
94657 2008-04-13  Bruno Haible  <bruno@clisp.org>
94659         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
94661 2008-04-13  Bruno Haible  <bruno@clisp.org>
94663         Fix AIX compilation failure introduced on 2008-04-02.
94664         * tests/test-frexp.c (exp): Undefine before redefining.
94665         * tests/test-frexpl.c (exp): Likewise.
94667 2008-04-13  Bruno Haible  <bruno@clisp.org>
94669         Work around a HP-UX stdio bug.
94670         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
94671         * tests/test-ftello.c (main): Likewise.
94672         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
94673         * doc/posix-functions/ftello.texi: Likewise.
94675 2008-04-13  Bruno Haible  <bruno@clisp.org>
94677         Make test-signbit pass on HP-UX/hppa.
94678         * tests/test-signbit.c (minus_zerol): New variable.
94679         (test_signbitl): Use it.
94681 2008-04-13  Bruno Haible  <bruno@clisp.org>
94683         Make truncl work on OSF/1 4.0.
94684         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
94685         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
94686         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
94687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
94688         HAVE_DECL_TRUNCL.
94689         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
94690         HAVE_DECL_TRUNCL.
94691         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
94693 2008-04-13  Bruno Haible  <bruno@clisp.org>
94695         * lib/unictype.h: Remove trailing comma from enumeration definitions.
94697 2008-04-13  Bruno Haible  <bruno@clisp.org>
94699         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
94700         expression, so as to avoid HP-UX 11 cc compiler bug.
94702 2008-04-13  Bruno Haible  <bruno@clisp.org>
94704         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
94706 2008-04-13  Bruno Haible  <bruno@clisp.org>
94708         * lib/git-merge-changelog.c: Remove empty declaration outside of
94709         functions.
94711 2008-04-13  Bruno Haible  <bruno@clisp.org>
94713         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
94715 2008-04-13  Bruno Haible  <bruno@clisp.org>
94717         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
94718         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
94719         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
94720         also if it exists but lacks definitions of the SHUT_* macros.
94721         * modules/sys_socket (Description): Update.
94722         Reported by Elbert Pol <e.pol@chello.nl>.
94724 2008-04-13  Bruno Haible  <bruno@clisp.org>
94726         * lib/localcharset.c (OS2): Don't redefine if already defined.
94727         Reported by Elbert Pol <e.pol@chello.nl>.
94729 2008-04-13  Bruno Haible  <bruno@clisp.org>
94731         * lib/binary-io.h [__EMX__]: Include <io.h>.
94732         Reported by Elbert Pol <e.pol@chello.nl>.
94734 2008-04-12  Bruno Haible  <bruno@clisp.org>
94736         * lib/fpucw.h: Enable the definitions also for x86_64.
94737         Needed for NetBSD/x86_64.
94738         Reported by Thomas Klausner <tk@giga.or.at>.
94740 2008-04-12  Bruno Haible  <bruno@clisp.org>
94742         * tests/test-strtod.c: Include isnand.h.
94743         (main): Use isnand instead of isnan.
94744         Reported by Jim Meyering.
94746 2008-04-12  Bruno Haible  <bruno@clisp.org>
94748         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
94749         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94751 2008-04-12  Jim Meyering  <meyering@redhat.com>
94753         * m4/math_h.m4 (gl_MATH_H): Fix typos.
94755 2008-04-12  Bruno Haible  <bruno@clisp.org>
94757         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
94758         Reported by Elbert Pol <e.pol@chello.nl>.
94760 2008-04-12  Eric Blake  <ebb9@byu.net>
94762         Work around Solaris 10 math.h bug.
94763         * m4/math_h.m4 (gl_MATH_H): Check for bug.
94764         (gl_MATH_H_DEFAULTS): Set up default.
94765         * modules/math (Makefile.am): Replace new indicators.
94766         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
94767         * tests/test-math.c (main): Test this.
94768         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
94769         * doc/posix-headers/math.texi (math.h): Mention bug.
94770         Reported by Nelson H. F. Beebe and Jim Meyering.
94772 2008-04-11  Bruno Haible  <bruno@clisp.org>
94774         Adapt to future versions of Apple GCC.
94775         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
94776         Reported by Peter O'Gorman <peter@pogma.com>.
94778 2008-04-11  Bruno Haible  <bruno@clisp.org>
94780         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
94782 2008-04-11  Bruno Haible  <bruno@clisp.org>
94784         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
94786         * modules/getaddrinfo-tests (Makefile.am): Define
94787         test_getaddrinfo_LDADD.
94789 2008-04-11  Bruno Haible  <bruno@clisp.org>
94791         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
94792         (init): Fix syntax error.
94793         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
94794         is declared.
94796 2008-04-11  Bruno Haible  <bruno@clisp.org>
94798         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
94799         * modules/glob (Depends-on): Add stdbool.
94801 2008-04-11  Bruno Haible  <bruno@clisp.org>
94803         * lib/trim.c: Include <string.h>.
94805 2008-04-11  Eric Blake  <ebb9@byu.net>
94807         Avoid compile failure on OS/2.
94808         * lib/regex_internal.h (internal_function): Disable optimization
94809         on OS/2 (__EMX__), where it caused compiler error.
94810         Reported by Elbert Pol.
94812 2008-04-11  Bruno Haible  <bruno@clisp.org>
94814         Flush the standard error stream before aborting. Needed on mingw.
94815         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
94816         * tests/test-array_list.c (ASSERT): Likewise.
94817         * tests/test-array_oset.c (ASSERT): Likewise.
94818         * tests/test-avltree_list.c (ASSERT): Likewise.
94819         * tests/test-avltree_oset.c (ASSERT): Likewise.
94820         * tests/test-avltreehash_list.c (ASSERT): Likewise.
94821         * tests/test-binary-io.c (ASSERT): Likewise.
94822         * tests/test-byteswap.c (ASSERT): Likewise.
94823         * tests/test-c-ctype.c (ASSERT): Likewise.
94824         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
94825         * tests/test-c-strcasestr.c (ASSERT): Likewise.
94826         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
94827         * tests/test-c-strstr.c (ASSERT): Likewise.
94828         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
94829         * tests/test-canonicalize.c (ASSERT): Likewise.
94830         * tests/test-carray_list.c (ASSERT): Likewise.
94831         * tests/test-ceilf1.c (ASSERT): Likewise.
94832         * tests/test-ceilf2.c (ASSERT): Likewise.
94833         * tests/test-ceill.c (ASSERT): Likewise.
94834         * tests/test-count-one-bits.c (ASSERT): Likewise.
94835         * tests/test-fbufmode.c (ASSERT): Likewise.
94836         * tests/test-fflush2.c (ASSERT): Likewise.
94837         * tests/test-floorf1.c (ASSERT): Likewise.
94838         * tests/test-floorf2.c (ASSERT): Likewise.
94839         * tests/test-floorl.c (ASSERT): Likewise.
94840         * tests/test-fopen.c (ASSERT): Likewise.
94841         * tests/test-fpending.c (ASSERT): Likewise.
94842         * tests/test-fprintf-posix.c (ASSERT): Likewise.
94843         * tests/test-fpurge.c (ASSERT): Likewise.
94844         * tests/test-freadable.c (ASSERT): Likewise.
94845         * tests/test-freadahead.c (ASSERT): Likewise.
94846         * tests/test-freading.c (ASSERT): Likewise.
94847         * tests/test-freadptr.c (ASSERT): Likewise.
94848         * tests/test-freadptr2.c (ASSERT): Likewise.
94849         * tests/test-freadseek.c (ASSERT): Likewise.
94850         * tests/test-freopen.c (ASSERT): Likewise.
94851         * tests/test-frexp.c (ASSERT): Likewise.
94852         * tests/test-frexpl.c (ASSERT): Likewise.
94853         * tests/test-fseek.c (ASSERT): Likewise.
94854         * tests/test-fseeko.c (ASSERT): Likewise.
94855         * tests/test-fstrcmp.c (ASSERT): Likewise.
94856         * tests/test-ftell.c (ASSERT): Likewise.
94857         * tests/test-ftello.c (ASSERT): Likewise.
94858         * tests/test-func.c (ASSERT): Likewise.
94859         * tests/test-fwritable.c (ASSERT): Likewise.
94860         * tests/test-fwriting.c (ASSERT): Likewise.
94861         * tests/test-getdelim.c (ASSERT): Likewise.
94862         * tests/test-getline.c (ASSERT): Likewise.
94863         * tests/test-i-ring.c (ASSERT): Likewise.
94864         * tests/test-iconv-utf.c (ASSERT): Likewise.
94865         * tests/test-iconv.c (ASSERT): Likewise.
94866         * tests/test-isfinite.c (ASSERT): Likewise.
94867         * tests/test-isnand.c (ASSERT): Likewise.
94868         * tests/test-isnanf.c (ASSERT): Likewise.
94869         * tests/test-isnanl.h (ASSERT): Likewise.
94870         * tests/test-ldexpl.c (ASSERT): Likewise.
94871         * tests/test-linked_list.c (ASSERT): Likewise.
94872         * tests/test-linkedhash_list.c (ASSERT): Likewise.
94873         * tests/test-localename.c (ASSERT): Likewise.
94874         * tests/test-lseek.c (ASSERT): Likewise.
94875         * tests/test-mbscasecmp.c (ASSERT): Likewise.
94876         * tests/test-mbscasestr1.c (ASSERT): Likewise.
94877         * tests/test-mbscasestr2.c (ASSERT): Likewise.
94878         * tests/test-mbscasestr3.c (ASSERT): Likewise.
94879         * tests/test-mbscasestr4.c (ASSERT): Likewise.
94880         * tests/test-mbschr.c (ASSERT): Likewise.
94881         * tests/test-mbscspn.c (ASSERT): Likewise.
94882         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
94883         * tests/test-mbspbrk.c (ASSERT): Likewise.
94884         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
94885         * tests/test-mbsrchr.c (ASSERT): Likewise.
94886         * tests/test-mbsspn.c (ASSERT): Likewise.
94887         * tests/test-mbsstr1.c (ASSERT): Likewise.
94888         * tests/test-mbsstr2.c (ASSERT): Likewise.
94889         * tests/test-mbsstr3.c (ASSERT): Likewise.
94890         * tests/test-memchr2.c (ASSERT): Likewise.
94891         * tests/test-memmem.c (ASSERT): Likewise.
94892         * tests/test-open.c (ASSERT): Likewise.
94893         * tests/test-printf-frexp.c (ASSERT): Likewise.
94894         * tests/test-printf-frexpl.c (ASSERT): Likewise.
94895         * tests/test-printf-posix.c (ASSERT): Likewise.
94896         * tests/test-quotearg.c (ASSERT): Likewise.
94897         * tests/test-rbtree_list.c (ASSERT): Likewise.
94898         * tests/test-rbtree_oset.c (ASSERT): Likewise.
94899         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
94900         * tests/test-round1.c (ASSERT): Likewise.
94901         * tests/test-roundf1.c (ASSERT): Likewise.
94902         * tests/test-roundl.c (ASSERT): Likewise.
94903         * tests/test-signbit.c (ASSERT): Likewise.
94904         * tests/test-sleep.c (ASSERT): Likewise.
94905         * tests/test-snprintf-posix.c (ASSERT): Likewise.
94906         * tests/test-snprintf.c (ASSERT): Likewise.
94907         * tests/test-sprintf-posix.c (ASSERT): Likewise.
94908         * tests/test-stat-time.c (ASSERT): Likewise.
94909         * tests/test-strcasestr.c (ASSERT): Likewise.
94910         * tests/test-strerror.c (ASSERT): Likewise.
94911         * tests/test-striconv.c (ASSERT): Likewise.
94912         * tests/test-striconveh.c (ASSERT): Likewise.
94913         * tests/test-striconveha.c (ASSERT): Likewise.
94914         * tests/test-strsignal.c (ASSERT): Likewise.
94915         * tests/test-strstr.c (ASSERT): Likewise.
94916         * tests/test-strtod.c (ASSERT): Likewise.
94917         * tests/test-trunc1.c (ASSERT): Likewise.
94918         * tests/test-trunc2.c (ASSERT): Likewise.
94919         * tests/test-truncf1.c (ASSERT): Likewise.
94920         * tests/test-truncf2.c (ASSERT): Likewise.
94921         * tests/test-truncl.c (ASSERT): Likewise.
94922         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
94923         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
94924         * tests/test-vasnprintf.c (ASSERT): Likewise.
94925         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
94926         * tests/test-vasprintf.c (ASSERT): Likewise.
94927         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
94928         * tests/test-vprintf-posix.c (ASSERT): Likewise.
94929         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
94930         * tests/test-vsnprintf.c (ASSERT): Likewise.
94931         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
94932         * tests/test-wcwidth.c (ASSERT): Likewise.
94933         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
94934         * tests/test-xprintf-posix.c (ASSERT): Likewise.
94935         * tests/test-xvasprintf.c (ASSERT): Likewise.
94936         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
94937         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
94938         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
94939         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
94940         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
94941         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
94942         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
94943         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
94944         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
94945         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
94946         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
94947         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
94948         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
94949         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
94950         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
94951         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
94952         * tests/unictype/test-block_list.c (ASSERT): Likewise.
94953         * tests/unictype/test-block_of.c (ASSERT): Likewise.
94954         * tests/unictype/test-block_test.c (ASSERT): Likewise.
94955         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
94956         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
94957         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
94958         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
94959         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
94960         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
94961         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
94962         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
94963         * tests/unictype/test-combining.c (ASSERT): Likewise.
94964         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
94965         * tests/unictype/test-digit.c (ASSERT): Likewise.
94966         * tests/unictype/test-mirror.c (ASSERT): Likewise.
94967         * tests/unictype/test-numeric.c (ASSERT): Likewise.
94968         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
94969         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
94970         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
94971         * tests/unictype/test-scripts.c (ASSERT): Likewise.
94972         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
94973         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
94974         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
94975         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
94976         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
94977         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
94978         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
94979         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
94980         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
94981         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
94982         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
94983         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
94984         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
94985         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
94986         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
94987         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
94988         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
94989         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
94990         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
94991         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
94992         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
94993         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
94994         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
94995         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
94996         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
94997         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
94998         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
94999         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
95000         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
95001         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
95002         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
95003         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
95004         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
95005         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
95006         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
95007         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
95008         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
95009         Reported by Eric Blake.
95011 2008-04-11  Bruno Haible  <bruno@clisp.org>
95013         * lib/wchar.in.h: Tweak comment.
95015 2008-04-11  Bruno Haible  <bruno@clisp.org>
95017         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
95018         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
95019         gl_COMMON.
95020         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
95022 2008-04-11  Bruno Haible  <bruno@clisp.org>
95024         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
95026 2008-04-11  Simon Josefsson  <simon@josefsson.org>
95028         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
95029         of attempting to use non-existing /dev/*random.  Based on patch
95030         from Adam Strzelecki <ono@java.pl> in
95031         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
95033 2008-04-08  Bruno Haible  <bruno@clisp.org>
95035         Add tentative support for emx+gcc.
95036         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
95037         * lib/fpurge.c (fpurge): Likewise.
95038         * lib/freadable.c (freadable): Likewise.
95039         * lib/freadahead.c (freadahead): Likewise.
95040         * lib/freading.c (freading): Likewise.
95041         * lib/freadptr.c (freadptr): Likewise.
95042         * lib/freadseek.c (freadptrinc): Likewise.
95043         * lib/fseeko.c (rpl_fseeko): Likewise.
95044         * lib/fseterr.c (fseterr): Likewise.
95045         * lib/fwritable.c (fwritable): Likewise.
95046         * lib/fwriting.c (fwriting): Likewise.
95047         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
95049 2008-04-09  Eric Blake  <ebb9@byu.net>
95051         Avoid some autoconf warnings.
95052         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
95053         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
95054         * m4/afs.m4 (gl_AFS): Likewise.
95055         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
95056         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
95057         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95058         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
95059         (gl_INTEGER_TYPE_SUFFIX): Likewise.
95060         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
95061         (AC_CHECK_DECLS_ONCE): Likewise.
95062         Rename file...
95063         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
95064         gnulib-tool requires autoconf 2.59 or better.
95065         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
95067 2008-04-08  Eric Blake  <ebb9@byu.net>
95069         Use 'git describe --match' if present (added in git 1.5.5).
95070         * build-aux/git-version-gen: Limit result to tags that match 'v*'
95071         if possible.
95073 2008-04-08  Bruno Haible  <bruno@clisp.org>
95075         Add tentative support for OpenServer.
95076         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
95077         _ptr, _cnt.
95078         * lib/fpurge.c (fpurge): Likewise.
95079         * lib/freadable.c (freadable): Likewise.
95080         * lib/freadahead.c (freadahead): Likewise.
95081         * lib/freading.c (freading): Likewise.
95082         * lib/freadptr.c (freadptr): Likewise.
95083         * lib/freadseek.c (freadptrinc): Likewise.
95084         * lib/fseeko.c (rpl_fseeko): Likewise.
95085         * lib/fseterr.c (fseterr): Likewise.
95086         * lib/fwritable.c (fwritable): Likewise.
95087         * lib/fwriting.c (fwriting): Likewise.
95088         Reported by Roger Cornelius <rac@tenzing.org> and
95089         Brian K. White <brian@aljex.com>.
95091 2008-04-06  Jim Meyering  <meyering@redhat.com>
95093         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
95095 2008-04-06  Bruno Haible  <bruno@clisp.org>
95097         Avoid possible error with non-ASCII bytes in UTF-8 locales.
95098         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
95099         * tests/test-printf-posix.sh: Likewise.
95100         * tests/test-vfprintf-posix.sh: Likewise.
95101         * tests/test-vprintf-posix.sh: Likewise.
95102         * tests/test-xprintf-posix.sh: Likewise.
95104 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95106         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
95107         hide error from 'ls', needed on OS/2.
95108         Report by Elbert Pol <elbert.pol@gmail.com>.
95110 2008-04-04  Eric Blake  <ebb9@byu.net>
95112         Make test-fseeko.c failures meaningful.
95113         * tests/test-fseeko.c: Print line number on failure.
95114         * tests/test-fseek.c: Likewise.
95115         Reported by Nelson H. F. Beebe.
95117         Improve strtod bug detection check.
95118         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
95119         required for Solaris 10.
95120         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
95122 2008-04-04  Bruno Haible  <bruno@clisp.org>
95124         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
95125         by m4/setenv.m4.
95127 2008-04-03  Eric Blake  <ebb9@byu.net>
95129         Ensure sane .version contents.
95130         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
95131         version string.
95132         * build-aux/git-version-gen: Improve documentation.
95134         Make GNU make output nicer.
95135         * top/GNUmakefile [!_have-Makefile]: Add dependency on
95136         MAKECMDGOALS to enforce message for all command line targets.  Set
95137         srcdir for use in maint.mk.
95139         Another maintainer tweak.
95140         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
95141         a target that regenerates version.
95143 2008-04-03  Jim Meyering  <meyering@redhat.com>
95145         vc-list-files: don't cause coreutils "make po-check" failure
95146         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
95148 2008-04-03  Eric Blake  <ebb9@byu.net>
95150         Allow VPATH usage of vc-list-files.
95151         * build-aux/vc-list-files (scriptversion): Add timestamp.
95152         (options): Add --help, --version, -C.
95153         (CVS): Support installed cvsu.
95155 2008-04-02  Bruno Haible  <bruno@clisp.org>
95157         Avoid some "statement with no effect" warnings from gcc.
95158         * tests/test-wctype.c (main): Explicitly ignore unused values.
95159         Reported by Jim Meyering.
95161 2008-04-02  Jim Meyering  <meyering@redhat.com>
95163         Avoid some warnings from "gcc -Wshadow".
95164         * tests/test-frexp.c (exp): Define to a different identifier.
95165         * tests/test-frexpl.c (exp): Likewise.
95167 2008-04-03  Jim Meyering  <meyering@redhat.com>
95169         bootstrap: remove dangling *.[ch] symlinks from lib
95170         * build-aux/bootstrap [dangling symlink removal]: Move find's
95171         -depth option to precede all others, to avoid a warning.
95172         Remove *.[ch] files too, and from "$source_base" (usually lib/).
95174 2008-04-02  Bruno Haible  <bruno@clisp.org>
95176         Avoid some warnings from "gcc -Wshadow".
95177         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
95178         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
95179         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
95180         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
95181         Reported by Jim Meyering.
95183 2008-04-01  Bruno Haible  <bruno@clisp.org>
95185         Fix test to work on IRIX 6.5 with cc.
95186         * tests/test-math.c (numeric_equal): New function.
95187         (main): Use it.
95189 2008-04-01  Bruno Haible  <bruno@clisp.org>
95191         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
95193 2008-04-01  Bruno Haible  <bruno@clisp.org>
95195         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
95196         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95197         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
95198         (Depends-on): Remove math.
95200         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
95201         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95202         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
95203         (Depends-on): Remove math.
95205         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
95206         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95207         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
95208         (Depends-on): Remove math.
95209         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
95210         (Depends-on): Remove math.
95212         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
95213         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95214         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
95215         (Depends-on): Remove math.
95216         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
95217         (Depends-on): Remove math.
95219         * tests/test-round1.c: Include nan.h.
95220         (main): Use NaNd instead of NAN.
95221         * modules/round-tests (Files): Add tests/nan.h.
95223         * tests/test-trunc1.c: Include nan.h.
95224         (main): Use NaNd instead of NAN.
95225         * modules/trunc-tests (Files): Add tests/nan.h.
95227         * tests/test-roundf1.c: Include nan.h.
95228         (main): Use NaNf instead of NAN.
95229         * modules/roundf-tests (Files): Add tests/nan.h.
95231         * tests/test-truncf1.c: Include nan.h.
95232         (main): Use NaNf instead of NAN.
95233         * modules/truncf-tests (Files): Add tests/nan.h.
95235         * tests/test-ceilf1.c: Include nan.h.
95236         (main): Use NaNf instead of NAN.
95237         * modules/ceilf-tests (Files): Add tests/nan.h.
95239         * tests/test-floorf1.c: Include nan.h.
95240         (main): Use NaNf instead of NAN.
95241         * modules/floorf-tests (Files): Add tests/nan.h.
95243         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
95244         (main): Use NaNf instead of NAN.
95245         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
95247         * tests/test-isnand.c: Include nan.h instead of <math.h>.
95248         (main): Use NaNd instead of NAN.
95249         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
95251         * tests/test-frexp.c: Include nan.h.
95252         (main): Use NaNd instead of NAN.
95253         * modules/frexp-tests (Files): Add tests/nan.h.
95255         * lib/isnan.c: Don't include <math.h>.
95256         (FUNC): Don't use NAN macro.
95257         * modules/isnand-nolibm (Depends-on): Remove math.
95258         * modules/isnanf-nolibm (Depends-on): Remove math.
95259         * modules/isnanl (Depends-on): Remove math.
95260         * modules/isnanl-nolibm (Depends-on): Remove math.
95262         * tests/nan.h: New file.
95264 2008-04-01  Eric Blake  <ebb9@byu.net>
95266         Fix typos.
95267         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
95268         values to be the right type.
95270         For now, cater to gnulib strtod inaccuracies.
95271         * tests/test-strtod.c (main): Allow 1-ulp error on expected
95272         fractional results.  While not as nice from a QoI perspective, it
95273         is a quicker patch than correctly implementing decimal to binary
95274         rounding.
95276 2008-03-31  Eric Blake  <ebb9@byu.net>
95278         Guarantee a definition of NAN.
95279         * lib/math.in.h (NAN): Define if missing.
95280         * tests/test-math.c (main): Test it.
95281         * doc/posix-headers/math.texi (math.h): Document this.
95282         * lib/isnan.c (rpl_isnand): Use it.
95283         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
95284         * tests/test-floorf1.c (NaN): Likewise.
95285         * tests/test-frexp.c (NaN): Likewise.
95286         * tests/test-isnand.c (NaN): Likewise.
95287         * tests/test-isnanf.c (NaN): Likewise.
95288         * tests/test-round1.c (NaN): Likewise.
95289         * tests/test-roundf1.c (NaN): Likewise.
95290         * tests/test-snprintf-posix.h (NaN): Likewise.
95291         * tests/test-sprintf-posix.h (NaN): Likewise.
95292         * tests/test-trunc1.c (NaN): Likewise.
95293         * tests/test-truncf1.c (NaN): Likewise.
95294         * tests/test-vasnprintf-posix.c (NaN): Likewise.
95295         * tests/test-vasprintf-posix.c (NaN): Likewise.
95296         * modules/isnand-nolibm (Depends-on): Add math.
95297         * modules/isnanf-nolibm (Depends-on): Likewise.
95298         * modules/isnanl (Depends-on): Likewise.
95299         * modules/isnanl-nolibm (Depends-on): Likewise.
95300         * modules/snprintf-posix-tests (Depends-on): Likewise.
95301         * modules/sprintf-posix-tests (Depends-on): Likewise.
95302         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
95303         * modules/vsprintf-posix-tests (Depends-on): Likewise.
95304         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
95305         * modules/vasprintf-posix-tests (Depends-on): Likewise.
95307 2008-03-31  Bruno Haible  <bruno@clisp.org>
95309         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
95310         * doc/posix-functions/strtod.texi: Likewise.
95312 2008-03-31  Bruno Haible  <bruno@clisp.org>
95314         * tests/test-strtod.c (main): Don't use C99 syntax.
95316 2008-03-31  Bruno Haible  <bruno@clisp.org>
95318         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
95319         Reported by Eric Blake.
95321 2008-03-31  Jim Meyering  <meyering@redhat.com>
95323         Don't compare actual signbit return values.
95324         * tests/test-strtod.c (main): Rather, compare only their
95325         zero/non-zero nature.
95327 2008-03-31  Eric Blake  <ebb9@byu.net>
95329         More strtod documentation.
95330         * doc/posix-functions/strtod.texi (strtod): Interpret more test
95331         failures as distinct bugs.
95333 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
95335         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
95336         Problem reported by Erik Benada in
95337         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
95339 2008-03-30  Bruno Haible  <bruno@clisp.org>
95341         * tests/test-strtod.c: Add comments about which assertion fails on which
95342         platform.
95343         * doc/posix-functions/strtod.texi: Add info about many more platforms.
95345 2008-03-30  Eric Blake  <ebb9@byu.net>
95347         Test signbit behavior on zeros.
95348         * tests/test-signbit.c (test_signbitf): Add tests for zero.
95349         (test_signbitd, test_signbitl): Likewise.
95351         More strtod touchups.
95352         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
95353         sign of negative underflow, for now.  Use .5, not .1.
95354         * doc/posix-functions/strtod.texi (strtod): Mention these
95355         limitations.
95356         Reported by Jim Meyering.
95358 2008-03-30  Bruno Haible  <bruno@clisp.org>
95360         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
95361         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
95363 2008-03-30  Bruno Haible  <bruno@clisp.org>
95365         Avoid failure when attempting to return empty iconv results on some
95366         platforms.
95367         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
95368         allocation, don't report ENOMEM when the resulting string is empty.
95370 2008-03-30  Bruno Haible  <bruno@clisp.org>
95372         Fix buffer overrun.
95373         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
95374         Don't consider the width for tmp_length. Check count against tmp_length
95375         before doing the padding. Ensure enough allocation during padding.
95377 2008-03-30  Eric Blake  <ebb9@byu.net>
95379         strtod touchups.
95380         * lib/strtod.c (strtod): Avoid compiler warnings.
95381         Reported by Jim Meyering.
95383 2008-03-30  Bruno Haible  <bruno@clisp.org>
95385         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
95386         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
95387         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
95388         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
95389         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
95390         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
95391         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
95392         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
95394         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
95395         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
95396         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
95397         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
95398         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
95399         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
95400         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
95401         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
95403         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
95404         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
95405         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
95406         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
95407         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
95408         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
95409         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
95410         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
95412         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
95413         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
95415         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
95416         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
95418         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
95419         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
95421         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
95422         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
95423         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
95425         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
95426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
95427         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
95429         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
95430         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
95431         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
95433         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
95434         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
95435         * modules/vasprintf (Depends-on): Add EOVERFLOW.
95437         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
95438         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
95439         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
95440         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
95441         (Depends-on): Add EOVERFLOW.
95442         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
95443         (Depends-on): Add EOVERFLOW.
95444         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95445         (Depends-on): Add EOVERFLOW.
95446         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95447         (Depends-on): Add EOVERFLOW.
95448         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95449         (Depends-on): Add EOVERFLOW.
95450         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95451         (Depends-on): Add EOVERFLOW.
95452         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95453         (Depends-on): Add EOVERFLOW.
95454         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95455         (Depends-on): Add EOVERFLOW.
95457         * lib/sprintf.c (EOVERFLOW): Remove fallback.
95458         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
95459         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
95461         * lib/snprintf.c (EOVERFLOW): Remove fallback.
95462         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
95463         * modules/snprintf (Depends-on): Add EOVERFLOW.
95465         * lib/poll.c (EOVERFLOW): Remove fallback.
95466         * modules/poll (Depends-on): Add EOVERFLOW.
95468         * lib/getugroups.c (EOVERFLOW): Remove fallback.
95469         * modules/getugroups (Depends-on): Add EOVERFLOW.
95471         * lib/getdelim.c (EOVERFLOW): Remove fallback.
95472         * modules/getdelim (Depends-on): Add EOVERFLOW.
95474         * lib/ftell.c (EOVERFLOW): Remove fallback.
95475         * modules/ftell (Depends-on): Add EOVERFLOW.
95477         * lib/fprintf.c (EOVERFLOW): Remove fallback.
95478         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
95479         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
95481         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
95483         * modules/EOVERFLOW-tests: New file.
95484         * tests/test-EOVERFLOW.c: New file.
95486         * modules/EOVERFLOW: New file.
95487         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
95489 2008-03-30  Bruno Haible  <bruno@clisp.org>
95491         Fix bug introduced on 2007-06-10.
95492         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
95493         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
95495 2008-03-30  Bruno Haible  <bruno@clisp.org>
95497         Improve freadseek's efficiency after ungetc.
95498         * lib/freadseek.c: Include freadahead.h.
95499         (freadptrinc): New function, extracted from freadseek.
95500         (freadseek): Use it in a loop. Use freadahead to determine the number
95501         of loop iterations.
95502         * modules/freadseek (Depends-on): Add freadahead.
95503         (configure.ac): Require AC_C_INLINE.
95505 2008-03-30  Bruno Haible  <bruno@clisp.org>
95507         * lib/freadseek.c (freadseek): Don't ignore the return value of
95508         freadptr.
95510 2008-03-29  Eric Blake  <ebb9@byu.net>
95512         Add hex float support.
95513         * modules/strtod (Depends-on): Add c-ctype.
95514         (Link): Mention POW_LIB.
95515         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
95516         whitespace between 'e' and exponent.
95517         * tests/test-strtod.c (main): Enable hex float tests.
95518         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
95519         now provides.
95521         Document various strtod bugs, with some fixes.
95522         * doc/posix-functions/strtod.texi (strtod): Document bugs with
95523         "-0x", "inf", "nan", and hex constants.
95524         * doc/posix-functions/atof.texi (atof): Likewise.
95525         * modules/stdlib (Makefile.am): Support strtod.
95526         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
95527         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
95528         detect additional strtod bugs.
95529         * lib/stdlib.in.h (rpl_strtod): Add declarations.
95530         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
95531         bool where appropriate.  Parse 'inf' and 'nan'.
95532         * tests/test-strtod.c: New file.
95533         * modules/strtod (Depends-on): Add stdbool, stdlib.
95534         (configure.ac): Turn on module indicator.
95535         * modules/strtod-tests: New module.
95537 2008-03-29  Eric Blake  <ebb9@byu.net>
95539         Fix ftell on mingw.
95540         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
95541         * modules/ftell-tests (Depends-on): Add binary-io.
95542         * modules/ftello-tests (Depends-on): Likewise.
95543         * tests/test-ftell.c (main): Enhance test to cover behavior after
95544         ungetc.  Enforce binary mode.
95545         * tests/test-ftello.c (main): Likewise.
95547         Pass test-freadseek on cygwin.
95548         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
95549         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
95550         ungetc buffer.
95552         * tests/test-fflush2.c (main): Fix typo.
95554 2008-03-29  Bruno Haible  <bruno@clisp.org>
95556         * tests/test-fflush2.c (main): Temporarily disable the contents of
95557         this test.
95558         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
95559         Reported by Eric Blake.
95561 2008-03-28  Simon Josefsson  <simon@josefsson.org>
95563         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
95564         (GC_SHA224_DIGEST_SIZE): Add.
95566         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
95567         (gc_hash_digest_length): Likewise.
95568         (gc_hash_buffer): Likewise.
95570 2008-03-25  Bruno Haible  <bruno@clisp.org>
95572         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
95573         detail which gettext release to use.
95574         Reported by Simon Josefsson.
95576 2008-03-26  Jim Meyering  <meyering@redhat.com>
95578         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
95579         * modules/gnumakefile (clean-GNUmakefile): Also, use
95580         test ... && ... || : syntax rather than if-then ... fi.
95582         gnumakefile: Don't double-quote-expand $(VPATH) value.
95583         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
95585 2008-03-24  Eric Blake  <ebb9@byu.net>
95587         Alter GNUmakefile to install into top directory.
95588         * modules/maintainer-makefile: Split, and add dependency...
95589         * modules/gnumakefile: to this new module.
95590         * build-aux/GNUmakefile: Move...
95591         * top/GNUmakefile: ...here.
95592         * build-aux/maint.mk: Move...
95593         * top/maint.mk: ...here.
95594         * MODULES.html.sh (Support for maintaining...): Document new
95595         module.
95597 2008-03-23  Bruno Haible  <bruno@clisp.org>
95599         * gnulib-tool: New options --vc-files, --no-vc-files.
95600         (func_usage): Document them.
95601         (vc_files): New variable.
95602         (func_import): Consider vc_files.
95603         (func_create_testdir): Set vc_files to empty.
95604         Suggested by Jim Meyering and Karl Berry.
95606 2008-03-23  Bruno Haible  <bruno@clisp.org>
95608         Fix regex compilation error on HP-UX 11.
95609         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
95610         * modules/regex (Files): Add m4/mbstate_t.m4.
95611         Reported by Ton Voon <ton.voon@altinity.com>.
95613 2008-03-23  Bruno Haible  <bruno@clisp.org>
95615         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
95617 2008-03-23  Eric Blake  <ebb9@byu.net>
95618             Bruno Haible  <bruno@clisp.org>
95620         Install files from top/ in the destination directory.
95621         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
95622         augmentation also for the files from top/.
95623         (func_import, func_create_testdir): Rewrite file names:
95624         top/filename -> filename.
95626 2008-03-23  Bruno Haible  <bruno@clisp.org>
95628         Tweak "gnulib --version" output.
95629         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
95631 2008-03-23  Bruno Haible  <bruno@clisp.org>
95633         Tweak "gnulib --version" output.
95634         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
95635         rather than contents of ChangeLog, when possible.
95637 2008-03-21  Eric Blake  <ebb9@byu.net>
95639         More --version tweaks.
95640         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
95641         date of last ChangeLog entry.
95643 2008-03-21  Jim Meyering  <meyering@redhat.com>
95645         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
95647 2008-03-20  Eric Blake  <ebb9@byu.net>
95649         VPATH fix.
95650         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
95652 2008-03-20  Simon Josefsson  <simon@josefsson.org>
95654         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
95655         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
95657 2008-03-20  Eric Blake  <ebb9@byu.net>
95659         Sync GNUmakefile with coreutils.
95660         * build-aux/GNUmakefile (have-Makefile): Rename...
95661         (_have-Makefile): ...to this, for namespace consideration.
95662         (GNUmakefile.cfg): Include, if present.
95663         (_autoreconf): Define a default.
95664         (_is-dist-target): New rule for rebuilds to pick up intra-release
95665         version.
95666         (maint-cfg.mk): Rename...
95667         (cfg.mk): ...to this.
95669 2008-03-18  Jim Meyering  <meyering@redhat.com>
95671         New script and module: mktempd
95672         * MODULES.html.sh (maint+release support): Add mktempd.
95673         * build-aux/mktempd: New file.
95674         * modules/mktempd: New file.
95676 2008-03-15  Jim Meyering  <meyering@redhat.com>
95678         Undo last change.
95679         * lib/sha1.c, lib/md5.c: 63 != ~63.
95680         Reported by Andreas Schwab.
95682         sha1.c, md5.c: Hoist a redundant expression.
95683         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
95684         "ctx->buflen" only once, before calling *_process_block.
95685         * lib/md5.c (md5_process_bytes): Likewise.
95687 2008-03-14  Eric Blake  <ebb9@byu.net>
95689         Bump copyright year in files generated by gnulib-tool.
95690         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
95691         gnulib-tool, rather than hard-coding it.
95693         Fix 'gnulib-tool --version' output to work with git.
95694         * gnulib-tool (func_gnulib_dir): New function, extracted from...
95695         (startup): ...here.
95696         (func_version): Use it to invoke git-version-gen, rather than
95697         relying on CVS keyword expansion.  Modernize wording.
95698         (cvsdatestamp, last_checkin_date, version): Kill unused
95699         variables.
95701 2008-03-12  Jim Meyering  <meyering@redhat.com>
95703         Recognize optional cast of the argument to free.
95704         * build-aux/useless-if-before-free: Update regexps.
95706         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
95708 2008-03-11  Bruno Haible  <bruno@clisp.org>
95710         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
95711         by a single package.
95712         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
95713         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
95714         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
95715         Reported by Sam Steingold <sds@gnu.org>.
95717 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
95719         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
95720         repositories.
95722 2008-03-11  Bruno Haible  <bruno@clisp.org>
95724         Avoid conflicts between local macro definitions.
95725         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
95726         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
95728 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
95729             Bruno Haible  <bruno@clisp.org>
95731         Make va_copy work with some version of xlc on AIX 5.1.
95732         * lib/stdarg.in.h: New file.
95733         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
95734         On AIX, use a <stdarg.h> file substitute.
95735         * modules/stdarg (Files): Add lib/stdarg.in.h.
95736         (Depends-on): Add include_next.
95737         (Makefile.am): Build a stdarg.h substitute if requested.
95738         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
95740 2008-03-10  Bruno Haible  <bruno@clisp.org>
95742         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
95743         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95744         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
95746 2008-03-10  Bruno Haible  <bruno@clisp.org>
95748         * modules/stdlib (Depends-on): Add include_next, remove
95749         absolute-header.
95751 2008-03-09  Bruno Haible  <bruno@clisp.org>
95753         * lib/freadahead.h (freadahead): Document more precisely.
95754         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
95755         the sum of both buffer sizes.
95756         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
95757         * NEWS: Document the change.
95759 2008-03-09  Bruno Haible  <bruno@clisp.org>
95761         Extend freadptr to return also the buffer size.
95762         * lib/freadptr.h (freadptr): Add sizep argument.
95763         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
95764         (freadptr): Add sizep argument. Determine buffer size like freadahead
95765         does.
95766         * tests/test-freadptr.c: Don't include freadahead.h.
95767         (main): Adapt for new calling convention of freadptr.
95768         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
95769         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
95770         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
95771         tests/test-freadptr2.sh.
95772         (Depends): Remove freadahead.
95773         (TESTS): Add test-freadptr2.sh.
95774         (check_PROGRAMS): Add test-freadptr2.
95776 2008-03-09  Bruno Haible  <bruno@clisp.org>
95778         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
95779         Report and solution by Simon Josefsson.
95781 2008-03-06  Bruno Haible  <bruno@clisp.org>
95783         Make fflush after ungetc work on BSD platforms.
95784         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
95785         * tests/test-fflush2.c: New file.
95786         * tests/test-fflush2.sh: New file.
95787         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
95788         tests/test-fflush2.c.
95789         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
95790         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
95792 2008-03-06  Eric Blake  <ebb9@byu.net>
95794         Likewise for ftello.
95795         * modules/ftello (Dependencies): Add extensions.
95796         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
95798 2008-03-06  Bruno Haible  <bruno@clisp.org>
95800         * modules/fseeko (Dependencies): Add extensions.
95801         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
95802         Needed on glibc systems.
95804 2008-03-06  Bruno Haible  <bruno@clisp.org>
95806         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
95807         email address.
95808         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
95810 2008-03-06  Bruno Haible  <bruno@clisp.org>
95812         * users.txt: Add libgnupdf.
95814 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
95816         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
95817         (Header File Substitutes, Function Substitutes,
95818         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
95819         (Build robot for gnulib): Fix typo.
95821 2008-03-06  Bruno Haible  <bruno@clisp.org>
95823         * doc/gnulib-tool.texi (VCS Issues): Small updates.
95824         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
95826 2008-03-06  Bruno Haible  <bruno@clisp.org>
95828         * doc/func.texi: New file, extracted from doc/gnulib.texi.
95829         * doc/gnulib.texi: Include it.
95831 2008-03-06  Simon Josefsson  <simon@josefsson.org>
95833         * modules/func (License): Change license to unlimited; there was
95834         no LGPL parts in the module anyway.
95836 2008-03-06  Simon Josefsson  <simon@josefsson.org>
95838         * modules/__func__: Renamed to modules/func.
95839         * modules/__func__-tests: Renamed to modules/func-tests.
95840         * tests/test-__func__.c: Renamed to tests/test-func.c.
95841         * m4/__func__.m4: Renamed to m4/func.m4.
95842         * doc/gnulib.texi (__func__): Section renamed to func.
95843         Suggested by Eric Blake <ebb9@byu.net>.
95845 2008-03-06  Simon Josefsson  <simon@josefsson.org>
95847         * doc/gnulib.texi (__func__): Use C99 terminology when talking
95848         about __func__.  Make example self-contained.  Suggested by Eric
95849         Blake <ebb9@byu.net>.
95851         * tests/test-__func__.c (main): Avoid extraneous () around __func.
95852         Suggested by Eric Blake <ebb9@byu.net>.
95854 2008-03-06  Simon Josefsson  <simon@josefsson.org>
95856         * modules/__func__: New file.
95857         * modules/__func__-tests: New file.
95858         * tests/test-__func__.c: New file.
95859         * m4/__func__.m4: New file.
95860         * doc/gnulib.texi (__func__): Document __func__ module.
95862 2008-03-05  Simon Josefsson  <simon@josefsson.org>
95864         * modules/byteswap (License): Re-license as LGPLv2+.
95866 2008-03-05  Simon Josefsson  <simon@josefsson.org>
95868         * doc/Makefile: Add pdf target.
95870 2008-03-05  Simon Josefsson  <simon@josefsson.org>
95872         * modules/inline (License): Use 'unlimited', since there are only
95873         *.m4 files in this module.
95875 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
95876             Bruno Haible  <bruno@clisp.org>
95878         Add support for HP C 7.1 on OpenVMS 8.3.
95879         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
95881 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
95883         Update VMS specifics.
95884         * lib/getopt.c [VMS]: Remove include of unixlib.h.
95886 2008-03-02  Jim Meyering  <meyering@redhat.com>
95888         Remove the last dependency on the "free" module.
95889         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
95890         Reported by Bob Proulx.
95892         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
95894         Remove useless "if" tests before free.  Deprecate "free" module.
95895         * doc/posix-functions/free.texi: Mention that this
95896         module is no longer useful.
95897         * modules/free (Notice): Say this module is obsolete.
95898         * modules/readutmp (Depends-on): Remove free.
95899         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
95900         * lib/putenv.c (putenv): Likewise.
95901         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
95902         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
95903         * tests/test-c-strcasestr.c (main): Likewise.
95904         * tests/test-c-strstr.c (main): Likewise.
95905         * tests/test-mbscasestr1.c (main): Likewise.
95906         * tests/test-mbscasestr2.c (main): Likewise.
95907         * tests/test-mbsstr1.c (main): Likewise.
95908         * tests/test-mbsstr2.c (main): Likewise.
95909         * tests/test-memmem.c (main): Likewise.
95910         * tests/test-strcasestr.c (main): Likewise.
95911         * tests/test-striconv.c (main): Likewise.
95912         * tests/test-striconveh.c (main): Likewise.
95913         * tests/test-striconveha.c (main): Likewise.
95914         * tests/test-strstr.c (main): Likewise.
95916         * build-aux/git-version-gen: Adjust a comment and the Usage string.
95918         bootstrap: sync from coreutils again
95919         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
95921 2008-03-01  Jim Meyering  <meyering@redhat.com>
95923         bootstrap: sync from coreutils
95924         * build-aux/bootstrap (update_po_files): Copy a .po file into place
95925         also when the target doesn't exist.
95927 2008-03-01  Eric Blake  <ebb9@byu.net>
95929         Fix bugs in last patch.
95930         * lib/memchr2.c (memchr2): Fix typo.
95931         * tests/test-memchr2.c: Test previous bug, and don't use GNU
95932         extension.
95933         Reported by Bruce Korb.
95935         New module 'memchr2'.
95936         * modules/memchr2: New file.
95937         * modules/memchr2-tests: Likewise.
95938         * lib/memchr2.h: Likewise.
95939         * lib/memchr2.c: Likewise, based on memchr.c.
95940         * tests/test-memchr2.c: New test.
95941         * MODULES.html.sh (String handling): Add memchr2.
95943 2008-02-29  Bruno Haible  <bruno@clisp.org>
95945         * modules/freadseek-tests: New file.
95946         * tests/test-freadseek.sh: New file.
95947         * tests/test-freadseek.c: New file.
95949         New module 'freadseek'.
95950         * modules/freadseek: New file.
95951         * lib/freadseek.h: New file.
95952         * lib/freadseek.c: New file.
95953         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
95955 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
95957         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
95958         wydawca.
95960         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
95961         program_invocation_name and program_invocation_short_name are
95962         present.
95964 2008-02-28  Bruno Haible  <bruno@clisp.org>
95966         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
95967         * tests/test-freadptr.sh: Also test non-seekable stdin.
95969 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
95971         * build-aux/bootstrap (source_base, m4_base)
95972         (doc_base, tests_base): New variables.
95973         (gnulib_tool_options): Do not hardcode base directories, use
95974         the above variables instead.
95976 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
95978         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
95980 2008-02-28  Bruno Haible  <bruno@clisp.org>
95982         * modules/freadptr-tests: New file.
95983         * tests/test-freadptr.sh: New file.
95984         * tests/test-freadptr.c: New file.
95986         New module 'freadptr'.
95987         * modules/freadptr: New file.
95988         * lib/freadptr.h: New file.
95989         * lib/freadptr.c: New file.
95990         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
95992 2008-02-26  Karl Berry  <karl@freefriends.org>
95994         Sync from Libtool:
95995         * libltdl/argz.c (argz_add, argz_count): New functions.
95996         * libltdl/argz.in.h: Declare them.
95997         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
95999 2008-02-22  Bruno Haible  <bruno@clisp.org>
96001         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
96002         is a pointer type.  Needed for HP-UX 10.
96003         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
96004         * doc/posix-functions/gmtime_r.texi: Likewise.
96005         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96007 2008-02-24  Bruno Haible  <bruno@clisp.org>
96009         * modules/environ-tests: New file.
96010         * tests/test-environ.c: New file.
96012         New module 'environ'.
96013         * modules/environ: New file.
96014         * lib/unistd.in.h (environ): New declaration.
96015         * m4/environ.m4: New file.
96016         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
96017         after use.
96018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
96019         HAVE_DECL_ENVIRON.
96020         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
96021         HAVE_DECL_ENVIRON.
96022         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
96023         wrong claim that 'environ' is missing on some systems.
96024         * modules/execute (Depends-on): Add environ.
96025         * lib/execute.c (environ): Remove fallback declaration.
96026         * modules/pipe (Depends-on): Add environ.
96027         * lib/pipe.c (environ): Remove fallback declaration.
96028         * modules/setenv (Depends-on): Add environ.
96029         * lib/setenv.c (environ): Remove fallback declaration.
96030         * modules/unsetenv (Depends-on): Add environ.
96031         * lib/unsetenv.c (environ): Remove fallback declaration.
96032         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
96033         m4/environ.m4.
96034         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
96035         (gl_PREREQ_UNSETENV): Likewise.
96037 2008-02-24  Bruno Haible  <bruno@clisp.org>
96039         * doc/posix-functions/environ.texi: Document the MacOS X problem.
96041 2008-02-20  Bob Proulx  <bob@proulx.com>
96043         Enable use of older two part flavor 'git describe'.
96044         * build-aux/git-version-gen: If using the older two part flavor of
96045         git version then recreate the third part now present in the
96046         newer three part flavor of git describe.
96048 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
96050         * lib/fts.c (fts_build): Typo correction to comment.
96052 2008-02-17  Bruno Haible  <bruno@clisp.org>
96054         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
96055         generating no-op conflicts.
96057 2008-02-17  Bruno Haible  <bruno@clisp.org>
96059         Speed up by 10%.
96060         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
96061         result_entries, rather than an index-based loop.
96063 2008-02-17  Bruno Haible  <bruno@clisp.org>
96065         Speed up by 25%.
96066         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
96067         'hashcode_cached'.
96068         (entry_create): New function.
96069         (entry_hashcode): Use the cached hashcode if possible.
96070         (read_changelog_file, try_split_merged_entry): Use entry_create.
96072 2008-02-17  Bruno Haible  <bruno@clisp.org>
96074         Speed up from O(n^2) to O(n) for long ChangeLog files.
96075         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
96076         (read_changelog_file): Change implementation of entries_reversed list
96077         to rbtreehash.
96078         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
96080 2008-02-17  Bruno Haible  <bruno@clisp.org>
96082         New option --split-merged-entry.
96083         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
96084         (find_paragraph_end, try_split_merged_entry): New functions.
96085         (long_options): Add option --split-merged-entry.
96086         (usage): Document option --split-merged-entry.
96087         (main): Implement option --split-merged-entry.
96088         Reported by Eric Blake.
96090 2008-02-17  Bruno Haible  <bruno@clisp.org>
96092         * lib/git-merge-changelog.c: Include c-strstr.h.
96093         (main): Support the "git pull --rebase" situation.
96094         * modules/git-merge-changelog (Depends-on): Add c-strstr.
96095         Reported by Eric Blake.
96097 2008-02-16  Eric Blake  <ebb9@byu.net>
96099         Avoid doubling \ in common case of "c-maybe" quoting style.
96100         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
96101         eliding outer quotes.
96102         * lib/quotearg.h: Document this.
96103         * tests/test-quotearg.c (result_strings, inputs, results_g)
96104         (flag_results, locale_results): Test it by adding a new string to
96105         each test group.
96106         (compare_strings): Test new string.
96108 2008-02-13  Eric Blake  <ebb9@byu.net>
96110         Avoid trigraph quoting in default output.
96111         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
96112         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
96113         unless explicitly requested.
96114         * tests/test-quotearg.c (flag_results, main): Add additional tests.
96116 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
96118         Don't rely on signed integer overflowing to negative value.
96119         * lib/getugroups.c (getugroups): Include <limits.h>.
96120         Instead, compare against INT_MAX, and increment only if the test passes.
96122 2008-02-13  Jim Meyering  <meyering@redhat.com>
96123         and Eric Blake  <ebb9@byu.net>
96125         Avoid shadowing warning and compile errors on Linux.
96126         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
96127         forwarding macros on Linux.
96128         (dcgettext): Define a stub, for Linux.
96129         (results_g, main): Avoid warnings.
96131 2008-02-12  Eric Blake  <ebb9@byu.net>
96133         Silence warning in last patch.
96134         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
96136         Quotearg part 4: add tests, fix c-maybe colon quoting.
96137         * lib/quotearg.h: Improve documentation.
96138         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
96139         escapes when adding outer quotes.  When quoting trigraphs, use
96140         valid C notation.  When quoting NUL, omit extra characters if next
96141         character is not digit.  Alter prototype.
96142         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
96143         callers.
96144         * modules/quotearg-tests: New module.
96145         * tests/test-quotearg.c: New test.
96147 2008-02-07  Eric Blake  <ebb9@byu.net>
96149         Quotearg part 3: add flag to control outer quote elision.
96150         * lib/quotearg.h (c_maybe_quoting_style): New style.
96151         (enum quoting_flags): Better documentation of flags.
96152         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
96153         c-maybe style.
96154         (quotearg_buffer_restyled): Handle new flag to elide outer
96155         quotes.
96157         Quotearg part 2: add flag that can control NUL elision.
96158         * lib/quotearg.h (set_quoting_flags): New prototype.
96159         * lib/quotearg.c (struct quoting_options): Add flag field.
96160         (set_quoting_flags): New function.
96161         (quotearg_buffer_restyled): Add flags parameter.
96162         (quotearg_alloc_mem): Set the flag if length cannot be returned.
96163         (quotearg_n_options): Set the flag, since length cannot be
96164         returned.
96165         (quoting_options_from_style): Default flags correctly.
96167         Quotearg part 1: more wrappers, restore quotearg_char state.
96168         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
96169         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
96170         (quotearg_colon_mem): New wrappers.
96171         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
96172         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
96173         functions.
96174         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
96175         (quotearg_colon_mem): New functions.
96177 2008-02-11  Bruno Haible  <bruno@clisp.org>
96179         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
96180         library in the current directory: it does not work with parallel make.
96181         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96183 2008-02-11  Bruno Haible  <bruno@clisp.org>
96185         * .gitattributes: New file.
96187 2008-02-11  Jim Meyering  <meyering@redhat.com>
96189         useless-if-before-free: Fix reversed exit values.
96190         * build-aux/useless-if-before-free: Use correct values
96191         for EXIT_MATCH and EXIT_NO_MATCH.
96193         * build-aux/useless-if-before-free: Close stdout carefully.
96195 2008-02-10  Bruno Haible  <bruno@clisp.org>
96197         New module 'git-merge-changelog'.
96198         * modules/git-merge-changelog: New file.
96199         * lib/git-merge-changelog.c: New file.
96201 2008-02-10  Jim Meyering  <meyering@redhat.com>
96203         useless-if-before-free: New option: --list (-l).
96205         useless-if-before-free: Don't exit immediately upon open failure.
96206         * build-aux/useless-if-before-free: Exit 2 for errors.
96207         Upon failure to open a file, don't exit immediately.
96208         Rather, just warn and continue with any remaining files.
96210 2008-02-10  Bruno Haible  <bruno@clisp.org>
96212         New abstract list operation 'node_set_value'.
96213         * lib/gl_list.h (gl_list_node_set_value): New function.
96214         (struct gl_list_implementation): New field node_set_value.
96215         * lib/gl_list.c (gl_list_node_set_value): New function.
96216         * lib/gl_array_list.c (gl_array_node_set_value): New function.
96217         (gl_array_list_implementation): Update.
96218         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
96219         (gl_carray_list_implementation): Update.
96220         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
96221         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96222         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96223         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
96224         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96225         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96226         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96227         Update.
96228         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
96229         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
96230         (gl_sublist_list_implementation): Update.
96232 2008-02-10  Bruno Haible  <bruno@clisp.org>
96234         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
96235         Needed when ELEMENT is #defined to 'some_type *'.
96237 2008-02-10  Jim Meyering  <meyering@redhat.com>
96239         New script and module: useless-if-before-free
96240         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
96241         * build-aux/useless-if-before-free: New file.
96242         * modules/useless-if-before-free: New file.
96244         * build-aux/gitlog-to-changelog: Use committer date, not author date.
96246         xstrtol_error: Fix typo.
96247         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
96248         s/exit_failure/exit_status/.
96250 2008-02-09  Jim Meyering  <meyering@redhat.com>
96252         New script and module: gitlog-to-changelog
96253         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
96254         * modules/gitlog-to-changelog: New file.
96255         * build-aux/gitlog-to-changelog: New file.
96257 2008-02-08  Jim Meyering  <meyering@redhat.com>
96259         Avoid two "parameter unused" warnings.
96260         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
96261         Mark "st" as used.
96263         Use "git COMMAND", not "git-COMMAND".
96264         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
96265         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
96266         * build-aux/git-version-gen: Use "git status", not "git-status".
96268 2008-02-07  Bruno Haible  <bruno@clisp.org>
96270         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
96271         Avoids a crash on Windows Vista.
96272         Reported by Adam Strzelecki <ono@java.pl> via
96273         Simon Josefsson <simon@josefsson.org>.
96275 2008-02-06  Bruno Haible  <bruno@clisp.org>
96277         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
96278         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
96279         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
96280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
96281         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
96282         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
96283         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
96284         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
96285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
96286         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
96287         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
96288         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
96289         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
96290         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96291         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
96292         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
96293         left-adjust flag.
96294         * tests/test-snprintf-posix.h (test_function): Likewise.
96295         * tests/test-sprintf-posix.h (test_function): Likewise.
96296         * tests/test-vasprintf-posix.c (test_function): Likewise.
96297         * doc/posix-functions/fprintf.texi: Update.
96298         * doc/posix-functions/printf.texi: Update.
96299         * doc/posix-functions/snprintf.texi: Update.
96300         * doc/posix-functions/sprintf.texi: Update.
96301         * doc/posix-functions/vfprintf.texi: Update.
96302         * doc/posix-functions/vprintf.texi: Update.
96303         * doc/posix-functions/vsnprintf.texi: Update.
96304         * doc/posix-functions/vsprintf.texi: Update.
96305         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96307 2008-02-06  Bruno Haible  <bruno@clisp.org>
96309         Fix bug introduced on 2008-01-26.
96310         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
96312 2008-02-06  Bruno Haible  <bruno@clisp.org>
96314         Fix bug introduced on 2007-06-10.
96315         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
96316         !NEED_PRINTF_FLAG_ZERO.
96318 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
96320         getloadavg: use libperfstat on AIX5
96321         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
96323 2008-02-03  Bruno Haible  <bruno@clisp.org>
96325         * lib/diffseq.h: Add comments about required #includes.
96326         Reported by Michael Biggs <gnulib@doubleplum.net>.
96328 2008-02-01  Bruno Haible  <bruno@clisp.org>
96330         * users.txt: Add gnuit.
96332 2008-01-31  Bruno Haible  <bruno@clisp.org>
96334         * lib/md4.c (set_uint32): Mark as inline.
96335         * lib/md5.c (set_uint32): Likewise.
96336         * lib/sha1.c (set_uint32): Likewise.
96337         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
96338         * m4/md5.m4 (gl_MD5): Likewise.
96339         * m4/sha1.m4 (gl_SHA1): Likewise.
96341 2008-01-31  Jim Meyering  <meyering@redhat.com>
96343         Use "sizeof VAR", rather than a literal "4".
96344         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
96345         * lib/md4.c (md4_read_ctx): Likewise.
96346         * lib/sha1.c (sha1_read_ctx): Likewise.
96348 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96350         * tests/test-sha1.c: New file, based on test-md5.c.
96352         * modules/crypto/sha1-tests: New file.
96354 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96356         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
96358 2008-01-31  Jim Meyering  <meyering@redhat.com>
96360         Prefer "sizeof v" over the equivalent "4".
96361         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
96362         * lib/md5.c (set_uint32): Likewise.
96363         * lib/sha1.c (set_uint32): Likewise.
96365 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96367         * lib/sha1.c (set_uint32): Mark function as static.
96369 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96371         md2: clarify comments to say that alignment is not required.
96372         * lib/md2.h: Remove warning about alignment in comment.
96373         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
96374         never been required.
96376 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96378         md4: adapt alignment constraint fix from sha1.
96379         * lib/md4.c (set_uint32): New function, from sha1.c
96380         (md4_read_ctx): Use it.
96381         (md4_finish_ctx): Doc fix.
96382         * lib/md4.h: Doc fix.
96384 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96386         md5: adapt alignment constraint fix from sha1.
96387         * lib/md5.c (set_uint32): New function, from sha1.c
96388         (md5_read_ctx): Use it.
96389         (md5_finish_ctx): Doc fix.
96390         * lib/md5.h: Doc fix.
96392 2008-01-30  Peter Palfrader  <weasel@debian.org>
96394         sha1: remove the result buffer alignment constraint
96395         * lib/sha1.c (set_uint32): New function.
96396         (sha1_read_ctx): Rewrite to remove the result buffer alignment
96397         constraint.
96398         (sha1_finish_ctx): Remove comment warning about alignment constraint.
96399         * lib/sha1.h: Likewise.
96401 2008-01-30  Andreas Schwab  <schwab@suse.de>
96402             Bruno Haible  <bruno@clisp.org>
96404         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
96405         correct definition of LDBL_MIN_EXP.
96407 2008-01-30  Karl Berry  <karl@gnu.org>
96409         * config/srclist-update: try to preserve x bit on updates.
96410         * config/srclistvars.sh: update for karl.
96412 2008-01-29  Jim Meyering  <meyering@redhat.com>
96414         vasnprintf.c: Avoid warning about unused label
96415         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
96416         "overflow" label definition and associated code with the
96417         same cpp condition that guards the sole use of that label.
96419 2008-01-26  Bruno Haible  <bruno@clisp.org>
96421         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
96422         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
96423         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
96424         * lib/isnanl-nolibm.h (isnanl): Likewise.
96425         Reported by Paul Eggert <eggert@cs.ucla.edu>.
96427 2008-01-26  Bruno Haible  <bruno@clisp.org>
96429         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
96430         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
96432 2008-01-26  Bruno Haible  <bruno@clisp.org>
96434         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
96435         GCC >= 4.0 built-in.
96436         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
96438 2008-01-26  Bruno Haible  <bruno@clisp.org>
96440         Rename isnan, applicable to 'double' only, to isnand.
96441         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
96442         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
96443         (configure.ac): Update.
96444         (Include): Replace "isnan.h" with "isnand.h".
96445         * m4/isnand.m4: Renamed from m4/isnan.m4.
96446         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
96447         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
96448         instead of isnan.c.
96449         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
96450         instead of HAVE_ISNAN_IN_LIBC.
96451         (isnand): Renamed from isnan.
96452         * lib/isnand.c: New file.
96453         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
96454         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
96455         (Makefile.am): Update.
96456         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
96457         Include isnand.h instead of isnan.h.
96458         (main): Test isnand instead of isnan.
96459         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
96460         isnan-nolibm.
96461         * modules/frexp (Depends-on): Likewise.
96462         * modules/frexp-tests (Depends-on): Likewise.
96463         * modules/frexp-nolibm (Depends-on): Likewise.
96464         * modules/frexp-nolibm-tests (Depends-on): Likewise.
96465         * modules/isfinite (Depends-on): Likewise.
96466         * modules/round-tests (Depends-on): Likewise.
96467         * modules/signbit (Depends-on): Likewise.
96468         * modules/signbit-tests (Depends-on): Likewise.
96469         * modules/snprintf-posix (Depends-on): Likewise.
96470         * modules/sprintf-posix (Depends-on): Likewise.
96471         * modules/trunc-tests (Depends-on): Likewise.
96472         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
96473         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
96474         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
96475         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
96476         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
96477         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
96478         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
96479         * modules/vasnprintf-posix (Depends-on): Likewise.
96480         * modules/vasprintf-posix (Depends-on): Likewise.
96481         * modules/vfprintf-posix (Depends-on): Likewise.
96482         * modules/vsnprintf-posix (Depends-on): Likewise.
96483         * modules/vsprintf-posix (Depends-on): Likewise.
96484         * lib/frexp.c: Include isnand.h instead of isnan.h.
96485         (ISNAN): Set to isnand instead of isnan.
96486         * lib/isfinite.c: Include isnand.h instead of isnan.h.
96487         (gl_isfinited): Use isnand instead of isnan.
96488         * lib/signbitd.c: Include isnand.h instead of isnan.h.
96489         (gl_signbitd): Use isnand instead of isnan.
96490         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
96491         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
96492         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
96493         (main): Use isnand instead of isnan.
96494         * tests/test-round1.c: Include isnand.h.
96495         (main): Use isnand instead of isnan.
96496         * tests/test-round2.c: Include isnand.h instead of isnan.h.
96497         (ISNAN): Set to isnand instead of isnan.
96498         * tests/test-trunc1.c: Include isnand.h.
96499         (main): Use isnand instead of isnan.
96500         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
96501         (equal): Use isnand instead of isnan.
96502         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
96503         isnand-nolibm.
96504         * NEWS: Mention the change.
96506 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
96507             Bruno Haible  <bruno@clisp.org>
96509         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
96510         the GCC builtins for signbits are present and set
96511         REPLACE_SIGNBIT_USING_GCC if so.
96512         * lib/math.in.h (signbit): Define using GCC builtins if
96513         REPLACE_SIGNBIT_USING_GCC is set.
96514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
96515         REPLACE_SIGNBIT_USING_GCC.
96516         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
96518 2008-01-25  Jim Meyering  <meyering@redhat.com>
96520         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
96521         * lib/poll.c: Include <config.h>, not "config.h".
96522         * tests/test-getaddrinfo.c: Likewise.
96524 2008-01-25  Simon Josefsson  <simon@josefsson.org>
96526         * modules/sockets-tests: New file.
96528 2008-01-24  Simon Josefsson  <simon@josefsson.org>
96530         * modules/sockets: New module, can be used to call WSA_Startup and
96531         WSA_Cleanup when needed.
96533         * lib/sockets.h, lib/sockets.c: New files.
96535         * m4/sockets.m4: New file.
96537         * tests/test-sockets.c: New file.
96539 2008-01-19  Bruno Haible  <bruno@clisp.org>
96541         * doc/posix-headers: Renamed from doc/headers.
96542         * doc/posix-functions: Renamed from doc/functions.
96543         * doc/gnulib.texi: Update.
96545 2008-01-19  Bruno Haible  <bruno@clisp.org>
96547         * doc/glibc-functions/strcasestr.texi: Include contents of
96548         doc/functions/strcasestr.texi, fixing the list of platforms.
96549         * doc/functions/strcasestr.texi: Remove file.
96551 2008-01-19  Bruno Haible  <bruno@clisp.org>
96553         * doc/glibc-functions/memmem.texi: Include contents of
96554         doc/functions/memmem.texi.
96555         * doc/functions/memmem.texi: Remove file.
96557 2008-01-18  Bruno Haible  <bruno@clisp.org>
96559         * doc/glibc-functions/*.texi: New files.
96560         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
96561         to use the new files.
96563 2008-01-17  Bruno Haible  <bruno@clisp.org>
96565         * tests/test-gethostname.c (main): Fix printf statement.
96567 2008-01-17  Simon Josefsson  <simon@josefsson.org>
96569         * modules/gethostname-tests: New file.
96571         * tests/test-gethostname.c: New file.
96573 2008-01-17  Simon Josefsson  <simon@josefsson.org>
96575         * lib/gethostname.c: Include string.h unconditionally, strncpy is
96576         used by the UNAME case.  Reported by Bruno Haible
96577         <bruno@clisp.org>.
96579 2008-01-17  Eric Blake  <ebb9@byu.net>
96581         Convert c-strcasestr to be more efficient.
96582         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
96583         (Depends-on): Add c-strcase, remove malloca, strnlen.
96584         * tests/test-c-strcasestr.c (main): Enhance test.
96585         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
96587 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
96589         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
96590         Use it in creating po/Makevars.
96592 2008-01-15  Simon Josefsson  <simon@josefsson.org>
96594         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
96595         Applications that requires it should initialize libgcrypt
96596         manually.
96598 2008-01-16  Simon Josefsson  <simon@josefsson.org>
96600         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
96602 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
96604         Fix problem with getdate on mingw32 reported by Simon Josefsson
96605         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
96606         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
96607         tzname", when deciding whether to declare tzname.
96608         * lib/strftime.c (tzname): Likewise.
96610 2008-01-15  Bruno Haible  <bruno@clisp.org>
96612         Work around a MacOS X 10.5 bug in frexpl().
96613         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
96614         * doc/functions/frexpl.texi: Document the bug.
96615         Reported by Elias Pipping <pipping@gentoo.org>.
96617 2008-01-14  Eric Blake  <ebb9@byu.net>
96619         Touch up previous patch.
96620         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
96621         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
96623         Convert strcasestr module to use Two-Way algorithm.
96624         * modules/strcasestr-simple: New module, based on the old
96625         strcasestr, but with Two-Way rather than KMP.
96626         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
96627         * lib/string.in.h (rpl_strcasestr): Declare.
96628         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
96629         performance.
96630         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
96631         * modules/string (Makefile.am): Support strcasestr.
96632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
96633         * modules/strcasestr-tests (Depends-on): Check for alarm.
96634         * tests/test-strcasestr.c: Augment test.
96635         * lib/str-two-way.h: Clean up stray macro.
96636         * NEWS: Document new module.
96637         * MODULES.html.sh (string handling): Likewise.
96638         * doc/functions/strcasestr.texi: New file.
96639         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
96640         here, since it is not a POSIX function.
96642 2008-01-14  Colin Watson  <cjwatson@debian.org>
96643             Bruno Haible  <bruno@clisp.org>
96645         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
96646         works fine; if not, set REPLACE_STRSIGNAL.
96647         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
96648         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
96649         REPLACE_STRSIGNAL.
96650         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
96651         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
96652         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
96654 2008-01-14  Bruno Haible  <bruno@clisp.org>
96656         * modules/strsignal (Include): Change to <string.h>.
96658 2008-01-14  Colin Watson  <cjwatson@debian.org>
96660         * modules/argp (Notice): Add a notice recommending to change
96661         XGETTEXT_OPTIONS.
96662         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
96664 2008-01-13  Colin Watson  <cjwatson@debian.org>
96666         * modules/strsignal-tests: New file.
96667         * tests/test-strsignal.c: New file.
96669         * lib/strsignal.c: New file, from glibc with modifications.
96670         * lib/siglist.h: New file, from glibc with modifications.
96671         * lib/string.in.h (strsignal): New declaration.
96672         * m4/strsignal.m4: New file.
96673         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
96674         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
96675         * modules/strsignal: New file.
96676         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
96677         HAVE_DECL_STRSIGNAL.
96679 2008-01-13  Bruno Haible  <bruno@clisp.org>
96681         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
96682         locale encoding is not ASCII. Needed for OpenBSD 4.0.
96683         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
96684         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
96686 2008-01-13  Bruno Haible  <bruno@clisp.org>
96688         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
96689         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
96690         * lib/argp.h (__attribute__): Likewise.
96691         * lib/c-stack.c (__attribute__): Likewise.
96692         * lib/error.h (__attribute__): Likewise.
96693         * lib/fts.c (__attribute__): Likewise.
96694         * lib/openat.h (__attribute__): Likewise.
96695         * lib/stdio.in.h (__attribute__): Likewise.
96696         * lib/string.in.h (__attribute__): Likewise.
96697         * lib/utimens.c (__attribute__): Likewise.
96698         * lib/vasnprintf.h (__attribute__): Likewise.
96699         * lib/xalloc.h (__attribute__): Likewise.
96700         * lib/xprintf.h (__attribute__): Likewise.
96701         * lib/xstrtol.h (__attribute__): Likewise.
96702         * lib/xvasprintf.h (__attribute__): Likewise.
96704 2008-01-12  Bruno Haible  <bruno@clisp.org>
96706         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
96707         * doc/glibc-headers/a.out.texi: New file.
96708         * doc/glibc-headers/aliases.texi: New file.
96709         * doc/glibc-headers/alloca.texi: New file.
96710         * doc/glibc-headers/ar.texi: New file.
96711         * doc/glibc-headers/argp.texi: New file.
96712         * doc/glibc-headers/argz.texi: New file.
96713         * doc/glibc-headers/byteswap.texi: New file.
96714         * doc/glibc-headers/crypt.texi: New file.
96715         * doc/glibc-headers/endian.texi: New file.
96716         * doc/glibc-headers/envz.texi: New file.
96717         * doc/glibc-headers/err.texi: New file.
96718         * doc/glibc-headers/error.texi: New file.
96719         * doc/glibc-headers/execinfo.texi: New file.
96720         * doc/glibc-headers/fpu_control.texi: New file.
96721         * doc/glibc-headers/fstab.texi: New file.
96722         * doc/glibc-headers/fts.texi: New file.
96723         * doc/glibc-headers/getopt.texi: New file.
96724         * doc/glibc-headers/ieee754.texi: New file.
96725         * doc/glibc-headers/ifaddrs.texi: New file.
96726         * doc/glibc-headers/libintl.texi: New file.
96727         * doc/glibc-headers/mcheck.texi: New file.
96728         * doc/glibc-headers/mntent.texi: New file.
96729         * doc/glibc-headers/obstack.texi: New file.
96730         * doc/glibc-headers/paths.texi: New file.
96731         * doc/glibc-headers/printf.texi: New file.
96732         * doc/glibc-headers/pty.texi: New file.
96733         * doc/glibc-headers/resolv.texi: New file.
96734         * doc/glibc-headers/shadow.texi: New file.
96735         * doc/glibc-headers/sysexits.texi: New file.
96736         * doc/glibc-headers/ttyent.texi: New file.
96738 2008-01-12  Jim Meyering  <meyering@redhat.com>
96740         announce-gen: emit Gnulib's git-based version string.
96741         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
96742         New option --gnulib-version=V, where V is expected to be
96743         the output of running git describe in the gnulib directory.
96744         (get_tool_versions): Request feedback on xdelta.  I suspect it's
96745         not useful, and plan to stop publishing an xdelta file with each
96746         coreutils release.
96748         * build-aux/announce-gen: Also check for lzma-compressed files.
96750 2008-01-11  Bruno Haible  <bruno@clisp.org>
96752         * tests/test-memmem.c (main): Increase maximum allowed time.
96753         * tests/test-strstr.c (main): Likewise.
96755 2008-01-11  Bruno Haible  <bruno@clisp.org>
96757         * doc/functions/memmem.texi: Add more precisions about platforms.
96758         * doc/functions/strstr.texi: Likewise.
96760 2008-01-10  Eric Blake  <ebb9@byu.net>
96762         * m4/strstr.m4: Delete cruft from copy-n-paste.
96763         Reported by Bruno Haible.
96765 2008-01-10  Bruno Haible  <bruno@clisp.org>
96767         Make c-strstr rely on strstr.
96768         * lib/c-strstr.c: Don't include str-kmp.h.
96769         (c_strstr): Define in terms of strstr.
96770         * modules/c-strstr (Files): Remove lib/str-kmp.h.
96771         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
96773 2008-01-10  Bruno Haible  <bruno@clisp.org>
96775         * doc/gnulib.texi (String Functions in C Locale): New section.
96776         * doc/c-ctype.texi: New file.
96777         * doc/c-strcase.texi: New file.
96778         * doc/c-strcaseeq.texi: New file.
96779         * doc/c-strcasestr.texi: New file.
96780         * doc/c-strstr.texi: New file.
96781         * doc/c-strtod.texi: New file.
96782         * doc/c-strtold.texi: New file.
96784 2008-01-10  Eric Blake  <ebb9@byu.net>
96786         * lib/relocatable.h: Fix a comment.
96788 2008-01-10  Eric Blake  <ebb9@byu.net>
96790         Share two-way algorithm.
96791         * lib/str-two-way.h: New file, merged from...
96792         * lib/memmem.c: ...here...
96793         * lib/strstr.c: ...and here.
96794         * modules/memmem (Files): Use it.
96795         * modules/strstr (Files): Likewise.
96797         Avoid quadratic strstr implementations.
96798         * lib/strstr.c: New file.
96799         * m4/strstr.m4: Likewise.
96800         * modules/strstr: Likewise.
96801         * modules/strstr-tests: Likewise.
96802         * tests/test-strstr.c: Likewise.
96803         * lib/string.in.h (rpl_strstr): Declare.
96804         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
96805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
96806         * modules/string (Makefile.am): Likewise.
96807         * MODULES.html.sh (string handling): Mention new module.
96808         * doc/functions/strstr.texi (strstr): Document the bug.
96810 2008-01-10  Bruno Haible  <bruno@clisp.org>
96812         * lib/relocatable.h (relocate): State whether result is freshly
96813         allocated or not.
96814         * lib/relocatable.c (relocate): Return a freshly allocated string
96815         instead of a pointer to a privately held string.
96816         Reported by Sylvain Beucler <beuc@gnu.org>.
96818 2008-01-10  Colin Watson  <cjwatson@debian.org>
96820         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
96821         s/S_ISNLK/S_ISLNK/.
96823 2008-01-09  Bruno Haible  <bruno@clisp.org>
96825         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
96826         and other files.
96827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
96828         if it's only a guess.
96829         * modules/memmem: Simplify by depending on memmem-simple.
96831 2008-01-09  Bruno Haible  <bruno@clisp.org>
96833         Work around OpenBSD 4.0 tdelete() bug.
96834         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
96835         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
96836         macros and don't redefine the enum values.
96837         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
96838         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
96839         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
96841 2008-01-09  Bruno Haible  <bruno@clisp.org>
96843         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
96844         (main): Don't perform the tests if setlocale did not install a UTF-8
96845         locale. Needed on OpenBSD 4.0.
96846         * modules/wcwidth-tests (Depends-on): Add localcharset.
96848 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
96850         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
96851         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
96852         * NEWS: announce this.
96853         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
96855 2008-01-09  Simon Josefsson  <simon@josefsson.org>
96856         and Eric Blake  <ebb9@byu.net>
96858         Add memmem-simple module.
96859         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
96860         (gl_FUNC_MEMMEM): Separate performance from presence checks.
96861         * modules/memmem-simple: New file.
96862         * modules/memmem (Description): Tweak.
96863         * MODULES.html.sh (string handling): Mention new module.
96864         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
96865         addressed by memmem-simple.
96866         * NEWS: Document the difference.
96868 2008-01-09  Eric Blake  <ebb9@byu.net>
96870         Give gcc some memmem optimization hints.
96871         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
96872         (strcasestr): Declare as pure.
96873         * modules/memmem (Maintainer): Claim my implementation.
96875 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96877         Support AIX 6.1 and higher.
96878         * build-aux/config.libpath: Likewise.
96879         * build-aux/config.rpath: Likewise.
96881 2008-01-08  Jim Meyering  <meyering@redhat.com>
96882             Bruno Haible  <bruno@clisp.org>
96884         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
96885         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
96886         Reported by Peter Fales in
96887         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
96889 2008-01-08  Bruno Haible  <bruno@clisp.org>
96891         * modules/unictype/category-of (Depends-on): Add
96892         unictype/category-none.
96893         * modules/unictype/category-and-tests (Depends-on): Add
96894         unictype/category-{L,N,Lu,Nd}.
96895         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
96896         * modules/unictype/category-or-tests (Depends-on): Add
96897         unictype/category-{L,N}.
96898         * modules/unictype/category-name-tests (Depends-on): Add
96899         unictype/category-{Z,Nl}.
96900         Reported by Simon Josefsson.
96902 2008-01-08  Bruno Haible  <bruno@clisp.org>
96904         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
96905         convention better.
96906         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
96907         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
96908         Reported by Peter Miller <millerp@canb.auug.org.au>.
96910 2008-01-08  Eric Blake  <ebb9@byu.net>
96912         Rewrite memmem to guarantee linear complexity without malloc.
96913         * lib/memmem.c (memmem): Use Two-Way rather than
96914         Knuth-Morris-Pratt, to allow O(1) space usage.
96915         (critical_factorization, two_way_short_needle)
96916         (two_way_long_needle): New functions.
96917         (knuth_morris_pratt): Delete.
96918         * modules/memmem (Depends-on): No longer need malloca or stdbool.
96919         Add stdint.
96920         * tests/test-memmem.c (main): Add tests for periodic needle and
96921         sublinear performance.
96922         * doc/functions/memmem.texi (memmem): Document other deficiencies
96923         in cygwin and older glibc.
96925 2008-01-08  Bruno Haible  <bruno@clisp.org>
96927         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
96928         augmentation.
96930 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
96932         Add a configure time option: --disable-acl.
96933         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
96934         AC_ARG_ENABLE(acl).
96936 2008-01-06  Simon Josefsson  <simon@josefsson.org>
96938         * tests/test-localename.c: Don't include obsolete "setenv.h".
96940         * modules/localename-tests (Depends-on): Need unsetenv.
96942 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96944         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
96946 2008-01-06  Colin Watson  <cjwatson@debian.org>
96948         * users.txt: Add man-db.
96950 2008-01-07  Bruno Haible  <bruno@clisp.org>
96952         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
96953         previous section name.
96955 2008-01-07  Bruno Haible  <bruno@clisp.org>
96957         * lib/progname.c (set_program_name): Don't strip off a leading
96958         "lt-" prefix outside a .libs directory.
96959         Suggested by Paul Eggert.
96961 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
96962             Bruno Haible  <bruno@clisp.org>
96964         Improve memory cleanup in 'relocatable' module.
96965         * lib/relocatable.h (compute_curr_prefix): Change return type to
96966         'char *'.
96967         * lib/relocatable.c (compute_curr_prefix): Change return type to
96968         'char *'. Free curr_installdir after use.
96969         (relocate): Free curr_prefix_better after use.
96970         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
96972 2008-01-01  Bruno Haible  <bruno@clisp.org>
96974         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
96975         failure on older glibc systems.
96976         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96978 2008-01-05  Eric Blake  <ebb9@byu.net>
96980         Avoid quadratic system memmem.
96981         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
96982         Reported by Ralf Wildenhues.
96984         Fix memmem test for mingw.
96985         * modules/memmem-tests (configure.ac): Check for alarm.
96986         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
96987         it.
96988         * doc/functions/memmem.texi: New file.
96989         * doc/gnulib.texi (Function Substitutes): Add memmem.
96990         Reported by Bruno Haible.
96992 2008-01-04  Bruno Haible  <bruno@clisp.org>
96994         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
96995         Require gl_HEADER_STRINGS_H_DEFAULTS, not
96996         gl_HEADER_STRING_H_DEFAULTS.
96998 2008-01-04  Eric Blake  <ebb9@byu.net>
97000         Shorten duration of memmem test.
97001         * tests/test-memmem.c (main): Use alarm to declare failure if test
97002         is taking too long.
97003         Reported by Ralf Wildenhues.
97005 2007-12-21  Simon Josefsson  <simon@josefsson.org>
97007         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
97008         string, needed by strerror.
97010 2008-01-03  Colin Watson  <cjwatson@debian.org>
97011             Bruno Haible  <bruno@clisp.org>
97013         * doc/gnulib-tool.texi (Localization): New section.
97015 2008-01-02  Bruno Haible  <bruno@clisp.org>
97017         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
97018         variables to 'unsigned char *' type.
97019         Reported by Paul Eggert.
97021 2008-01-02  Jim Meyering  <jim@meyering.net>
97023         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
97025 2007-12-31  Jim Meyering  <jim@meyering.net>
97027         Avoid use of private FTS type name.
97028         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
97030 2007-12-30  Karl Berry  <karl@gnu.org>
97032         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
97033         work around defect in Texinfo and/or the standalone Info browser.
97035 2007-12-30  Bruno Haible  <bruno@clisp.org>
97037         Unify 5 copies of the KMP code.
97038         * lib/str-kmp.h: New file.
97039         * lib/c-strcasestr.c: Include str-kmp.h.
97040         (knuth_morris_pratt): Remove function.
97041         (c_strcasestr): Update.
97042         * lib/c-strstr.c: Include str-kmp.h.
97043         (knuth_morris_pratt): Remove function.
97044         (c_strcasestr): Update.
97045         * lib/mbscasestr.c: Include str-kmp.h.
97046         (knuth_morris_pratt_unibyte): Remove function.
97047         * lib/mbsstr.c: Include str-kmp.h.
97048         (knuth_morris_pratt_unibyte): Remove function.
97049         * lib/strcasestr.c: Include str-kmp.h.
97050         (knuth_morris_pratt): Remove function.
97051         (strcasestr): Update.
97052         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
97053         * modules/c-strstr (Files): Likewise.
97054         * modules/mbscasestr (Files): Likewise.
97055         * modules/mbsstr (Files): Likewise.
97056         * modules/strcasestr (Files): Likewise.
97057         Suggested by Paul Eggert.
97059 2007-12-30  Bruno Haible  <bruno@clisp.org>
97061         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
97062         defined.
97064 2007-12-30  Bruno Haible  <bruno@clisp.org>
97066         * lib/xmalloca.h: Include xalloc.h.
97067         (xnmalloca): New macro.
97069 2007-12-30  Bruno Haible  <bruno@clisp.org>
97071         * lib/malloca.h (nmalloca): New macro.
97072         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
97073         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
97074         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
97075         knuth_morris_pratt_multibyte): Likewise.
97076         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
97077         knuth_morris_pratt_multibyte): Likewise.
97078         * lib/memmem.c (knuth_morris_pratt): Likewise.
97079         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
97081 2007-12-25  Bruno Haible  <bruno@clisp.org>
97083         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
97084         * lib/glob.c: Don't include openat.h.
97085         (link_exists2_p): Add back the code that deals with the
97086         !GLOB_ALTDIRFUNC case.
97087         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
97088         let it do the filename concatenation.
97089         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
97090         * modules/glob (Depends-on): Remove openat.
97092 2007-12-31  Bruno Haible  <bruno@clisp.org>
97094         * modules/dirfd (License): Change to LGPLv2+.
97095         Approved by Jim Meyering.
97097 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
97099         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
97100         when multiplying M by sizeof (size_t).
97102 2007-12-10  Martin Lambers  <marlam@marlam.de>
97104         Override getpagesize on mingw.
97105         * lib/getpagesize.c: New file.
97106         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
97107         * modules/getpagesize (Files): Add lib/getpagesize.c.
97108         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
97109         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
97110         REPLACE_GETPAGESIZE.
97111         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
97113 2007-12-25  Bruno Haible  <bruno@clisp.org>
97115         * modules/localcharset (Notice): New field.
97116         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
97117         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
97119 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
97120             Bruno Haible  <bruno@clisp.org>
97122         Avoid using the syntax symbol() in formatted documentation.
97123         * MODULES.html.sh (func_module): When replacing symbol() with a
97124         hyperlink, remove the parentheses. Show an error if some remain.
97125         Recognize and render the '...' syntax.
97126         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
97127         Rework. Add paragraph about GCC's inlining.
97128         * doc/alloca.texi: Likewise.
97129         * doc/error.texi: Remove parentheses from symbol reference.
97130         * doc/gnulib-intro.texi: Likewise.
97131         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
97132         * modules/fnmatch (Description): Reword to say "the ... function".
97133         * modules/full-read (Description): Likewise.
97134         * modules/full-write (Description): Likewise.
97135         * modules/safe-read (Description): Likewise.
97136         * modules/safe-write (Description): Likewise.
97137         * modules/strchrnul (Description): Likewise.
97138         * modules/trim (Description): Likewise.
97139         * modules/error (Description): Remove parentheses from symbol
97140         references.
97141         * modules/verror (Description): Likewise.
97142         Reported by Karl Berry.
97144 2007-12-25  Bruno Haible  <bruno@clisp.org>
97146         Fixup after 2007-10-16 commit.
97147         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
97149 2007-12-24  Bruno Haible  <bruno@clisp.org>
97151         Make --enable-relocatable work with DESTDIR.
97152         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
97153         to compute installdir from destprog.
97154         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
97155         also set the RELOC_DESTDIR variable.
97156         Reported by Левашев Иван <octagram@bluebottle.com>.
97158 2007-12-24  Bruno Haible  <bruno@clisp.org>
97160         Fix link error due to xalloc_die().
97161         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
97162         of xreadlink.
97163         * lib/relocwrapper.c: Update comments.
97164         * build-aux/install-reloc: Remove xreadlink.c from file list.
97165         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
97166         xreadlink.c.
97167         Reported by Левашев Иван <octagram@bluebottle.com>.
97169 2007-12-24  Bruno Haible  <bruno@clisp.org>
97171         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
97172         * lib/setenv.h: Remove file.
97173         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
97174         lib/setenv.h.
97175         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
97176         (Depends-on): Add stdlib.
97177         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
97178         gl_FUNC_UNSETENV.
97179         (Include): Replace setenv.h with <stdlib.h>.
97180         * modules/unsetenv: New file.
97181         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
97182         * lib/unsetenv.c: Include <stdlib.h> first.
97183         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
97184         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
97185         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
97186         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
97187         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
97188         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
97190         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97191         * doc/functions/unsetenv.texi: Update.
97192         * modules/xsetenv (Depends-on): Add unsetenv.
97193         * modules/getdate (Depends-on): Likewise.
97194         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
97195         * lib/xsetenv.c: Don't include setenv.h.
97196         * lib/getdate.y: Likewise.
97197         * lib/relocwrapper.c: Likewise.
97198         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
97199         (Depends-on): Add stdlib.
97200         * NEWS: Mention the changes.
97201         Reported by Левашев Иван <octagram@bluebottle.com>.
97203 2007-12-23  Bruno Haible  <bruno@clisp.org>
97205         * lib/memmem.c (memmem): Use lowercase variable names. Tab
97206         indentation.
97208 2007-12-23  Bruno Haible  <bruno@clisp.org>
97210         * lib/c-strcasestr.c: Add more comments.
97211         * lib/c-strstr.c: Likewise.
97212         * lib/mbscasestr.c: Likewise.
97213         * lib/mbsstr.c: Likewise.
97214         * lib/strcasestr.c: Likewise.
97215         * lib/memmem.c: Likewise.
97217 2007-12-23  Bruno Haible  <bruno@clisp.org>
97219         * tests/test-memmem.c: Include <string.h> first.
97221 2007-12-22  Bruno Haible  <bruno@clisp.org>
97223         * gnulib-tool (func_create_testdir): Change $auxdir while generating
97224         the contents of $testsbase.
97225         Reported by Ralf Wildenhues.
97227 2007-12-22  Bruno Haible  <bruno@clisp.org>
97229         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
97230         two variables local_ldadd_before, local_ldadd_last.
97232 2007-12-20  Eric Blake  <ebb9@byu.net>
97234         Work around circular library issue when cross-compiling.
97235         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
97236         that progname.o does not need to pull in rpl_memcmp.
97238 2007-12-19  Eric Blake  <ebb9@byu.net>
97240         Fix memmem to avoid O(n^2) worst-case complexity.
97241         * lib/memmem.c (knuth_morris_pratt): New function.
97242         (memmem): Use it if first few naive iterations fail.
97243         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
97244         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
97245         * modules/memchr (License): Likewise.
97246         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
97247         malloca.
97248         * tests/test-memmem.c: Rewrite, borrowing ideas from
97249         test-mbsstr1.c; the old version wouldn't even compile!
97250         * modules/memmem-tests: New file.
97251         * lib/string.in.h (rpl_memmem): Add declaration.
97252         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
97253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
97254         REPLACE_MEMMEM.
97256 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
97258         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
97259         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
97260         before any system include files, and undef after them all.  This
97261         should fix a problem on VMS reported by John E. Malmberg in
97262         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
97264 2007-12-17  Eric Blake  <ebb9@byu.net>
97266         Revert addition of verify, for BSD/OS.
97267         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
97268         can't handle large files, for the sake of obsolete platforms.
97269         * modules/fseeko (Depends-on): Remove verify.
97270         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
97271         * doc/functions/ftello.texi (ftello): Likewise.
97272         * doc/functions/fgetpos.texi (fgetpos): Likewise.
97273         Reported by Larry Jones.
97275 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
97277         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
97278         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
97280 2007-12-17  Jim Meyering  <meyering@redhat.com>
97282         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
97283         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
97284         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
97285         * modules/getcwd (Depends-on): Add openat.
97286         Reported by Petr Salinger.
97288 2007-12-17  Bruno Haible  <bruno@clisp.org>
97290         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
97291         avoid a segmentation fault of the configure test on x86_64 systems.
97293 2007-12-15  Jim Meyering  <meyering@redhat.com>
97295         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
97297 2007-12-13  Eric Blake  <ebb9@byu.net>
97299         Another fseek test.
97300         * tests/test-fseek.c (main): Also test ungetc handling.
97301         * tests/test-fseeko.c (main): Likewise.
97302         * modules/fseeko (Depends-on): Add verify.
97303         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
97304         large.
97305         Reported by Larry Jones.
97307         Fix fseeko on mingw.
97308         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
97309         seek.
97311         Beef up fseek tests.
97312         * tests/test-fseek.c (main): Also test eof handling.
97313         * tests/test-fseeko.c (main): Likewise.
97314         Reported by Larry Jones.
97316 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
97318         Fix fseeko on BSD-based platforms.
97319         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
97320         successful seek.
97322 2007-12-12  Eric Blake  <ebb9@byu.net>
97324         Allow circular dependency of separate libtests.a
97325         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
97326         when use_libtests.
97328 2007-12-11  Eric Blake  <ebb9@byu.net>
97330         Fix bug with -0.0L in previous patch.
97331         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
97332         * tests/test-isnan.c (main): Also test on zeroes.
97333         * tests/test-isnanf.c (main): Likewise.
97334         * tests/test-isnanl.h (main): Likewise.
97336         Detect pseudo-denormals on x86 even when cross-compiling.
97337         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
97338         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
97339         invalid bit patterns that happen to satisfy ==.
97341         Avoid link failures with separate libtests.a.
97342         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
97343         last, to satisfy circular dependencies.
97345 2007-12-11  Eric Blake  <ebb9@byu.net>
97346         and Bruno Haible  <bruno@clisp.org>
97348         Fix OpenBSD 4.0 <float.h> handling of long double.
97349         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
97350         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
97351         * doc/headers/float.texi (float.h): Document OpenBSD bug.
97353 2007-12-11  Jim Meyering  <meyering@redhat.com>
97355         * users.txt: Add libvirt.
97357         Support versions of autoconf prior to 2.59c.
97358         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
97359         if it is not already defined.
97361 2007-12-09  Bruno Haible  <bruno@clisp.org>
97363         Let 'gnulib-tool --import' collect sources needed for the tests in
97364         tests/ rather than in lib/.
97365         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
97366         argument. If true, add rules to generate libtests.a, and put libtests.a
97367         into $(LDADD). Consider source files in subdirectories and set
97368         uses_subdirs.
97369         (func_emit_initmacro_start, func_emit_initmacro_end,
97370         func_emit_initmacro_done): Pass all arguments explicitly.
97371         (func_import): Determine two module lists main_modules,
97372         testsrelated_modules. Determine use_libtests. Determine two variables
97373         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
97374         instead of just sed_transform_lib_file. Determine two variables
97375         main_files and testsrelated_files. Compute 'files' as the union of
97376         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
97377         func_add_or_update. In the generated gnulib-comp.m4, collect the
97378         object files for tests/ in different variables than those for lib/.
97379         Substitute LIBTESTS_LIBDEPS.
97380         (func_create_testdir): Combine the uses_subdirs results from
97381         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
97383 2007-12-09  Bruno Haible  <bruno@clisp.org>
97385         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
97386         the build-aux directory.
97388 2007-12-09  Bruno Haible  <bruno@clisp.org>
97390         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
97391         introduced on 2006-09-09.
97393 2007-12-07  Jim Meyering  <meyering@redhat.com>
97395         Let these macros work also with autoconf-2.59.
97396         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
97397         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
97398         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
97400 2007-12-06  Jim Meyering  <meyering@redhat.com>
97402         Avoid a configure-time syntax error in gl_FUNC_ACL.
97403         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
97404         function in each branch, before testing the cache variable.
97406 2007-12-04  Eric Blake  <ebb9@byu.net>
97408         Make scripts executable.
97409         * build-aux/config.guess: Add execute permissions.
97410         * build-aux/config.sub: Likewise.
97411         * build-aux/gendocs.sh: Likewise.
97413         Fix frexp on mingw.
97414         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
97415         cross-compiling.
97416         * doc/functions/frexp.texi (frexp): Document the bug.
97418         Make cygwin fseeko check more reliable.
97419         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
97420         version numbers, rather than unrelated feature check.
97421         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
97422         * doc/functions/ftello.texi (ftello): Likewise.
97423         Reported by Bruno Haible.
97425         * m4/strerror.m4: Bump version number.
97427 2007-12-03  Bruno Haible  <bruno@clisp.org>
97429         * doc/functions/mprotect.texi: Mention the mingw problem.
97431 2007-12-03  Eric Blake  <ebb9@byu.net>
97433         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
97434         REPLACE_STRERROR is initialized before this macro.
97436 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
97438         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
97439         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
97440         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
97441         put -lsec in even for programs other than 'ls'.  This fixes a problem
97442         for gettext reported by Bruno Haible in
97443         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
97444         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
97445         Add support for Solaris 10.  This isn't efficient, but should get the
97446         job done for now.
97448 2007-12-03  James Youngman  <jay@gnu.org>
97450         * doc/regexprops-generic.texi: change "an close-group" to "a
97451         close-group" and "illegal" to "not allowed".
97453 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97455         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
97456         pr_byname.h. Needed for the rare case when the maintainer has done
97457         "make maintainer-clean" in the source directory and then attempts a
97458         build outside the source directory.
97459         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
97460         scripts_byname.h.
97462 2007-12-02  Martin Lambers  <marlam@marlam.de>
97463             Bruno Haible  <bruno@clisp.org>
97465         * lib/getpagesize.h: Remove file.
97466         * lib/unistd.in.h: Include declaration of getpagesize here.
97467         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
97468         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
97469         HAVE_SYS_PARAM_H.
97470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
97471         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97472         * modules/getpagesize (Files): Remove lib/getpagesize.h.
97473         (Depends-on): Add unistd.
97474         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
97475         (Include): Use <unistd.h> instead of getpagesize.h.
97476         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
97477         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97478         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
97479         gl_GETPAGESIZE invocation, already handled by module dependency.
97480         * lib/pagealign_alloc.c: Don't include getpagesize.h.
97482 2007-12-02  Bruno Haible  <bruno@clisp.org>
97484         * modules/strings-tests: New file.
97485         * tests/test-strings.c: New file.
97487         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
97488         * lib/strings.in.h: New file.
97489         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
97490         * m4/strings_h.m4: New file.
97491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
97492         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
97493         * modules/strings: New file.
97494         * modules/string (Makefile.am): Update.
97495         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
97496         Reported by Karl Berry.
97498 2007-12-01  Eric Blake  <ebb9@byu.net>
97500         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
97501         accommodate fix in cygwin 1.5.25.
97503 2007-12-01  Jim Meyering  <meyering@redhat.com>
97505         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
97506         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
97507         that would inhibit utf8-optimization of a regexp containing line-
97508         or buffer-anchors, e.g., `^', `$'.
97510 2007-11-30  Bruno Haible  <bruno@clisp.org>
97512         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
97513         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
97514         glthread_recursive_lock_init.
97515         * lib/lock.c (glthread_recursive_lock_init)
97516         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
97517         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97519 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
97521         New function qset_acl, like set_acl but with syscall semantics.
97522         * lib/acl.h (qset_acl): New decl.
97523         * lib/acl.c (qset_acl): New function.
97524         (set_acl): Use new function.  Use more-consistent diagnostics.
97526 2007-11-28  Jim Meyering  <meyering@redhat.com>
97528         * modules/physmem (License): Change from GPL to LGPLv2+.
97530 2007-11-26  Bruno Haible  <bruno@clisp.org>
97532         * lib/vasnprintf.c (decode_long_double): Don't abort if the
97533         'long double' type has excess precision.
97534         Reported by Jim Meyering in
97535         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
97537 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97539         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
97540         Sync from <http://gnu.org/licenses>.
97541         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
97542         with license text from same location.
97543         * doc/maintain.texi, doc/standards.texi:  Sync from
97544         <http://savannah.gnu.org/projects/gnustandards>.
97546 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
97547         and Jim Meyering  <meyering@redhat.com>
97549         Adjust getdate' grammar to accept a slightly more regular language.
97550         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
97551         Before, the former was rejected.
97552         * lib/getdate.y (digits_to_date_time): New function, factored
97553         out of ...
97554         (number): ...here.  Just call digits_to_date_time.
97555         (hybrid): New non-terminal to handle an <unsigned number,
97556         signed relative offset> sequence consistently.
97558 2007-11-18  Jim Meyering  <meyering@redhat.com>
97560         Pull my changes from coreutils:
97561         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
97562         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
97563         use of $gnulib_tool_option_extras, so that it's separated from the
97564         preceding argument.
97566         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
97567         * build-aux/bootstrap (cp_mark_as_generated): Create any required
97568         parent destination directories before copying a file into place.
97570 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
97572         bootstrap: work also with 4-argument variant of AC_INIT
97573         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
97575 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
97577         Port test-getaddrinfo to Solaris.
97578         Problem reported by Bruno Haible in
97579         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
97580         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
97581         explanation of setting 'hints'.
97582         Don't reject an implementation merely because it returns EAI_SERVICE.
97583         (EAI_SERVICE): Define to 0 if not defined.
97585 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
97587         The license of gnu-make and posix-shell is now "GPLed build tool".
97588         * modules/gnu-make (License): Likewise.
97589         * modules/posix-shell (License): Likewise.
97591         New module posix-shell, for determining a POSIX shell
97592         or perhaps something that is close enough to a POSIX shell.
97593         * m4/posix-shell.m4: New file.
97594         * modules/posix-shell: New file.
97596         * MODULES.html.sh: Mention new module.
97598         New module gnu-make, for determining whether we're using GNU Make.
97599         * m4/gnu-make.m4: New file.
97600         * modules/gnu-make: New file.
97601         * MODULES.html.sh: Mention new module.
97603 2007-11-14  Jim Meyering  <meyering@redhat.com>
97605         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
97606         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
97607         use this macro to create a function _definition_.
97608         Remove useless "#undef ARGMATCH_DIE".
97610 2007-11-14  Bruno Haible  <bruno@clisp.org>
97612         * lib/config.charset: Update for OpenBSD 4.1.
97613         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
97615 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
97617         Document 64-bit #if problems in stdint.texi.
97618         * doc/headers/stdint.texi (stdint.h): Mention problems with
97619         64-bit-#if, and how to work around them.
97621         Don't insist on 'long long int' support in the preprocessor.  It
97622         breaks too many things.  For example, PRIdMAX still uses a 'long
97623         long int' format with the latest Sun compiler, even though
97624         HAVE_LONG_LONG_INT isn't defined due to that compiler's
97625         preprocessor problem.  This causes the latest coreutils to dump
97626         core on Solaris 10 sparc with the Sun C compiler.
97627         Instead, fix the 2007-10-16 problem in a different way, by evaluating
97628         the troublesome expressions at configure-time, not at #if-time.
97629         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
97630         preprocessor.
97631         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
97632         compile-time C checks, done at 'configure'-time.
97633         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
97634         * modules/inttypes (Makefile): Substitute the new symbols that
97635         gl_INTTYPES_H now generates.
97636         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
97638 2007-11-12  Bruno Haible  <bruno@clisp.org>
97640         Tests for Unicode character classification functions.
97642         * modules/unictype/bidicategory-byname-tests: New file.
97643         * modules/unictype/bidicategory-name-tests: New file.
97644         * modules/unictype/bidicategory-of-tests: New file.
97645         * modules/unictype/bidicategory-test-tests: New file.
97646         * modules/unictype/block-list-tests: New file.
97647         * modules/unictype/block-of-tests: New file.
97648         * modules/unictype/block-test-tests: New file.
97649         * modules/unictype/category-C-tests: New file.
97650         * modules/unictype/category-Cc-tests: New file.
97651         * modules/unictype/category-Cf-tests: New file.
97652         * modules/unictype/category-Cn-tests: New file.
97653         * modules/unictype/category-Co-tests: New file.
97654         * modules/unictype/category-Cs-tests: New file.
97655         * modules/unictype/category-L-tests: New file.
97656         * modules/unictype/category-Ll-tests: New file.
97657         * modules/unictype/category-Lm-tests: New file.
97658         * modules/unictype/category-Lo-tests: New file.
97659         * modules/unictype/category-Lt-tests: New file.
97660         * modules/unictype/category-Lu-tests: New file.
97661         * modules/unictype/category-M-tests: New file.
97662         * modules/unictype/category-Mc-tests: New file.
97663         * modules/unictype/category-Me-tests: New file.
97664         * modules/unictype/category-Mn-tests: New file.
97665         * modules/unictype/category-N-tests: New file.
97666         * modules/unictype/category-Nd-tests: New file.
97667         * modules/unictype/category-Nl-tests: New file.
97668         * modules/unictype/category-No-tests: New file.
97669         * modules/unictype/category-P-tests: New file.
97670         * modules/unictype/category-Pc-tests: New file.
97671         * modules/unictype/category-Pd-tests: New file.
97672         * modules/unictype/category-Pe-tests: New file.
97673         * modules/unictype/category-Pf-tests: New file.
97674         * modules/unictype/category-Pi-tests: New file.
97675         * modules/unictype/category-Po-tests: New file.
97676         * modules/unictype/category-Ps-tests: New file.
97677         * modules/unictype/category-S-tests: New file.
97678         * modules/unictype/category-Sc-tests: New file.
97679         * modules/unictype/category-Sk-tests: New file.
97680         * modules/unictype/category-Sm-tests: New file.
97681         * modules/unictype/category-So-tests: New file.
97682         * modules/unictype/category-Z-tests: New file.
97683         * modules/unictype/category-Zl-tests: New file.
97684         * modules/unictype/category-Zp-tests: New file.
97685         * modules/unictype/category-Zs-tests: New file.
97686         * modules/unictype/category-and-not-tests: New file.
97687         * modules/unictype/category-and-tests: New file.
97688         * modules/unictype/category-byname-tests: New file.
97689         * modules/unictype/category-name-tests: New file.
97690         * modules/unictype/category-none-tests: New file.
97691         * modules/unictype/category-of-tests: New file.
97692         * modules/unictype/category-or-tests: New file.
97693         * modules/unictype/category-test-withtable-tests: New file.
97694         * modules/unictype/combining-class-tests: New file.
97695         * modules/unictype/ctype-alnum-tests: New file.
97696         * modules/unictype/ctype-alpha-tests: New file.
97697         * modules/unictype/ctype-blank-tests: New file.
97698         * modules/unictype/ctype-cntrl-tests: New file.
97699         * modules/unictype/ctype-digit-tests: New file.
97700         * modules/unictype/ctype-graph-tests: New file.
97701         * modules/unictype/ctype-lower-tests: New file.
97702         * modules/unictype/ctype-print-tests: New file.
97703         * modules/unictype/ctype-punct-tests: New file.
97704         * modules/unictype/ctype-space-tests: New file.
97705         * modules/unictype/ctype-upper-tests: New file.
97706         * modules/unictype/ctype-xdigit-tests: New file.
97707         * modules/unictype/decimal-digit-tests: New file.
97708         * modules/unictype/digit-tests: New file.
97709         * modules/unictype/mirror-tests: New file.
97710         * modules/unictype/numeric-tests: New file.
97711         * modules/unictype/property-alphabetic-tests: New file.
97712         * modules/unictype/property-ascii-hex-digit-tests: New file.
97713         * modules/unictype/property-bidi-arabic-digit-tests: New file.
97714         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
97715         * modules/unictype/property-bidi-block-separator-tests: New file.
97716         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
97717         * modules/unictype/property-bidi-common-separator-tests: New file.
97718         * modules/unictype/property-bidi-control-tests: New file.
97719         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
97720         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
97721         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
97722         * modules/unictype/property-bidi-european-digit-tests: New file.
97723         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
97724         * modules/unictype/property-bidi-left-to-right-tests: New file.
97725         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
97726         * modules/unictype/property-bidi-other-neutral-tests: New file.
97727         * modules/unictype/property-bidi-pdf-tests: New file.
97728         * modules/unictype/property-bidi-segment-separator-tests: New file.
97729         * modules/unictype/property-bidi-whitespace-tests: New file.
97730         * modules/unictype/property-byname-tests: New file.
97731         * modules/unictype/property-combining-tests: New file.
97732         * modules/unictype/property-composite-tests: New file.
97733         * modules/unictype/property-currency-symbol-tests: New file.
97734         * modules/unictype/property-dash-tests: New file.
97735         * modules/unictype/property-decimal-digit-tests: New file.
97736         * modules/unictype/property-default-ignorable-code-point-tests: New file.
97737         * modules/unictype/property-deprecated-tests: New file.
97738         * modules/unictype/property-diacritic-tests: New file.
97739         * modules/unictype/property-extender-tests: New file.
97740         * modules/unictype/property-format-control-tests: New file.
97741         * modules/unictype/property-grapheme-base-tests: New file.
97742         * modules/unictype/property-grapheme-extend-tests: New file.
97743         * modules/unictype/property-grapheme-link-tests: New file.
97744         * modules/unictype/property-hex-digit-tests: New file.
97745         * modules/unictype/property-hyphen-tests: New file.
97746         * modules/unictype/property-id-continue-tests: New file.
97747         * modules/unictype/property-id-start-tests: New file.
97748         * modules/unictype/property-ideographic-tests: New file.
97749         * modules/unictype/property-ids-binary-operator-tests: New file.
97750         * modules/unictype/property-ids-trinary-operator-tests: New file.
97751         * modules/unictype/property-ignorable-control-tests: New file.
97752         * modules/unictype/property-iso-control-tests: New file.
97753         * modules/unictype/property-join-control-tests: New file.
97754         * modules/unictype/property-left-of-pair-tests: New file.
97755         * modules/unictype/property-line-separator-tests: New file.
97756         * modules/unictype/property-logical-order-exception-tests: New file.
97757         * modules/unictype/property-lowercase-tests: New file.
97758         * modules/unictype/property-math-tests: New file.
97759         * modules/unictype/property-non-break-tests: New file.
97760         * modules/unictype/property-not-a-character-tests: New file.
97761         * modules/unictype/property-numeric-tests: New file.
97762         * modules/unictype/property-other-alphabetic-tests: New file.
97763         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
97764         * modules/unictype/property-other-grapheme-extend-tests: New file.
97765         * modules/unictype/property-other-id-continue-tests: New file.
97766         * modules/unictype/property-other-id-start-tests: New file.
97767         * modules/unictype/property-other-lowercase-tests: New file.
97768         * modules/unictype/property-other-math-tests: New file.
97769         * modules/unictype/property-other-uppercase-tests: New file.
97770         * modules/unictype/property-paired-punctuation-tests: New file.
97771         * modules/unictype/property-paragraph-separator-tests: New file.
97772         * modules/unictype/property-pattern-syntax-tests: New file.
97773         * modules/unictype/property-pattern-white-space-tests: New file.
97774         * modules/unictype/property-private-use-tests: New file.
97775         * modules/unictype/property-punctuation-tests: New file.
97776         * modules/unictype/property-quotation-mark-tests: New file.
97777         * modules/unictype/property-radical-tests: New file.
97778         * modules/unictype/property-sentence-terminal-tests: New file.
97779         * modules/unictype/property-soft-dotted-tests: New file.
97780         * modules/unictype/property-space-tests: New file.
97781         * modules/unictype/property-terminal-punctuation-tests: New file.
97782         * modules/unictype/property-test-tests: New file.
97783         * modules/unictype/property-titlecase-tests: New file.
97784         * modules/unictype/property-unassigned-code-value-tests: New file.
97785         * modules/unictype/property-unified-ideograph-tests: New file.
97786         * modules/unictype/property-uppercase-tests: New file.
97787         * modules/unictype/property-variation-selector-tests: New file.
97788         * modules/unictype/property-white-space-tests: New file.
97789         * modules/unictype/property-xid-continue-tests: New file.
97790         * modules/unictype/property-xid-start-tests: New file.
97791         * modules/unictype/property-zero-width-tests: New file.
97792         * modules/unictype/scripts-tests: New file.
97793         * modules/unictype/syntax-c-ident-tests: New file.
97794         * modules/unictype/syntax-c-whitespace-tests: New file.
97795         * modules/unictype/syntax-java-ident-tests: New file.
97796         * modules/unictype/syntax-java-whitespace-tests: New file.
97797         * tests/unictype/test-bidi_byname.c: New file.
97798         * tests/unictype/test-bidi_name.c: New file.
97799         * tests/unictype/test-bidi_of.c: New file.
97800         * tests/unictype/test-bidi_test.c: New file.
97801         * tests/unictype/test-block_list.c: New file.
97802         * tests/unictype/test-block_of.c: New file.
97803         * tests/unictype/test-block_test.c: New file.
97804         * tests/unictype/test-categ_and.c: New file.
97805         * tests/unictype/test-categ_and_not.c: New file.
97806         * tests/unictype/test-categ_byname.c: New file.
97807         * tests/unictype/test-categ_name.c: New file.
97808         * tests/unictype/test-categ_none.c: New file.
97809         * tests/unictype/test-categ_of.c: New file.
97810         * tests/unictype/test-categ_or.c: New file.
97811         * tests/unictype/test-categ_test_withtable.c: New file.
97812         * tests/unictype/test-combining.c: New file.
97813         * tests/unictype/test-decdigit.c: New file.
97814         * tests/unictype/test-digit.c: New file.
97815         * tests/unictype/test-mirror.c: New file.
97816         * tests/unictype/test-numeric.c: New file.
97817         * tests/unictype/test-pr_byname.c: New file.
97818         * tests/unictype/test-pr_test.c: New file.
97819         * tests/unictype/test-predicate-part1.h: New file.
97820         * tests/unictype/test-predicate-part2.h: New file.
97821         * tests/unictype/test-scripts.c: New file.
97822         * tests/unictype/test-sy_c_ident.c: New file.
97823         * tests/unictype/test-sy_java_ident.c: New file.
97825         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
97826         for Unicode 5.0.0.
97827         * tests/unictype/test-categ_Cc.c: Likewise.
97828         * tests/unictype/test-categ_Cf.c: Likewise.
97829         * tests/unictype/test-categ_Cn.c: Likewise.
97830         * tests/unictype/test-categ_Co.c: Likewise.
97831         * tests/unictype/test-categ_Cs.c: Likewise.
97832         * tests/unictype/test-categ_L.c: Likewise.
97833         * tests/unictype/test-categ_Ll.c: Likewise.
97834         * tests/unictype/test-categ_Lm.c: Likewise.
97835         * tests/unictype/test-categ_Lo.c: Likewise.
97836         * tests/unictype/test-categ_Lt.c: Likewise.
97837         * tests/unictype/test-categ_Lu.c: Likewise.
97838         * tests/unictype/test-categ_M.c: Likewise.
97839         * tests/unictype/test-categ_Mc.c: Likewise.
97840         * tests/unictype/test-categ_Me.c: Likewise.
97841         * tests/unictype/test-categ_Mn.c: Likewise.
97842         * tests/unictype/test-categ_N.c: Likewise.
97843         * tests/unictype/test-categ_Nd.c: Likewise.
97844         * tests/unictype/test-categ_Nl.c: Likewise.
97845         * tests/unictype/test-categ_No.c: Likewise.
97846         * tests/unictype/test-categ_P.c: Likewise.
97847         * tests/unictype/test-categ_Pc.c: Likewise.
97848         * tests/unictype/test-categ_Pd.c: Likewise.
97849         * tests/unictype/test-categ_Pe.c: Likewise.
97850         * tests/unictype/test-categ_Pf.c: Likewise.
97851         * tests/unictype/test-categ_Pi.c: Likewise.
97852         * tests/unictype/test-categ_Po.c: Likewise.
97853         * tests/unictype/test-categ_Ps.c: Likewise.
97854         * tests/unictype/test-categ_S.c: Likewise.
97855         * tests/unictype/test-categ_Sc.c: Likewise.
97856         * tests/unictype/test-categ_Sk.c: Likewise.
97857         * tests/unictype/test-categ_Sm.c: Likewise.
97858         * tests/unictype/test-categ_So.c: Likewise.
97859         * tests/unictype/test-categ_Z.c: Likewise.
97860         * tests/unictype/test-categ_Zl.c: Likewise.
97861         * tests/unictype/test-categ_Zp.c: Likewise.
97862         * tests/unictype/test-categ_Zs.c: Likewise.
97863         * tests/unictype/test-ctype_alnum.c: Likewise.
97864         * tests/unictype/test-ctype_alpha.c: Likewise.
97865         * tests/unictype/test-ctype_blank.c: Likewise.
97866         * tests/unictype/test-ctype_cntrl.c: Likewise.
97867         * tests/unictype/test-ctype_digit.c: Likewise.
97868         * tests/unictype/test-ctype_graph.c: Likewise.
97869         * tests/unictype/test-ctype_lower.c: Likewise.
97870         * tests/unictype/test-ctype_print.c: Likewise.
97871         * tests/unictype/test-ctype_punct.c: Likewise.
97872         * tests/unictype/test-ctype_space.c: Likewise.
97873         * tests/unictype/test-ctype_upper.c: Likewise.
97874         * tests/unictype/test-ctype_xdigit.c: Likewise.
97875         * tests/unictype/test-decdigit.h: Likewise.
97876         * tests/unictype/test-digit.h: Likewise.
97877         * tests/unictype/test-numeric.h: Likewise.
97878         * tests/unictype/test-pr_alphabetic.c: Likewise.
97879         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
97880         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
97881         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
97882         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
97883         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
97884         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
97885         * tests/unictype/test-pr_bidi_control.c: Likewise.
97886         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
97887         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
97888         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
97889         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
97890         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
97891         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
97892         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
97893         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
97894         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
97895         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
97896         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
97897         * tests/unictype/test-pr_combining.c: Likewise.
97898         * tests/unictype/test-pr_composite.c: Likewise.
97899         * tests/unictype/test-pr_currency_symbol.c: Likewise.
97900         * tests/unictype/test-pr_dash.c: Likewise.
97901         * tests/unictype/test-pr_decimal_digit.c: Likewise.
97902         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
97903         * tests/unictype/test-pr_deprecated.c: Likewise.
97904         * tests/unictype/test-pr_diacritic.c: Likewise.
97905         * tests/unictype/test-pr_extender.c: Likewise.
97906         * tests/unictype/test-pr_format_control.c: Likewise.
97907         * tests/unictype/test-pr_grapheme_base.c: Likewise.
97908         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
97909         * tests/unictype/test-pr_grapheme_link.c: Likewise.
97910         * tests/unictype/test-pr_hex_digit.c: Likewise.
97911         * tests/unictype/test-pr_hyphen.c: Likewise.
97912         * tests/unictype/test-pr_id_continue.c: Likewise.
97913         * tests/unictype/test-pr_id_start.c: Likewise.
97914         * tests/unictype/test-pr_ideographic.c: Likewise.
97915         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
97916         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
97917         * tests/unictype/test-pr_ignorable_control.c: Likewise.
97918         * tests/unictype/test-pr_iso_control.c: Likewise.
97919         * tests/unictype/test-pr_join_control.c: Likewise.
97920         * tests/unictype/test-pr_left_of_pair.c: Likewise.
97921         * tests/unictype/test-pr_line_separator.c: Likewise.
97922         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
97923         * tests/unictype/test-pr_lowercase.c: Likewise.
97924         * tests/unictype/test-pr_math.c: Likewise.
97925         * tests/unictype/test-pr_non_break.c: Likewise.
97926         * tests/unictype/test-pr_not_a_character.c: Likewise.
97927         * tests/unictype/test-pr_numeric.c: Likewise.
97928         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
97929         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
97930         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
97931         * tests/unictype/test-pr_other_id_continue.c: Likewise.
97932         * tests/unictype/test-pr_other_id_start.c: Likewise.
97933         * tests/unictype/test-pr_other_lowercase.c: Likewise.
97934         * tests/unictype/test-pr_other_math.c: Likewise.
97935         * tests/unictype/test-pr_other_uppercase.c: Likewise.
97936         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
97937         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
97938         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
97939         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
97940         * tests/unictype/test-pr_private_use.c: Likewise.
97941         * tests/unictype/test-pr_punctuation.c: Likewise.
97942         * tests/unictype/test-pr_quotation_mark.c: Likewise.
97943         * tests/unictype/test-pr_radical.c: Likewise.
97944         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
97945         * tests/unictype/test-pr_soft_dotted.c: Likewise.
97946         * tests/unictype/test-pr_space.c: Likewise.
97947         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
97948         * tests/unictype/test-pr_titlecase.c: Likewise.
97949         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
97950         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
97951         * tests/unictype/test-pr_uppercase.c: Likewise.
97952         * tests/unictype/test-pr_variation_selector.c: Likewise.
97953         * tests/unictype/test-pr_white_space.c: Likewise.
97954         * tests/unictype/test-pr_xid_continue.c: Likewise.
97955         * tests/unictype/test-pr_xid_start.c: Likewise.
97956         * tests/unictype/test-pr_zero_width.c: Likewise.
97957         * tests/unictype/test-sy_c_whitespace.c: Likewise.
97958         * tests/unictype/test-sy_java_whitespace.c: Likewise.
97960 2007-11-12  Bruno Haible  <bruno@clisp.org>
97962         Unicode character classification functions.
97963         * lib/unictype.h: New file.
97964         * modules/unictype/base: New file.
97965         * modules/unictype/category-L: New file.
97966         * modules/unictype/category-Lu: New file.
97967         * modules/unictype/category-Ll: New file.
97968         * modules/unictype/category-Lt: New file.
97969         * modules/unictype/category-Lm: New file.
97970         * modules/unictype/category-Lo: New file.
97971         * modules/unictype/category-M: New file.
97972         * modules/unictype/category-Mn: New file.
97973         * modules/unictype/category-Mc: New file.
97974         * modules/unictype/category-Me: New file.
97975         * modules/unictype/category-N: New file.
97976         * modules/unictype/category-Nd: New file.
97977         * modules/unictype/category-Nl: New file.
97978         * modules/unictype/category-No: New file.
97979         * modules/unictype/category-P: New file.
97980         * modules/unictype/category-Pc: New file.
97981         * modules/unictype/category-Pd: New file.
97982         * modules/unictype/category-Ps: New file.
97983         * modules/unictype/category-Pe: New file.
97984         * modules/unictype/category-Pi: New file.
97985         * modules/unictype/category-Pf: New file.
97986         * modules/unictype/category-Po: New file.
97987         * modules/unictype/category-S: New file.
97988         * modules/unictype/category-Sm: New file.
97989         * modules/unictype/category-Sc: New file.
97990         * modules/unictype/category-Sk: New file.
97991         * modules/unictype/category-So: New file.
97992         * modules/unictype/category-Z: New file.
97993         * modules/unictype/category-Zs: New file.
97994         * modules/unictype/category-Zl: New file.
97995         * modules/unictype/category-Zp: New file.
97996         * modules/unictype/category-C: New file.
97997         * modules/unictype/category-Cc: New file.
97998         * modules/unictype/category-Cf: New file.
97999         * modules/unictype/category-Cs: New file.
98000         * modules/unictype/category-Co: New file.
98001         * modules/unictype/category-Cn: New file.
98002         * modules/unictype/category-or: New file.
98003         * modules/unictype/category-of: New file.
98004         * modules/unictype/category-test: New file.
98005         * modules/unictype/category-test-withtable: New file.
98006         * modules/unictype/category-byname: New file.
98007         * modules/unictype/category-none: New file.
98008         * modules/unictype/category-and: New file.
98009         * modules/unictype/category-and-not: New file.
98010         * modules/unictype/category-name: New file.
98011         * modules/unictype/combining-class: New file.
98012         * modules/unictype/category-all: New file.
98013         * modules/unictype/bidicategory-all: New file.
98014         * modules/unictype/bidicategory-byname: New file.
98015         * modules/unictype/bidicategory-name: New file.
98016         * modules/unictype/bidicategory-of: New file.
98017         * modules/unictype/bidicategory-test: New file.
98018         * modules/unictype/decimal-digit: New file.
98019         * modules/unictype/digit: New file.
98020         * modules/unictype/numeric: New file.
98021         * modules/unictype/mirror: New file.
98022         * modules/unictype/property-white-space: New file.
98023         * modules/unictype/property-alphabetic: New file.
98024         * modules/unictype/property-other-alphabetic: New file.
98025         * modules/unictype/property-not-a-character: New file.
98026         * modules/unictype/property-default-ignorable-code-point: New file.
98027         * modules/unictype/property-other-default-ignorable-code-point: New
98028         file.
98029         * modules/unictype/property-deprecated: New file.
98030         * modules/unictype/property-logical-order-exception: New file.
98031         * modules/unictype/property-variation-selector: New file.
98032         * modules/unictype/property-private-use: New file.
98033         * modules/unictype/property-unassigned-code-value: New file.
98034         * modules/unictype/property-uppercase: New file.
98035         * modules/unictype/property-other-uppercase: New file.
98036         * modules/unictype/property-lowercase: New file.
98037         * modules/unictype/property-other-lowercase: New file.
98038         * modules/unictype/property-titlecase: New file.
98039         * modules/unictype/property-soft-dotted: New file.
98040         * modules/unictype/property-id-start: New file.
98041         * modules/unictype/property-other-id-start: New file.
98042         * modules/unictype/property-id-continue: New file.
98043         * modules/unictype/property-other-id-continue: New file.
98044         * modules/unictype/property-xid-start: New file.
98045         * modules/unictype/property-xid-continue: New file.
98046         * modules/unictype/property-pattern-white-space: New file.
98047         * modules/unictype/property-pattern-syntax: New file.
98048         * modules/unictype/property-join-control: New file.
98049         * modules/unictype/property-grapheme-base: New file.
98050         * modules/unictype/property-grapheme-extend: New file.
98051         * modules/unictype/property-other-grapheme-extend: New file.
98052         * modules/unictype/property-grapheme-link: New file.
98053         * modules/unictype/property-bidi-control: New file.
98054         * modules/unictype/property-bidi-left-to-right: New file.
98055         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
98056         * modules/unictype/property-bidi-arabic-right-to-left: New file.
98057         * modules/unictype/property-bidi-european-digit: New file.
98058         * modules/unictype/property-bidi-eur-num-separator: New file.
98059         * modules/unictype/property-bidi-eur-num-terminator: New file.
98060         * modules/unictype/property-bidi-arabic-digit: New file.
98061         * modules/unictype/property-bidi-common-separator: New file.
98062         * modules/unictype/property-bidi-block-separator: New file.
98063         * modules/unictype/property-bidi-segment-separator: New file.
98064         * modules/unictype/property-bidi-whitespace: New file.
98065         * modules/unictype/property-bidi-non-spacing-mark: New file.
98066         * modules/unictype/property-bidi-boundary-neutral: New file.
98067         * modules/unictype/property-bidi-pdf: New file.
98068         * modules/unictype/property-bidi-embedding-or-override: New file.
98069         * modules/unictype/property-bidi-other-neutral: New file.
98070         * modules/unictype/property-hex-digit: New file.
98071         * modules/unictype/property-ascii-hex-digit: New file.
98072         * modules/unictype/property-ideographic: New file.
98073         * modules/unictype/property-unified-ideograph: New file.
98074         * modules/unictype/property-radical: New file.
98075         * modules/unictype/property-ids-binary-operator: New file.
98076         * modules/unictype/property-ids-trinary-operator: New file.
98077         * modules/unictype/property-zero-width: New file.
98078         * modules/unictype/property-space: New file.
98079         * modules/unictype/property-non-break: New file.
98080         * modules/unictype/property-iso-control: New file.
98081         * modules/unictype/property-format-control: New file.
98082         * modules/unictype/property-dash: New file.
98083         * modules/unictype/property-hyphen: New file.
98084         * modules/unictype/property-punctuation: New file.
98085         * modules/unictype/property-line-separator: New file.
98086         * modules/unictype/property-paragraph-separator: New file.
98087         * modules/unictype/property-quotation-mark: New file.
98088         * modules/unictype/property-sentence-terminal: New file.
98089         * modules/unictype/property-terminal-punctuation: New file.
98090         * modules/unictype/property-currency-symbol: New file.
98091         * modules/unictype/property-math: New file.
98092         * modules/unictype/property-other-math: New file.
98093         * modules/unictype/property-paired-punctuation: New file.
98094         * modules/unictype/property-left-of-pair: New file.
98095         * modules/unictype/property-combining: New file.
98096         * modules/unictype/property-composite: New file.
98097         * modules/unictype/property-decimal-digit: New file.
98098         * modules/unictype/property-numeric: New file.
98099         * modules/unictype/property-diacritic: New file.
98100         * modules/unictype/property-extender: New file.
98101         * modules/unictype/property-ignorable-control: New file.
98102         * modules/unictype/property-test: New file.
98103         * modules/unictype/property-byname: New file.
98104         * modules/unictype/property-all: New file.
98105         * modules/unictype/scripts: New file.
98106         * modules/unictype/scripts-all: New file.
98107         * modules/unictype/block-of: New file.
98108         * modules/unictype/block-test: New file.
98109         * modules/unictype/block-list: New file.
98110         * modules/unictype/block-all: New file.
98111         * modules/unictype/syntax-c-whitespace: New file.
98112         * modules/unictype/syntax-java-whitespace: New file.
98113         * modules/unictype/syntax-c-ident: New file.
98114         * modules/unictype/syntax-java-ident: New file.
98115         * modules/unictype/ctype-alnum: New file.
98116         * modules/unictype/ctype-alpha: New file.
98117         * modules/unictype/ctype-cntrl: New file.
98118         * modules/unictype/ctype-digit: New file.
98119         * modules/unictype/ctype-graph: New file.
98120         * modules/unictype/ctype-lower: New file.
98121         * modules/unictype/ctype-print: New file.
98122         * modules/unictype/ctype-punct: New file.
98123         * modules/unictype/ctype-space: New file.
98124         * modules/unictype/ctype-upper: New file.
98125         * modules/unictype/ctype-xdigit: New file.
98126         * modules/unictype/ctype-blank: New file.
98127         * lib/unictype/bidi_byname.c: New file.
98128         * lib/unictype/bidi_name.c: New file.
98129         * lib/unictype/bidi_of.c: New file.
98130         * lib/unictype/bidi_test.c: New file.
98131         * lib/unictype/bitmap.h: New file.
98132         * lib/unictype/block_test.c: New file.
98133         * lib/unictype/blocks.c: New file.
98134         * lib/unictype/categ_C.c: New file.
98135         * lib/unictype/categ_Cc.c: New file.
98136         * lib/unictype/categ_Cf.c: New file.
98137         * lib/unictype/categ_Cn.c: New file.
98138         * lib/unictype/categ_Co.c: New file.
98139         * lib/unictype/categ_Cs.c: New file.
98140         * lib/unictype/categ_L.c: New file.
98141         * lib/unictype/categ_Ll.c: New file.
98142         * lib/unictype/categ_Lm.c: New file.
98143         * lib/unictype/categ_Lo.c: New file.
98144         * lib/unictype/categ_Lt.c: New file.
98145         * lib/unictype/categ_Lu.c: New file.
98146         * lib/unictype/categ_M.c: New file.
98147         * lib/unictype/categ_Mc.c: New file.
98148         * lib/unictype/categ_Me.c: New file.
98149         * lib/unictype/categ_Mn.c: New file.
98150         * lib/unictype/categ_N.c: New file.
98151         * lib/unictype/categ_Nd.c: New file.
98152         * lib/unictype/categ_Nl.c: New file.
98153         * lib/unictype/categ_No.c: New file.
98154         * lib/unictype/categ_P.c: New file.
98155         * lib/unictype/categ_Pc.c: New file.
98156         * lib/unictype/categ_Pd.c: New file.
98157         * lib/unictype/categ_Pe.c: New file.
98158         * lib/unictype/categ_Pf.c: New file.
98159         * lib/unictype/categ_Pi.c: New file.
98160         * lib/unictype/categ_Po.c: New file.
98161         * lib/unictype/categ_Ps.c: New file.
98162         * lib/unictype/categ_S.c: New file.
98163         * lib/unictype/categ_Sc.c: New file.
98164         * lib/unictype/categ_Sk.c: New file.
98165         * lib/unictype/categ_Sm.c: New file.
98166         * lib/unictype/categ_So.c: New file.
98167         * lib/unictype/categ_Z.c: New file.
98168         * lib/unictype/categ_Zl.c: New file.
98169         * lib/unictype/categ_Zp.c: New file.
98170         * lib/unictype/categ_Zs.c: New file.
98171         * lib/unictype/categ_and.c: New file.
98172         * lib/unictype/categ_and_not.c: New file.
98173         * lib/unictype/categ_byname.c: New file.
98174         * lib/unictype/categ_name.c: New file.
98175         * lib/unictype/categ_none.c: New file.
98176         * lib/unictype/categ_of.c: New file.
98177         * lib/unictype/categ_or.c: New file.
98178         * lib/unictype/categ_test.c: New file.
98179         * lib/unictype/combining.c: New file.
98180         * lib/unictype/ctype_alnum.c: New file.
98181         * lib/unictype/ctype_alpha.c: New file.
98182         * lib/unictype/ctype_blank.c: New file.
98183         * lib/unictype/ctype_cntrl.c: New file.
98184         * lib/unictype/ctype_digit.c: New file.
98185         * lib/unictype/ctype_graph.c: New file.
98186         * lib/unictype/ctype_lower.c: New file.
98187         * lib/unictype/ctype_print.c: New file.
98188         * lib/unictype/ctype_punct.c: New file.
98189         * lib/unictype/ctype_space.c: New file.
98190         * lib/unictype/ctype_upper.c: New file.
98191         * lib/unictype/ctype_xdigit.c: New file.
98192         * lib/unictype/decdigit.c: New file.
98193         * lib/unictype/digit.c: New file.
98194         * lib/unictype/identsyntaxmap.h: New file.
98195         * lib/unictype/mirror.c: New file.
98196         * lib/unictype/numeric.c: New file.
98197         * lib/unictype/pr_alphabetic.c: New file.
98198         * lib/unictype/pr_ascii_hex_digit.c: New file.
98199         * lib/unictype/pr_bidi_arabic_digit.c: New file.
98200         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
98201         * lib/unictype/pr_bidi_block_separator.c: New file.
98202         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
98203         * lib/unictype/pr_bidi_common_separator.c: New file.
98204         * lib/unictype/pr_bidi_control.c: New file.
98205         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
98206         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
98207         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
98208         * lib/unictype/pr_bidi_european_digit.c: New file.
98209         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
98210         * lib/unictype/pr_bidi_left_to_right.c: New file.
98211         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
98212         * lib/unictype/pr_bidi_other_neutral.c: New file.
98213         * lib/unictype/pr_bidi_pdf.c: New file.
98214         * lib/unictype/pr_bidi_segment_separator.c: New file.
98215         * lib/unictype/pr_bidi_whitespace.c: New file.
98216         * lib/unictype/pr_byname.c: New file.
98217         * lib/unictype/pr_byname.gperf: New file.
98218         * lib/unictype/pr_combining.c: New file.
98219         * lib/unictype/pr_composite.c: New file.
98220         * lib/unictype/pr_currency_symbol.c: New file.
98221         * lib/unictype/pr_dash.c: New file.
98222         * lib/unictype/pr_decimal_digit.c: New file.
98223         * lib/unictype/pr_default_ignorable_code_point.c: New file.
98224         * lib/unictype/pr_deprecated.c: New file.
98225         * lib/unictype/pr_diacritic.c: New file.
98226         * lib/unictype/pr_extender.c: New file.
98227         * lib/unictype/pr_format_control.c: New file.
98228         * lib/unictype/pr_grapheme_base.c: New file.
98229         * lib/unictype/pr_grapheme_extend.c: New file.
98230         * lib/unictype/pr_grapheme_link.c: New file.
98231         * lib/unictype/pr_hex_digit.c: New file.
98232         * lib/unictype/pr_hyphen.c: New file.
98233         * lib/unictype/pr_id_continue.c: New file.
98234         * lib/unictype/pr_id_start.c: New file.
98235         * lib/unictype/pr_ideographic.c: New file.
98236         * lib/unictype/pr_ids_binary_operator.c: New file.
98237         * lib/unictype/pr_ids_trinary_operator.c: New file.
98238         * lib/unictype/pr_ignorable_control.c: New file.
98239         * lib/unictype/pr_iso_control.c: New file.
98240         * lib/unictype/pr_join_control.c: New file.
98241         * lib/unictype/pr_left_of_pair.c: New file.
98242         * lib/unictype/pr_line_separator.c: New file.
98243         * lib/unictype/pr_logical_order_exception.c: New file.
98244         * lib/unictype/pr_lowercase.c: New file.
98245         * lib/unictype/pr_math.c: New file.
98246         * lib/unictype/pr_non_break.c: New file.
98247         * lib/unictype/pr_not_a_character.c: New file.
98248         * lib/unictype/pr_numeric.c: New file.
98249         * lib/unictype/pr_other_alphabetic.c: New file.
98250         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
98251         * lib/unictype/pr_other_grapheme_extend.c: New file.
98252         * lib/unictype/pr_other_id_continue.c: New file.
98253         * lib/unictype/pr_other_id_start.c: New file.
98254         * lib/unictype/pr_other_lowercase.c: New file.
98255         * lib/unictype/pr_other_math.c: New file.
98256         * lib/unictype/pr_other_uppercase.c: New file.
98257         * lib/unictype/pr_paired_punctuation.c: New file.
98258         * lib/unictype/pr_paragraph_separator.c: New file.
98259         * lib/unictype/pr_pattern_syntax.c: New file.
98260         * lib/unictype/pr_pattern_white_space.c: New file.
98261         * lib/unictype/pr_private_use.c: New file.
98262         * lib/unictype/pr_punctuation.c: New file.
98263         * lib/unictype/pr_quotation_mark.c: New file.
98264         * lib/unictype/pr_radical.c: New file.
98265         * lib/unictype/pr_sentence_terminal.c: New file.
98266         * lib/unictype/pr_soft_dotted.c: New file.
98267         * lib/unictype/pr_space.c: New file.
98268         * lib/unictype/pr_terminal_punctuation.c: New file.
98269         * lib/unictype/pr_test.c: New file.
98270         * lib/unictype/pr_titlecase.c: New file.
98271         * lib/unictype/pr_unassigned_code_value.c: New file.
98272         * lib/unictype/pr_unified_ideograph.c: New file.
98273         * lib/unictype/pr_uppercase.c: New file.
98274         * lib/unictype/pr_variation_selector.c: New file.
98275         * lib/unictype/pr_white_space.c: New file.
98276         * lib/unictype/pr_xid_continue.c: New file.
98277         * lib/unictype/pr_xid_start.c: New file.
98278         * lib/unictype/pr_zero_width.c: New file.
98279         * lib/unictype/scripts.c: New file.
98280         * lib/unictype/sy_c_ident.c: New file.
98281         * lib/unictype/sy_c_whitespace.c: New file.
98282         * lib/unictype/sy_java_ident.c: New file.
98283         * lib/unictype/sy_java_whitespace.c: New file.
98285         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
98286         Unicode 5.0.0.
98287         * lib/unictype/blocks.h: Likewise.
98288         * lib/unictype/categ_C.h: Likewise.
98289         * lib/unictype/categ_Cc.h: Likewise.
98290         * lib/unictype/categ_Cf.h: Likewise.
98291         * lib/unictype/categ_Cn.h: Likewise.
98292         * lib/unictype/categ_Co.h: Likewise.
98293         * lib/unictype/categ_Cs.h: Likewise.
98294         * lib/unictype/categ_L.h: Likewise.
98295         * lib/unictype/categ_Ll.h: Likewise.
98296         * lib/unictype/categ_Lm.h: Likewise.
98297         * lib/unictype/categ_Lo.h: Likewise.
98298         * lib/unictype/categ_Lt.h: Likewise.
98299         * lib/unictype/categ_Lu.h: Likewise.
98300         * lib/unictype/categ_M.h: Likewise.
98301         * lib/unictype/categ_Mc.h: Likewise.
98302         * lib/unictype/categ_Me.h: Likewise.
98303         * lib/unictype/categ_Mn.h: Likewise.
98304         * lib/unictype/categ_N.h: Likewise.
98305         * lib/unictype/categ_Nd.h: Likewise.
98306         * lib/unictype/categ_Nl.h: Likewise.
98307         * lib/unictype/categ_No.h: Likewise.
98308         * lib/unictype/categ_P.h: Likewise.
98309         * lib/unictype/categ_Pc.h: Likewise.
98310         * lib/unictype/categ_Pd.h: Likewise.
98311         * lib/unictype/categ_Pe.h: Likewise.
98312         * lib/unictype/categ_Pf.h: Likewise.
98313         * lib/unictype/categ_Pi.h: Likewise.
98314         * lib/unictype/categ_Po.h: Likewise.
98315         * lib/unictype/categ_Ps.h: Likewise.
98316         * lib/unictype/categ_S.h: Likewise.
98317         * lib/unictype/categ_Sc.h: Likewise.
98318         * lib/unictype/categ_Sk.h: Likewise.
98319         * lib/unictype/categ_Sm.h: Likewise.
98320         * lib/unictype/categ_So.h: Likewise.
98321         * lib/unictype/categ_Z.h: Likewise.
98322         * lib/unictype/categ_Zl.h: Likewise.
98323         * lib/unictype/categ_Zp.h: Likewise.
98324         * lib/unictype/categ_Zs.h: Likewise.
98325         * lib/unictype/categ_of.h: Likewise.
98326         * lib/unictype/combining.h: Likewise.
98327         * lib/unictype/ctype_alnum.h: Likewise.
98328         * lib/unictype/ctype_alpha.h: Likewise.
98329         * lib/unictype/ctype_blank.h: Likewise.
98330         * lib/unictype/ctype_cntrl.h: Likewise.
98331         * lib/unictype/ctype_digit.h: Likewise.
98332         * lib/unictype/ctype_graph.h: Likewise.
98333         * lib/unictype/ctype_lower.h: Likewise.
98334         * lib/unictype/ctype_print.h: Likewise.
98335         * lib/unictype/ctype_punct.h: Likewise.
98336         * lib/unictype/ctype_space.h: Likewise.
98337         * lib/unictype/ctype_upper.h: Likewise.
98338         * lib/unictype/ctype_xdigit.h: Likewise.
98339         * lib/unictype/decdigit.h: Likewise.
98340         * lib/unictype/digit.h: Likewise.
98341         * lib/unictype/mirror.h: Likewise.
98342         * lib/unictype/numeric.h: Likewise.
98343         * lib/unictype/pr_alphabetic.h: Likewise.
98344         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
98345         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
98346         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
98347         * lib/unictype/pr_bidi_block_separator.h: Likewise.
98348         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
98349         * lib/unictype/pr_bidi_common_separator.h: Likewise.
98350         * lib/unictype/pr_bidi_control.h: Likewise.
98351         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
98352         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
98353         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
98354         * lib/unictype/pr_bidi_european_digit.h: Likewise.
98355         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
98356         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
98357         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
98358         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
98359         * lib/unictype/pr_bidi_pdf.h: Likewise.
98360         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
98361         * lib/unictype/pr_bidi_whitespace.h: Likewise.
98362         * lib/unictype/pr_combining.h: Likewise.
98363         * lib/unictype/pr_composite.h: Likewise.
98364         * lib/unictype/pr_currency_symbol.h: Likewise.
98365         * lib/unictype/pr_dash.h: Likewise.
98366         * lib/unictype/pr_decimal_digit.h: Likewise.
98367         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
98368         * lib/unictype/pr_deprecated.h: Likewise.
98369         * lib/unictype/pr_diacritic.h: Likewise.
98370         * lib/unictype/pr_extender.h: Likewise.
98371         * lib/unictype/pr_format_control.h: Likewise.
98372         * lib/unictype/pr_grapheme_base.h: Likewise.
98373         * lib/unictype/pr_grapheme_extend.h: Likewise.
98374         * lib/unictype/pr_grapheme_link.h: Likewise.
98375         * lib/unictype/pr_hex_digit.h: Likewise.
98376         * lib/unictype/pr_hyphen.h: Likewise.
98377         * lib/unictype/pr_id_continue.h: Likewise.
98378         * lib/unictype/pr_id_start.h: Likewise.
98379         * lib/unictype/pr_ideographic.h: Likewise.
98380         * lib/unictype/pr_ids_binary_operator.h: Likewise.
98381         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
98382         * lib/unictype/pr_ignorable_control.h: Likewise.
98383         * lib/unictype/pr_iso_control.h: Likewise.
98384         * lib/unictype/pr_join_control.h: Likewise.
98385         * lib/unictype/pr_left_of_pair.h: Likewise.
98386         * lib/unictype/pr_line_separator.h: Likewise.
98387         * lib/unictype/pr_logical_order_exception.h: Likewise.
98388         * lib/unictype/pr_lowercase.h: Likewise.
98389         * lib/unictype/pr_math.h: Likewise.
98390         * lib/unictype/pr_non_break.h: Likewise.
98391         * lib/unictype/pr_not_a_character.h: Likewise.
98392         * lib/unictype/pr_numeric.h: Likewise.
98393         * lib/unictype/pr_other_alphabetic.h: Likewise.
98394         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
98395         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
98396         * lib/unictype/pr_other_id_continue.h: Likewise.
98397         * lib/unictype/pr_other_id_start.h: Likewise.
98398         * lib/unictype/pr_other_lowercase.h: Likewise.
98399         * lib/unictype/pr_other_math.h: Likewise.
98400         * lib/unictype/pr_other_uppercase.h: Likewise.
98401         * lib/unictype/pr_paired_punctuation.h: Likewise.
98402         * lib/unictype/pr_paragraph_separator.h: Likewise.
98403         * lib/unictype/pr_pattern_syntax.h: Likewise.
98404         * lib/unictype/pr_pattern_white_space.h: Likewise.
98405         * lib/unictype/pr_private_use.h: Likewise.
98406         * lib/unictype/pr_punctuation.h: Likewise.
98407         * lib/unictype/pr_quotation_mark.h: Likewise.
98408         * lib/unictype/pr_radical.h: Likewise.
98409         * lib/unictype/pr_sentence_terminal.h: Likewise.
98410         * lib/unictype/pr_soft_dotted.h: Likewise.
98411         * lib/unictype/pr_space.h: Likewise.
98412         * lib/unictype/pr_terminal_punctuation.h: Likewise.
98413         * lib/unictype/pr_titlecase.h: Likewise.
98414         * lib/unictype/pr_unassigned_code_value.h: Likewise.
98415         * lib/unictype/pr_unified_ideograph.h: Likewise.
98416         * lib/unictype/pr_uppercase.h: Likewise.
98417         * lib/unictype/pr_variation_selector.h: Likewise.
98418         * lib/unictype/pr_white_space.h: Likewise.
98419         * lib/unictype/pr_xid_continue.h: Likewise.
98420         * lib/unictype/pr_xid_start.h: Likewise.
98421         * lib/unictype/pr_zero_width.h: Likewise.
98422         * lib/unictype/scripts.h: Likewise.
98423         * lib/unictype/scripts_byname.gperf: Likewise.
98424         * lib/unictype/sy_c_ident.h: Likewise.
98425         * lib/unictype/sy_c_whitespace.h: Likewise.
98426         * lib/unictype/sy_java_ident.h: Likewise.
98427         * lib/unictype/sy_java_whitespace.h: Likewise.
98429         * lib/unictype/Makefile: New file.
98430         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
98431         glibc.
98432         * lib/unictype/3level.h: New file, copied from glibc.
98433         * lib/unictype/3levelbit.h: New file.
98435 2007-11-11  Bruno Haible  <bruno@clisp.org>
98437         * modules/gperf: New file.
98438         * modules/iconv_open (Depends-on): Add it.
98439         (Makefile.am): Remove the GPERF definition.
98441 2007-11-11  Bruno Haible  <bruno@clisp.org>
98443         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
98444         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
98446 2007-11-11  Bruno Haible  <bruno@clisp.org>
98448         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
98449         (usage): Remove function.
98451 2007-11-11  Bruno Haible  <bruno@clisp.org>
98453         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
98454         gl_FUNC_CEILF_LIBS.
98455         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
98456         gl_FUNC_CEIL_LIBS.
98457         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
98458         gl_FUNC_CEILL_LIBS.
98459         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
98460         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
98461         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
98463 2007-11-11  Bruno Haible  <bruno@clisp.org>
98465         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
98466         roundf were declared but do not exist on functions.
98467         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
98468         roundl were declared but do not exist on functions.
98469         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
98470         HAVE_FLOORL_AND_CEILL, respectively.
98471         Needed for Sun C on Solaris 10.
98473 2007-11-11  Bruno Haible  <bruno@clisp.org>
98475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
98476         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
98477         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
98478         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
98479         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
98480         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
98481         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
98482         HAVE_DECL_ROUNDF.
98483         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
98484         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
98485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
98486         of HAVE_DECL_ROUND*.
98487         * modules/math (Makefile.am): Update.
98489 2007-11-10  Bruno Haible  <bruno@clisp.org>
98491         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
98492         ptrdiff_t as m4/intl.m4.
98494 2007-11-10  Jim Meyering  <meyering@redhat.com>
98496         Avoid link failure for the argmatch test.
98497         * tests/test-argmatch.c (usage): Define function to avoid a link
98498         failure: argmatch_die requires a usage function.
98500 2007-11-09  Bruno Haible  <bruno@clisp.org>
98502         * doc/functions/snprintf.texi: Mention BeOS deficiency.
98503         * doc/functions/vsnprintf.texi: Likewise.
98504         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
98505         with a size argument < 2.
98507 2007-11-09  Bruno Haible  <bruno@clisp.org>
98509         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
98510         buffer. Fixes an inefficiency introduced on 2007-11-03.
98512 2007-11-09  Bruno Haible  <bruno@clisp.org>
98514         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
98515         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
98517 2007-11-08  Jim Meyering  <meyering@redhat.com>
98519         Change cache variable name prefix "jm_" to "gl_" everywhere.
98520         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
98521         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
98522         * m4/uptime.m4: s/gl_/jm_/
98524 2007-11-07  Bruno Haible  <bruno@clisp.org>
98526         Update to GNU gettext 0.17.
98527         * m4/intl.m4: Update to GNU gettext 0.17.
98528         * m4/po.m4: Likewise.
98529         * modules/gettext (Files): Remove m4/ulonglong.m4.
98530         (configure.ac): Require gettext infrastructure from version 0.17.
98532 2007-11-06  Bruno Haible  <bruno@clisp.org>
98534         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
98535         symbolic values are not defined in a public header.
98536         * lib/freadable.c (freadable) [QNX]: Likewise.
98537         * lib/freadahead.c (freadahead) [QNX]: Likewise.
98538         * lib/freading.c (freading) [QNX]: Likewise.
98539         * lib/fseterr.c (fseterr) [QNX]: Likewise.
98540         * lib/fwritable.c (fwritable) [QNX]: Likewise.
98541         * lib/fwriting.c (fwriting) [QNX]: Likewise.
98542         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
98543         Reported by Alain Magloire.
98545         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
98547 2007-11-05  Bruno Haible  <bruno@clisp.org>
98549         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
98550         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
98551         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
98552         Reported by Eric Blake.
98554 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98555             Bruno Haible  <bruno@clisp.org>
98557         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
98558         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
98559         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
98560         (malloc): Undefine also before including <stdlib.h>.
98561         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
98562         Needed on OSF/1 4.0.
98564 2007-11-05  Jim Meyering  <meyering@redhat.com>
98566         git-version-gen: sync from coreutils.
98567         * build-aux/git-version-gen: Add comments.
98568         Change the first '-' to '.' in the snapshot version string,
98569         e.g., 6.9-377-08144 -> 6.9.377-08144
98570         Remove first parameter.
98571         Don't declare a version "-dirty" merely because a time
98572         stamp has changed.
98574 2007-11-04  Bruno Haible  <bruno@clisp.org>
98576         * lib/lock.h: Protect all macro definitions containing an 'if'
98577         statement through a "do { ... } while (0)".
98578         * lib/tls.h: Likewise.
98580 2007-11-04  Bruno Haible  <bruno@clisp.org>
98582         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
98584 2007-11-04  Bruno Haible  <bruno@clisp.org>
98586         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
98587         * modules/fprintf-posix (Depends-on): Add nocrash.
98588         * modules/snprintf-posix (Depends-on): Likewise.
98589         * modules/sprintf-posix (Depends-on): Likewise.
98590         * modules/vasnprintf-posix (Depends-on): Likewise.
98591         * modules/vasprintf-posix (Depends-on): Likewise.
98592         * modules/vfprintf-posix (Depends-on): Likewise.
98593         * modules/vsnprintf-posix (Depends-on): Likewise.
98594         * modules/vsprintf-posix (Depends-on): Likewise.
98595         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
98596         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
98597         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
98598         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
98599         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
98600         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
98601         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
98603 2007-11-04  Bruno Haible  <bruno@clisp.org>
98605         * modules/nocrash: New file.
98606         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
98607         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
98609 2007-11-04  Bruno Haible  <bruno@clisp.org>
98611         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
98612         precision handling.
98613         * tests/test-vasprintf-posix.c (test_function): Likewise.
98614         * tests/test-snprintf-posix.h (test_function): Likewise.
98615         * tests/test-sprintf-posix.h (test_function): Likewise.
98617         Fix *printf behaviour for large precisions on mingw and BeOS.
98618         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
98619         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
98620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
98621         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
98622         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98623         gl_PRINTF_PRECISION and test its result. Invoke
98624         gl_PREREQ_VASNPRINTF_PRECISION.
98625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98626         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98627         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98628         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98629         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98630         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98631         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98632         * doc/functions/fprintf.texi: Update.
98633         * doc/functions/printf.texi: Update.
98634         * doc/functions/snprintf.texi: Update.
98635         * doc/functions/sprintf.texi: Update.
98636         * doc/functions/vfprintf.texi: Update.
98637         * doc/functions/vprintf.texi: Update.
98638         * doc/functions/vsnprintf.texi: Update.
98639         * doc/functions/vsprintf.texi: Update.
98641 2007-11-04  Bruno Haible  <bruno@clisp.org>
98643         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
98645 2007-11-04  Bruno Haible  <bruno@clisp.org>
98647         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
98648         Reported by Sylvain Beucler <beuc@gnu.org>.
98650 2007-11-03  Bruno Haible  <bruno@clisp.org>
98652         * tests/test-fprintf-posix2.sh: New file.
98653         * tests/test-fprintf-posix2.c: New file.
98654         * modules/fprintf-posix-tests (Files): Add them.
98655         (TESTS): Add test-fprintf-posix2.sh.
98656         (configure.ac): Check for getrlimit and setrlimit.
98657         (check_PROGRAMS): Add test-fprintf-posix2.
98659         * tests/test-printf-posix2.sh: New file.
98660         * tests/test-printf-posix2.c: New file.
98661         * modules/printf-posix-tests (Files): Add them.
98662         (TESTS): Add test-printf-posix2.sh.
98663         (configure.ac): Check for getrlimit and setrlimit.
98664         (check_PROGRAMS): Add test-printf-posix2.
98666         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
98667         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
98668         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
98669         (decode_double): New function, copied from decode_long_double.
98670         (scale10_round_decimal_decoded): New function, extracted from
98671         scale10_round_decimal_long_double.
98672         (scale10_round_decimal_long_double): Use it.
98673         (scale10_round_decimal_double): New function.
98674         (floorlog10): New function.
98675         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
98676         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
98677         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
98678         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98679         gl_PRINTF_ENOMEM and test its result. Invoke
98680         gl_PREREQ_VASNPRINTF_ENOMEM.
98681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98682         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98683         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98684         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98685         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98688         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
98689         * modules/snprintf-posix (Depends-on): Likewise.
98690         * modules/sprintf-posix (Depends-on): Likewise.
98691         * modules/vasnprintf-posix (Depends-on): Likewise.
98692         * modules/vasprintf-posix (Depends-on): Likewise.
98693         * modules/vfprintf-posix (Depends-on): Likewise.
98694         * modules/vsnprintf-posix (Depends-on): Likewise.
98695         * modules/vsprintf-posix (Depends-on): Likewise.
98696         * doc/functions/fprintf.texi: Update.
98697         * doc/functions/printf.texi: Update.
98698         * doc/functions/snprintf.texi: Update.
98699         * doc/functions/sprintf.texi: Update.
98700         * doc/functions/vfprintf.texi: Update.
98701         * doc/functions/vprintf.texi: Update.
98702         * doc/functions/vsnprintf.texi: Update.
98703         * doc/functions/vsprintf.texi: Update.
98705 2007-11-03  Bruno Haible  <bruno@clisp.org>
98707         * modules/frexp-nolibm-tests: New file.
98709         * modules/frexp-nolibm: New file.
98710         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
98712 2007-11-03  Bruno Haible  <bruno@clisp.org>
98714         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
98715         value is C99 compliant.
98716         Needed for OSF/1 5.1.
98718 2007-11-03  Bruno Haible  <bruno@clisp.org>
98720         Fix out-of-memory handling of vasnprintf.
98721         * lib/printf-parse.c: Include <errno.h>.
98722         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
98723         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
98724         is already set.
98726 2007-11-02  Eric Blake  <ebb9@byu.net>
98728         Fix tests on cygwin.
98729         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
98731 2007-11-01  Bruno Haible  <bruno@clisp.org>
98733         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
98734         warning.
98735         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
98736         needed for POSIX compatibility.
98738 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
98740         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
98741         for compatibility with GNU.
98743 2007-11-01  Bruno Haible  <bruno@clisp.org>
98745         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
98746         (putenv): Renamed from rpl_putenv. Change argument type from
98747         'const char *' to 'char *'.
98748         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
98749         of defining putenv in config.h, just set REPLACE_PUTENV.
98750         * modules/putenv (Depends-on): Add stdlib.
98751         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
98752         (Include): Use <stdlib.h>.
98753         * lib/stdlib.in.h (putenv): New declaration.
98754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
98755         REPLACE_PUTENV.
98756         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
98757         REPLACE_PUTENV.
98758         Needed for MacOS X 10.5.0.
98759         Reported by Peter O'Gorman <peter@pogma.com>.
98761 2007-11-01  Jim Meyering  <meyering@redhat.com>
98763         Treat an empty date string exactly like "0".
98764         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
98765         if the remaining date string (to be parsed) is empty, use "0".
98766         Reported by Mischa Molhoek and discussed in this thread:
98767         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
98769 2007-10-31  Bruno Haible  <bruno@clisp.org>
98771         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
98772         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
98773         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
98774         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
98775         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
98776         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
98778 2007-10-31  Bruno Haible  <bruno@clisp.org>
98780         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
98781         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
98782         (AC_TYPE_LONG_LONG_INT): Use it.
98783         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
98784         it as well.
98785         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
98786         to m4/longlong.m4.
98787         * modules/stdint (Files): Remove m4/ulonglong.m4.
98788         * modules/strtoull (Files): Use m4/longlong.m4 instead of
98789         m4/ulonglong.m4.
98790         * modules/strtoumax (Files): Likewise.
98792 2007-10-30  Bruno Haible  <bruno@clisp.org>
98794         * modules/xvasprintf-posix: New file.
98795         Suggested by Eric Blake.
98797 2007-10-30  Bruno Haible  <bruno@clisp.org>
98799         * modules/xprintf-posix-tests: New file.
98800         * tests/test-xprintf-posix.sh: New file.
98801         * tests/test-xprintf-posix.c: New file.
98802         * tests/test-xfprintf-posix.c: New file.
98804         * modules/xprintf-posix: New file.
98806 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98808         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
98809         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
98810         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
98812 2007-10-29  Bruno Haible  <bruno@clisp.org>
98814         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
98815         contain the special marker '_cv_'.
98816         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
98817         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
98818         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
98819         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
98820         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
98821         Reported by Ralf Wildenhues.
98823 2007-10-29  Bruno Haible  <bruno@clisp.org>
98825         * gnulib-tool (func_import): When --lgpl is not specified, set
98826         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
98827         GPLv3.
98828         Reported by Simon Josefsson.
98830 2007-10-28  Bruno Haible  <bruno@clisp.org>
98832         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
98833         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
98834         HAVE_DECL_ISFINITE.
98835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
98836         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
98837         HAVE_DECL_ISFINITE.
98839 2007-10-28  Bruno Haible  <bruno@clisp.org>
98841         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
98842         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
98844 2007-10-28  Bruno Haible  <bruno@clisp.org>
98846         Fix link errors with Sun C 5.0 on Solaris 10.
98847         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
98848         function is declared but not present in the compiler's libm.
98849         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
98850         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
98851         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
98852         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
98853         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
98854         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
98855         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
98856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
98857         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
98858         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
98859         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
98860         HAVE_DECL_FLOORL.
98862 2007-10-28  Bruno Haible  <bruno@clisp.org>
98864         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
98865         gl_FUNC_FLOORL. Cache the result.
98866         (gl_FUNC_FLOORL): Use it.
98867         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
98868         gl_FUNC_CEILL. Cache the result.
98869         (gl_FUNC_CEILL): Use it.
98871         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
98872         gl_FUNC_FLOOR. Cache the result.
98873         (gl_FUNC_FLOOR): Use it.
98874         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
98875         gl_FUNC_CEIL. Cache the result.
98876         (gl_FUNC_CEIL): Use it.
98878         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
98879         gl_FUNC_FLOORF. Cache the result.
98880         (gl_FUNC_FLOORF): Use it.
98881         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
98882         gl_FUNC_CEILF. Cache the result.
98883         (gl_FUNC_CEILF): Use it.
98885 2007-10-28  Bruno Haible  <bruno@clisp.org>
98887         * gnulib-tool: Allow specifying the LGPL version number through
98888         --lgpl=2 or --lgpl=3.
98889         (func_usage): Document --lgpl with argument.
98890         Handle --lgpl=... arguments.
98891         (func_import): Recognize also gl_LGPL calls with an argument. When
98892         --lgpl=2 is used and the module's license is just LGPL, report an
98893         error. Set sed_transform_lib_file according to the lgpl variable. In
98894         the generated files, use --lgpl or gl_LGPL invocations with argument,
98895         if necessary.
98896         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
98897         an LGPv2+ license.
98898         * doc/gnulib-tool.texi (Modified imports): Update explanation of
98899         gl_LGPL macro.
98901 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98902             Bruno Haible  <bruno@clisp.org>
98904         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
98905         (u16_uctomb_aux): Likewise.
98906         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
98907         !HAVE_INLINE.
98908         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
98910 2007-10-28  Bruno Haible  <bruno@clisp.org>
98912         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
98913         Invoke AM_GETTEXT_OPTION if it exists.
98914         * modules/vasprintf: Likewise.
98915         * modules/verror: Likewise.
98916         * modules/xprintf: Likewise.
98917         * modules/xvasprintf: Likewise.
98919 2007-10-27  Ben Pfaff  <blp@gnu.org>
98921         * lib/math.in.h: Define isfinite macro and prototypes for
98922         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
98923         implementations.
98924         * m4/math_h.m4: New substitutions for isfinite module.
98925         * lib/isfinite.c: New file.
98926         * m4/isfinite.m4: New file.
98927         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
98928         * modules/isfinite: New file.
98929         * modules/isfinite-tests: New file.
98930         * tests/tests-isfinite.c: New file.
98931         * doc/functions/isfinite.texi: Mention isfinite module.
98932         * MODULES.html.sh: Mention new module.
98934 2007-10-27  Ben Pfaff  <blp@gnu.org>
98936         Ralf Wildenhues reported that Tru64 4.0D declares the round
98937         functions but does not have definitions.
98938         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
98939         cannot be found in any library, set the output variable to
98940         "missing" instead of "".
98941         * m4/round.m4: Also use our substitute if we cannot find round in
98942         any library, even if it is declared.
98943         * m4/roundf.m4: Likewise for roundf.
98944         * m4/roundl.m4: Likewise for roundl.
98945         * lib/math.in.h: Undefine roundf, round, roundl before defining
98946         their replacements, to allow for hypothetical systems where these
98947         may be defined as macros but not available in libraries.
98949 2007-10-27  Bruno Haible  <bruno@clisp.org>
98951         * doc/gnulib.texi: Invoke @firstparagraphindent.
98952         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
98953         changes in gnulib.
98954         (Source changes): New section.
98956 2007-10-26  Bruno Haible  <bruno@clisp.org>
98958         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
98959         borrowed from autoconf.
98961 2007-10-26  Bruno Haible  <bruno@clisp.org>
98963         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
98964         strerror returned the empty string. Needed on HP-UX 11.00.
98966 2007-10-24  Micah Cowan  <micah@cowan.name>
98968         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
98969         * build-aux/bootstrap: Remove support for now-unnecessary option,
98970         --cvs-user, and envvars CVS_USER, CVS_RSH.
98972 2007-10-24  Jim Meyering  <meyering@redhat.com>
98974         Avoid diagnostics from sha1sum when there is no cached checksum.
98975         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
98976         if the po.s1 file hasn't been created yet.
98978         * build-aux/bootstrap: Sync from coreutils:
98979         2007-10-24  Jim Meyering  <meyering@redhat.com>
98980         Get gnulib from the git repository, not from an obsolete cvs one.
98981         * build-aux/bootstrap: Suggestion from Micah Cowan.
98982         2007-10-04  Jim Meyering  <jim@meyering.net>
98983         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
98984         (update_po_files): Work also when there are no .po files in po/.
98986 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
98988         * README: Append ".git" to git and cg examples.
98989         Problem reported by Benoit Sigoure.
98991 2007-10-23  Micah Cowan  <micah@cowan.name>
98993         * users.txt: Add wget.
98995 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98997         Fix linking of some unistdio tests on FreeBSD.
98998         * modules/unistdio/u16-vsnprintf-tests
98999         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
99000         * modules/unistdio/u16-vsprintf-tests
99001         (test_u16_vsnprintf1_LDADD): Likewise.
99002         * modules/unistdio/u32-vsnprintf-tests
99003         (test_u32_vsnprintf1_LDADD): Likewise.
99004         * modules/unistdio/u32-vsprintf-tests
99005         (test_u32_vsprintf1_LDADD): Likewise.
99006         * modules/unistdio/u8-vsnprintf-tests
99007         (test_u8_vsnprintf1_LDADD): Likewise.
99008         * modules/unistdio/u8-vsprintf-tests
99009         (test_u8_vsprintf1_LDADD): Likewise.
99010         * modules/unistdio/ulc-vsnprintf-tests
99011         (test_ulc_vsnprintf1_LDADD): Likewise.
99012         * modules/unistdio/ulc-vsprintf-tests
99013         (test_ulc_vsprintf1_LDADD): Likewise.
99015         Fix linking of some uniconv tests on FreeBSD.
99016         * modules/uniconv/u16-conv-from-enc-tests
99017         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
99018         * modules/uniconv/u16-conv-to-enc-tests
99019         (test_u16_conv_to_enc_LDADD): Likewise.
99020         * modules/uniconv/u16-strconv-from-enc-tests
99021         (test_u16_strconv_from_enc_LDADD): Likewise.
99022         * modules/uniconv/u16-strconv-to-enc-tests
99023         (test_u16_strconv_to_enc_LDADD): Likewise.
99024         * modules/uniconv/u32-conv-from-enc-tests
99025         (test_u32_conv_from_enc_LDADD): Likewise.
99026         * modules/uniconv/u32-conv-to-enc-tests
99027         (test_u32_conv_to_enc_LDADD): Likewise.
99028         * modules/uniconv/u32-strconv-from-enc-tests
99029         (test_u32_strconv_from_enc_LDADD): Likewise.
99030         * modules/uniconv/u32-strconv-to-enc-tests
99031         (test_u32_strconv_to_enc_LDADD): Likewise.
99032         * modules/uniconv/u8-conv-from-enc-tests
99033         (test_u8_conv_from_enc_LDADD): Likewise.
99034         * modules/uniconv/u8-conv-to-enc-tests
99035         (test_u8_conv_to_enc_LDADD): Likewise.
99036         * modules/uniconv/u8-strconv-from-enc-tests
99037         (test_u8_strconv_from_enc_LDADD): Likewise.
99038         * modules/uniconv/u8-strconv-to-enc-tests
99039         (test_u8_strconv_to_enc_LDADD): Likewise.
99041 2007-10-22  Bruno Haible  <bruno@clisp.org>
99043         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
99044         size.
99046 2007-10-22  Eric Blake  <ebb9@byu.net>
99048         Tweak x*printf documentation.
99049         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
99050         variable name and comments.
99051         Suggested by Bruno Haible.
99053 2007-10-22  Bruno Haible  <bruno@clisp.org>
99055         * lib/acl.c (copy_acl): Fix file name in comment.
99057 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99059         Fix Tru64 problem with stdbool.h.
99060         * lib/stdbool.in.h (false, true):
99061         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
99062         Don't declare as an enum in this situation; it runs afoul of Tru64.
99063         Problem reported by Steven M. Schweda in
99064         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
99066 2007-10-22  Eric Blake  <ebb9@byu.net>
99068         Also wrap vf?printf.
99069         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
99070         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
99071         (xvprintf, xvfprintf): New functions.
99073 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99075         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
99076         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
99078         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
99079         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
99081 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99083         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
99084         by Bruno Haible.
99086 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99088         * lib/getloadavg.c
99089         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
99090         Undef `sys' after including sys/table.h, for Tru64 4.0D.
99092         * tests/test-i-ring.c: Work for C89.
99094 2007-10-22  Bruno Haible  <bruno@clisp.org>
99096         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
99097         -1u, in preprocessor expression, so that we don't test for the bug
99098         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
99099         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
99101 2007-10-22  Eric Blake  <ebb9@byu.net>
99103         * tests/test-yesno.sh: Silence stderr during test.
99105 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99107         * modules/crypto/gc-camellia: New file.
99109         * m4/gc-camellia.m4: New file.
99111         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
99113         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
99115 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99117         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
99118         --help to stdout.  Reported by sms@antinode.org (Steven
99119         M. Schweda).
99121 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99123         * users.txt: Fix link to libksba.
99125 2007-10-21  Ben Pfaff  <blp@gnu.org>
99127         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
99128         round.c roundf implementation that depends on floorf and ceilf to
99129         be tested unconditionally.
99131 2007-10-21  Ben Pfaff  <blp@gnu.org>
99133         * m4/check-libm-func.m4: Removed.
99134         * m4/check-math-lib.m4: New file.
99135         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
99136         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
99137         definition and lack of AC_LIBOBJ([roundf]).
99138         * m4/roundl.m4: Ditto, and similarly for roundl.
99139         * modules/round: Reference new m4 file.
99140         * modules/roundf: Ditto.
99141         * modules/roundl: Ditto.
99142         * tests/test-round2.c (main): Use ROUND instead of round.
99143         Bug report from Bruno Haible.
99145 2007-10-21  Bruno Haible  <bruno@clisp.org>
99147         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
99148         context.
99150 2007-10-21  Bruno Haible  <bruno@clisp.org>
99152         * tests/test-wcwidth.c (main): Allow negative result for some control
99153         characters.
99155         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
99156         Needed on OSF/1 5.1.
99158 2007-10-21  Bruno Haible  <bruno@clisp.org>
99160         * tests/test-floorf1.c: Include isnanf.h.
99161         (main): Use isnanf() instead of isnan().
99162         * tests/test-ceilf1.c: Include isnanf.h.
99163         (main): Use isnanf() instead of isnan().
99164         * tests/test-truncf1.c: Include isnanf.h.
99165         (main): Use isnanf() instead of isnan().
99166         * tests/test-roundf1.c: Include isnanf.h.
99167         (main): Use isnanf() instead of isnan().
99169 2007-10-21  Eric Blake  <ebb9@byu.net>
99171         * users.txt: Update URL for m4.
99173 2007-10-21  Bruno Haible  <bruno@clisp.org>
99175         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
99177 2007-10-21  Bruno Haible  <bruno@clisp.org>
99179         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
99180         Git's management files if the CVS files are not present.
99182 2007-10-20  Bruno Haible  <bruno@clisp.org>
99184         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
99185         gcc-3.4.x.
99187 2007-10-20  Ben Pfaff  <blp@gnu.org>
99189         * lib/math.in.h: Declare round, roundf, roundl if we are providing
99190         implementations.
99191         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
99192         * lib/round.c: New file.
99193         * lib/roundf.c: New file.
99194         * lib/roundl.c: New file.
99195         * m4/round.m4: New file.
99196         * m4/roundf.m4: New file.
99197         * m4/roundl.m4: New file.
99198         * m4/check-libm-func-m4: New file.
99199         * modules/math: Replace round, roundf, roundl related @VARS@ in
99200         math.in.h.
99201         * modules/round: New file.
99202         * modules/round-tests: New file.
99203         * modules/roundf: New file.
99204         * modules/roundf-tests: New file.
99205         * modules/roundl: New file.
99206         * modules/roundl-tests: New file.
99207         * tests/test-round1.c: New file.
99208         * tests/test-round2.c: New file.
99209         * tests/test-roundf1.c: New file.
99210         * tests/test-roundf2.c: New file.
99211         * tests/test-roundl.c: New file.
99212         * doc/functions/round.texi: Mention round module.
99213         * doc/functions/roundf.texi: Mention roundf module.
99214         * doc/functions/roundl.texi: Mention roundl module.
99215         * MODULES.html.sh: Mention new modules.
99216         Thanks to Bruno Haible for suggestions.
99218 2007-10-20  Jim Meyering  <meyering@redhat.com>
99220         * lib/xprintf.c: Include <config.h> unconditionally.
99222         Change xprintf's license to GPL.
99223         * modules/xprintf (License): s/LGPL/GPL/, since this module
99224         depends on modules (exit and exitfail) which are GPL.
99225         Suggestion from Bruno Haible.
99227         xprintf fixes.
99228         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
99229         Use a clearer diagnostic.
99230         Patch from Bruno Haible.
99232 2007-10-20  Bruno Haible  <bruno@clisp.org>
99234         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
99235         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
99236         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99238 2007-10-20  Bruno Haible  <bruno@clisp.org>
99240         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
99241         precision in the comparison result > x - 1 or similar.
99242         * tests/test-ceilf2.c (correct_result_p): Likewise.
99243         * tests/test-truncf2.c (correct_result_p): Likewise.
99244         * tests/test-trunc2.c (correct_result_p): Likewise.
99245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99247 2007-10-20  Bruno Haible  <bruno@clisp.org>
99249         * modules/ceil: New file.
99250         * m4/ceil.m4: New file.
99251         * doc/functions/ceil.texi: Mention the 'ceil' module.
99253 2007-10-20  Bruno Haible  <bruno@clisp.org>
99255         * modules/floor: New file.
99256         * m4/floor.m4: New file.
99257         * doc/functions/floor.texi: Mention the 'floor' module.
99259 2007-10-20  Bruno Haible  <bruno@clisp.org>
99261         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
99262         of %a.
99263         * modules/floorf-tests (Depends-on): Likewise.
99264         * modules/truncf-tests (Depends-on): Likewise.
99265         * modules/trunc-tests (Depends-on): Likewise.
99266         Reported by Ben Pfaff.
99268 2007-10-19  Jim Meyering  <meyering@redhat.com>
99270         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
99271         Don't bother testing specific errno values.  Just test ferror.
99273         New module: xprintf
99274         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
99276 2007-10-19  Bruno Haible  <bruno@clisp.org>
99278         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
99279         syntax.
99280         * modules/javaexec (Makefile.am): Likewise.
99281         * modules/relocatable-prog (Makefile.am): Likewise.
99282         Suggested by Jim Meyering.
99284 2007-10-18  Bruno Haible  <bruno@clisp.org>
99286         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
99287         Reported by Jim Meyering.
99289 2007-10-18  Eric Blake  <ebb9@byu.net>
99291         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
99293 2007-10-18  Bruno Haible  <bruno@clisp.org>
99295         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
99296         the format string into writable memory. Needed in Fortify conditions.
99298 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
99299             Bruno Haible  <bruno@clisp.org>
99301         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
99302         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
99303         * modules/trim (Depends-on): Add mbchar.
99304         (configure.ac): Add gl_FUNC_MBRTOWC.
99305         (Makefile.am): Augment lib_SOURCES.
99307 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
99309         Modify glob.c to use fstatat and dirfd, to simplify it.
99310         Suggested by Eric Blake.
99311         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
99312         Don't include <stdbool.h>; not used.
99313         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
99314         (link_exists_p): Simplify implementation, since we can now assume
99315         dirfd and fstatat.
99316         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
99318 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99320         * gnulib-tool (func_get_dependencies): Fix sed script to
99321         match only tests.
99323 2007-10-17  Bruno Haible  <bruno@clisp.org>
99325         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
99326         allow locale names without encoding suffix.
99327         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
99328         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
99330 2007-10-16  Bruno Haible  <bruno@clisp.org>
99332         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
99333         * lib/getgroups.c (getgroups): Likewise.
99334         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
99336 2007-10-16  Bruno Haible  <bruno@clisp.org>
99338         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
99339         * modules/malloc-posix (License): Likewise.
99340         * modules/realloc-posix (License): Likewise.
99341         * modules/calloc-posix (License): Likewise.
99342         * modules/intprops (License): Change from GPL to LGPL, with
99343         Paul Eggert's approval.
99345 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99347         Merge glibc changes into lib/glob.c.
99349         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
99350         2007-10-15 04:59:03 UTC.  Here are the changes:
99352         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
99354         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
99356         * lib/glob.c: Add some branch prediction throughout.
99358         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
99360         [BZ #5103]
99361         * lib/glob.c (glob): Recognize patterns starting \/.
99363         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
99365         [BZ #3996]
99366         * lib/glob.c (attribute_hidden): Define if not defined.
99367         (glob): Unescape dirname, filename or username when needed and not
99368         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
99369         is NULL.  Handle unescaped [ in pattern without closing ].
99370         Don't pass GLOB_CHECK down to recursive glob for directories.
99371         (__glob_pattern_type): New function.
99372         (__glob_pattern_p): Implement using __glob_pattern_type.
99373         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
99374         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
99375         Remove unreachable code.
99377         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
99379         * lib/glob.c (glob_in_dir): Add some comments and asserts to
99380         explain why there are no leaks.
99382         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
99384         [BZ #3253]
99385         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
99386         time, rather allocate increasingly bigger arrays of pointers, if
99387         possible with alloca, if too large with malloc.
99389 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99391         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
99392         Problem reported by H.Merijn Brand in
99393         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
99394         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
99395         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99397 2007-10-15  Bruno Haible  <bruno@clisp.org>
99399         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
99400         with explicit rpl_ prefix.
99401         * lib/fopen.c (fopen): Likewise.
99402         * lib/freopen.c (freopen): Likewise.
99403         * lib/iconv.c (iconv): Likewise.
99404         * lib/iconv_close.c (iconv_close): Likewise.
99406 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99408         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
99410 2007-10-15  Bruno Haible  <bruno@clisp.org>
99412         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
99413         <stddef.h> instead of <stdlib.h> since we only need NULL.
99414         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99416 2007-10-15  Bruno Haible  <bruno@clisp.org>
99418         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
99419         Replace paragraph talking about LIBOBJS.
99420         Reported by Colin Watson <cjwatson@debian.org>.
99422 2007-10-15  Bruno Haible  <bruno@clisp.org>
99424         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
99425         <stdlib.h> before using NULL.
99427 2007-10-15  Simon Josefsson  <simon@josefsson.org>
99429         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
99430         Reported by Albert Chin <china@thewrittenword.com>.
99432 2007-10-14  Bruno Haible  <bruno@clisp.org>
99434         * modules/iconv_open-utf-tests: New file.
99435         * tests/test-iconv-utf.c: New file.
99437         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
99438         * modules/iconv_open-utf: New file.
99439         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
99440         (iconv, iconv_close): New declarations.
99441         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
99442         be defined.
99443         (iconv_open): Add special handling of conversion between UTF-8 and
99444         UTF-{16,32}{BE,LE}.
99445         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
99446         * lib/iconv_close.c: New file.
99447         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
99448         gl_FUNC_ICONV_OPEN.
99449         (gl_FUNC_ICONV_OPEN): Use it.
99450         (gl_FUNC_ICONV_OPEN_UTF): New macro.
99451         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
99452         and REPLACE_ICONV_UTF.
99453         * modules/iconv_open (Depends-on): Add c-strcase.
99454         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
99455         ICONV_CONST.
99456         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
99458 2007-10-13  Albert Chin  <china@thewrittenword.com>
99459             Bruno Haible  <bruno@clisp.org>
99461         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
99462         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
99464 2007-10-13  Bruno Haible  <bruno@clisp.org>
99466         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
99467         defined, use the ISO C99 inline semantics.
99468         * lib/argp.h (ARGP_EI): Likewise.
99470 2007-10-13  Bruno Haible  <bruno@clisp.org>
99472         Handle 'inline' change in gcc 4.3.0.
99473         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
99474         argp_fmtstream_write, argp_fmtstream_set_lmargin,
99475         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
99476         argp_fmtstream_point): Disable 'extern' declaration if the function
99477         definition is going to be provided inline.
99478         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
99479         semantics, not the ISO C99 inline semantics.
99480         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
99481         'extern' declaration if the function definition is going to be provided
99482         inline.
99483         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
99484         the GNU C inline semantics, not the ISO C99 inline semantics. With
99485         GCC 4.2, avoid a warning.
99487 2007-10-13  Bruno Haible  <bruno@clisp.org>
99489         * lib/freading.h (freading): Enable the use of __freading for
99490         glibc >= 2.7.
99491         * lib/freading.c (freading): Likewise.
99493 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
99495         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
99496         "warning: C99 inline functions are not supported; using GNU89".
99498 2007-10-12  Bruno Haible  <bruno@clisp.org>
99500         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
99501         of 2.
99502         * tests/test-ceilf2.c: New file.
99503         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
99505         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
99506         * modules/ceilf-tests: Update.
99508 2007-10-12  Bruno Haible  <bruno@clisp.org>
99510         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
99511         of 2.
99512         * tests/test-floorf2.c: New file.
99513         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
99515         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
99516         * modules/floorf-tests: Update.
99518 2007-10-12  Bruno Haible  <bruno@clisp.org>
99520         * tests/test-trunc2.c: New file.
99521         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
99523         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
99524         * modules/trunc-tests: Update.
99526 2007-10-12  Bruno Haible  <bruno@clisp.org>
99528         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
99529         of 2.
99530         * tests/test-truncf2.c: New file.
99531         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
99533         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
99534         * modules/truncf-tests: Update.
99536 2007-10-11  Eric Blake  <ebb9@byu.net>
99538         Don't claim strerror is broken on Interix.
99539         * doc/functions/strerror.texi (strerror): Known broken systems are
99540         now Solaris 8, and not Interix.
99541         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
99542         Interix on cross-compile.
99543         Reported by Martin Koeppe in
99544         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
99546 2007-10-11  Bruno Haible  <bruno@clisp.org>
99548         * modules/i-ring-tests: New file.
99549         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
99550         instead of assert.
99552 2007-10-11  Bruno Haible  <bruno@clisp.org>
99554         * modules/filenamecat-tests: New file.
99555         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
99556         * lib/filenamecat.c: Remove test code.
99558 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
99560         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
99562         * lib/strerror.c: Include <string.h> always, to test interface,
99563         and to remove the need for the dummy.
99564         Include intprops.h to compute width instead of doing it ourselves
99565         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
99566         (strerror): Define it to return NULL if there's no system strerror.
99567         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
99568         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
99569         ancient pre-strerror Unix systems well any more.  Saying "unknown
99570         system error" is enough.
99571         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
99572         simpler strerror.c implementation.
99573         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
99574         Simplify the tests to reflect the simpler strerror implementation.
99575         * modules/strerror (Depends-on): Add intprops.
99577 2007-10-09  Eric Blake  <ebb9@byu.net>
99579         Silence test-fpending.
99580         * modules/fpending-tests (Files): Add wrapper script.
99581         * tests/test-fpending.sh: New file.
99583 2007-10-09  Bruno Haible  <bruno@clisp.org>
99585         * MODULES.html.sh (func_module): Don't create a hyperlink for
99586         function names like 'printf_frexp'.
99587         (Misc): Add crc, memxor.
99588         (Characteristics of floating types): New section.
99589         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
99590         isnanf-nolibm, signbit, trunc, truncf, truncl.
99591         (Enhancements for ISO C 99 functions): New subsection Input/output.
99592         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
99593         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
99594         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
99595         (Compatibility checks for POSIX:2001 functions): Add clock-time.
99596         (Enhancements for POSIX:2001 functions): Add chdir-long.
99597         (File system functions): Add areadlink, chdir-safer, read-file.
99598         Remove cycle-check.
99599         (File system as inode set): New section.
99600         (Date and time): Add gethrxtime.
99601         (Multithreading): Add openmp.
99602         (Internationalization functions): Add localename.
99603         (Unicode string functions): Add unistr/u*-mbsnlen.
99604         (Support for maintaining and releasing projects): Add git-version-gen.
99605         (Lone files): Remove directories.
99607 2007-10-08  Ben Pfaff  <blp@gnu.org>
99609         * lib/xmalloca.h: Fix typo in comment.
99611 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
99613         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
99614         when avoiding problems with integer overflow.  Use a portable test
99615         instead.
99617 2007-10-08  Simon Josefsson  <simon@josefsson.org>
99619         * modules/dummy (License): Change to LGPLv2+.
99620         * modules/float (License): Likewise
99621         * modules/realloc (License): Likewise
99622         * modules/stdlib (License): Likewise
99624 2007-10-07  Bruno Haible  <bruno@clisp.org>
99626         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
99627         * floor.c (TWO_MANT_DIG): Likewise.
99628         * ceil.c (TWO_MANT_DIG): Likewise.
99629         Reported by Ben Pfaff.
99631 2007-10-07  Bruno Haible  <bruno@clisp.org>
99633         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
99634         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
99635         * lib/frexp.c (FUNC): Likewise.
99636         * lib/printf-frexp.h (printf_frexp): Likewise.
99637         * lib/printf-frexpl.h (printf_frexpl): Likewise.
99638         * lib/printf-frexp.c (FUNC): Likewise.
99639         Suggested by Jim Meyering.
99641 2007-10-07  Jim Meyering  <meyering@redhat.com>
99643         Make xnanosleep's integer overflow test more robust.
99644         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
99645         so that gcc-4.3.0 doesn't optimize away this test for overflow.
99647 2007-10-07  Bruno Haible  <bruno@clisp.org>
99649         * NEWS: Mention the license change.
99651         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
99652         abbreviations in the modules files.
99654         Change copyright notice from GPLv2+ to GPLv3+.
99655         * README: Change copyright notice.
99656         * MODULES.html.sh: Likewise.
99657         * build-aux/bootstrap.conf: Likewise.
99658         * build-aux/config.libpath: Likewise.
99659         * build-aux/csharpcomp.sh.in: Likewise.
99660         * build-aux/csharpexec.sh.in: Likewise.
99661         * build-aux/install-reloc: Likewise.
99662         * build-aux/javacomp.sh.in: Likewise.
99663         * build-aux/javaexec.sh.in: Likewise.
99664         * build-aux/ldd.sh.in: Likewise.
99665         * build-aux/reloc-ldflags: Likewise.
99666         * build-aux/relocatable.sh.in: Likewise.
99667         * build-aux/x-to-1.in: Likewise.
99668         * check-module: Likewise.
99669         * config/srclistvars.sh: Likewise.
99670         * gnulib-tool: Likewise.
99671         * lib/acl-internal.h: Likewise.
99672         * lib/acl.c: Likewise.
99673         * lib/acl.h: Likewise.
99674         * lib/acl_entries.c: Likewise.
99675         * lib/areadlink-with-size.c: Likewise.
99676         * lib/areadlink.c: Likewise.
99677         * lib/areadlink.h: Likewise.
99678         * lib/argmatch.c: Likewise.
99679         * lib/argmatch.h: Likewise.
99680         * lib/argp-ba.c: Likewise.
99681         * lib/argp-eexst.c: Likewise.
99682         * lib/argp-fmtstream.c: Likewise.
99683         * lib/argp-fmtstream.h: Likewise.
99684         * lib/argp-fs-xinl.c: Likewise.
99685         * lib/argp-help.c: Likewise.
99686         * lib/argp-namefrob.h: Likewise.
99687         * lib/argp-parse.c: Likewise.
99688         * lib/argp-pin.c: Likewise.
99689         * lib/argp-pv.c: Likewise.
99690         * lib/argp-pvh.c: Likewise.
99691         * lib/argp-xinl.c: Likewise.
99692         * lib/argp.h: Likewise.
99693         * lib/at-func.c: Likewise.
99694         * lib/atanl.c: Likewise.
99695         * lib/backupfile.c: Likewise.
99696         * lib/backupfile.h: Likewise.
99697         * lib/basename.c: Likewise.
99698         * lib/binary-io.h: Likewise.
99699         * lib/byteswap.in.h: Likewise.
99700         * lib/c-stack.c: Likewise.
99701         * lib/c-stack.h: Likewise.
99702         * lib/c-strcasestr.c: Likewise.
99703         * lib/c-strcasestr.h: Likewise.
99704         * lib/c-strstr.c: Likewise.
99705         * lib/c-strstr.h: Likewise.
99706         * lib/c-strtod.c: Likewise.
99707         * lib/calloc.c: Likewise.
99708         * lib/canon-host.c: Likewise.
99709         * lib/canon-host.h: Likewise.
99710         * lib/canonicalize-lgpl.c: Likewise.
99711         * lib/canonicalize.c: Likewise.
99712         * lib/canonicalize.h: Likewise.
99713         * lib/ceil.c: Likewise.
99714         * lib/ceilf.c: Likewise.
99715         * lib/ceill.c: Likewise.
99716         * lib/chdir-long.c: Likewise.
99717         * lib/chdir-long.h: Likewise.
99718         * lib/chdir-safer.c: Likewise.
99719         * lib/chdir-safer.h: Likewise.
99720         * lib/chown.c: Likewise.
99721         * lib/classpath.c: Likewise.
99722         * lib/classpath.h: Likewise.
99723         * lib/clean-temp.c: Likewise.
99724         * lib/clean-temp.h: Likewise.
99725         * lib/cloexec.c: Likewise.
99726         * lib/close-stream.c: Likewise.
99727         * lib/closein.c: Likewise.
99728         * lib/closein.h: Likewise.
99729         * lib/closeout.c: Likewise.
99730         * lib/closeout.h: Likewise.
99731         * lib/concat-filename.c: Likewise.
99732         * lib/copy-file.c: Likewise.
99733         * lib/copy-file.h: Likewise.
99734         * lib/count-one-bits.h: Likewise.
99735         * lib/crc.c: Likewise.
99736         * lib/crc.h: Likewise.
99737         * lib/creat-safer.c: Likewise.
99738         * lib/csharpcomp.c: Likewise.
99739         * lib/csharpcomp.h: Likewise.
99740         * lib/csharpexec.c: Likewise.
99741         * lib/csharpexec.h: Likewise.
99742         * lib/cycle-check.c: Likewise.
99743         * lib/cycle-check.h: Likewise.
99744         * lib/diacrit.c: Likewise.
99745         * lib/diacrit.h: Likewise.
99746         * lib/diffseq.h: Likewise.
99747         * lib/dirchownmod.c: Likewise.
99748         * lib/dirent.in.h: Likewise.
99749         * lib/dirfd.c: Likewise.
99750         * lib/dirfd.h: Likewise.
99751         * lib/dirname.c: Likewise.
99752         * lib/dirname.h: Likewise.
99753         * lib/dummy.c: Likewise.
99754         * lib/dup-safer.c: Likewise.
99755         * lib/dup2.c: Likewise.
99756         * lib/eealloc.h: Likewise.
99757         * lib/error.c: Likewise.
99758         * lib/error.h: Likewise.
99759         * lib/euidaccess.c: Likewise.
99760         * lib/exclude.c: Likewise.
99761         * lib/exclude.h: Likewise.
99762         * lib/execute.c: Likewise.
99763         * lib/execute.h: Likewise.
99764         * lib/exitfail.c: Likewise.
99765         * lib/exitfail.h: Likewise.
99766         * lib/expl.c: Likewise.
99767         * lib/fatal-signal.c: Likewise.
99768         * lib/fatal-signal.h: Likewise.
99769         * lib/fbufmode.c: Likewise.
99770         * lib/fbufmode.h: Likewise.
99771         * lib/fchdir.c: Likewise.
99772         * lib/fchmodat.c: Likewise.
99773         * lib/fchownat.c: Likewise.
99774         * lib/fcntl--.h: Likewise.
99775         * lib/fcntl-safer.h: Likewise.
99776         * lib/fcntl.in.h: Likewise.
99777         * lib/fd-safer.c: Likewise.
99778         * lib/fflush.c: Likewise.
99779         * lib/file-has-acl.c: Likewise.
99780         * lib/file-set.c: Likewise.
99781         * lib/file-type.c: Likewise.
99782         * lib/file-type.h: Likewise.
99783         * lib/fileblocks.c: Likewise.
99784         * lib/filemode.c: Likewise.
99785         * lib/filemode.h: Likewise.
99786         * lib/filename.h: Likewise.
99787         * lib/filenamecat.c: Likewise.
99788         * lib/filenamecat.h: Likewise.
99789         * lib/findprog.c: Likewise.
99790         * lib/findprog.h: Likewise.
99791         * lib/float.in.h: Likewise.
99792         * lib/floor.c: Likewise.
99793         * lib/floorf.c: Likewise.
99794         * lib/floorl.c: Likewise.
99795         * lib/fopen-safer.c: Likewise.
99796         * lib/fopen.c: Likewise.
99797         * lib/fpending.c: Likewise.
99798         * lib/fpending.h: Likewise.
99799         * lib/fprintf.c: Likewise.
99800         * lib/fprintftime.h: Likewise.
99801         * lib/fpucw.h: Likewise.
99802         * lib/fpurge.c: Likewise.
99803         * lib/fpurge.h: Likewise.
99804         * lib/freadable.c: Likewise.
99805         * lib/freadable.h: Likewise.
99806         * lib/freadahead.c: Likewise.
99807         * lib/freadahead.h: Likewise.
99808         * lib/freading.c: Likewise.
99809         * lib/freading.h: Likewise.
99810         * lib/free.c: Likewise.
99811         * lib/freopen.c: Likewise.
99812         * lib/frexp.c: Likewise.
99813         * lib/frexpl.c: Likewise.
99814         * lib/fseek.c: Likewise.
99815         * lib/fseterr.c: Likewise.
99816         * lib/fseterr.h: Likewise.
99817         * lib/fstatat.c: Likewise.
99818         * lib/fstrcmp.c: Likewise.
99819         * lib/fstrcmp.h: Likewise.
99820         * lib/fsusage.c: Likewise.
99821         * lib/fsusage.h: Likewise.
99822         * lib/ftell.c: Likewise.
99823         * lib/ftello.c: Likewise.
99824         * lib/fts-cycle.c: Likewise.
99825         * lib/fts.c: Likewise.
99826         * lib/fts_.h: Likewise.
99827         * lib/full-read.c: Likewise.
99828         * lib/full-read.h: Likewise.
99829         * lib/full-write.c: Likewise.
99830         * lib/full-write.h: Likewise.
99831         * lib/fwritable.c: Likewise.
99832         * lib/fwritable.h: Likewise.
99833         * lib/fwriteerror.c: Likewise.
99834         * lib/fwriteerror.h: Likewise.
99835         * lib/fwriting.c: Likewise.
99836         * lib/fwriting.h: Likewise.
99837         * lib/gcd.c: Likewise.
99838         * lib/gcd.h: Likewise.
99839         * lib/getcwd.c: Likewise.
99840         * lib/getdate.h: Likewise.
99841         * lib/getdate.y: Likewise.
99842         * lib/getdomainname.c: Likewise.
99843         * lib/getdomainname.h: Likewise.
99844         * lib/getgroups.c: Likewise.
99845         * lib/gethostname.c: Likewise.
99846         * lib/gethrxtime.c: Likewise.
99847         * lib/gethrxtime.h: Likewise.
99848         * lib/getloadavg.c: Likewise.
99849         * lib/getndelim2.c: Likewise.
99850         * lib/getndelim2.h: Likewise.
99851         * lib/getnline.c: Likewise.
99852         * lib/getnline.h: Likewise.
99853         * lib/getopt.c: Likewise.
99854         * lib/getopt.in.h: Likewise.
99855         * lib/getopt1.c: Likewise.
99856         * lib/getopt_int.h: Likewise.
99857         * lib/getpagesize.h: Likewise.
99858         * lib/getsubopt.c: Likewise.
99859         * lib/gettime.c: Likewise.
99860         * lib/getugroups.c: Likewise.
99861         * lib/getugroups.h: Likewise.
99862         * lib/getusershell.c: Likewise.
99863         * lib/gl_anyavltree_list1.h: Likewise.
99864         * lib/gl_anyavltree_list2.h: Likewise.
99865         * lib/gl_anyhash_list1.h: Likewise.
99866         * lib/gl_anyhash_list2.h: Likewise.
99867         * lib/gl_anylinked_list1.h: Likewise.
99868         * lib/gl_anylinked_list2.h: Likewise.
99869         * lib/gl_anyrbtree_list1.h: Likewise.
99870         * lib/gl_anyrbtree_list2.h: Likewise.
99871         * lib/gl_anytree_list1.h: Likewise.
99872         * lib/gl_anytree_list2.h: Likewise.
99873         * lib/gl_anytree_oset.h: Likewise.
99874         * lib/gl_anytreehash_list1.h: Likewise.
99875         * lib/gl_anytreehash_list2.h: Likewise.
99876         * lib/gl_array_list.c: Likewise.
99877         * lib/gl_array_list.h: Likewise.
99878         * lib/gl_array_oset.c: Likewise.
99879         * lib/gl_array_oset.h: Likewise.
99880         * lib/gl_avltree_list.c: Likewise.
99881         * lib/gl_avltree_list.h: Likewise.
99882         * lib/gl_avltree_oset.c: Likewise.
99883         * lib/gl_avltree_oset.h: Likewise.
99884         * lib/gl_avltreehash_list.c: Likewise.
99885         * lib/gl_avltreehash_list.h: Likewise.
99886         * lib/gl_carray_list.c: Likewise.
99887         * lib/gl_carray_list.h: Likewise.
99888         * lib/gl_linked_list.c: Likewise.
99889         * lib/gl_linked_list.h: Likewise.
99890         * lib/gl_linkedhash_list.c: Likewise.
99891         * lib/gl_linkedhash_list.h: Likewise.
99892         * lib/gl_list.c: Likewise.
99893         * lib/gl_list.h: Likewise.
99894         * lib/gl_oset.c: Likewise.
99895         * lib/gl_oset.h: Likewise.
99896         * lib/gl_rbtree_list.c: Likewise.
99897         * lib/gl_rbtree_list.h: Likewise.
99898         * lib/gl_rbtree_oset.c: Likewise.
99899         * lib/gl_rbtree_oset.h: Likewise.
99900         * lib/gl_rbtreehash_list.c: Likewise.
99901         * lib/gl_rbtreehash_list.h: Likewise.
99902         * lib/gl_sublist.c: Likewise.
99903         * lib/gl_sublist.h: Likewise.
99904         * lib/group-member.c: Likewise.
99905         * lib/group-member.h: Likewise.
99906         * lib/hard-locale.c: Likewise.
99907         * lib/hard-locale.h: Likewise.
99908         * lib/hash-pjw.c: Likewise.
99909         * lib/hash-pjw.h: Likewise.
99910         * lib/hash-triple.c: Likewise.
99911         * lib/hash.c: Likewise.
99912         * lib/hash.h: Likewise.
99913         * lib/human.c: Likewise.
99914         * lib/human.h: Likewise.
99915         * lib/i-ring.c: Likewise.
99916         * lib/i-ring.h: Likewise.
99917         * lib/idcache.c: Likewise.
99918         * lib/imaxabs.c: Likewise.
99919         * lib/imaxdiv.c: Likewise.
99920         * lib/inet_pton.c: Likewise.
99921         * lib/inet_pton.h: Likewise.
99922         * lib/intprops.h: Likewise.
99923         * lib/inttostr.c: Likewise.
99924         * lib/inttostr.h: Likewise.
99925         * lib/inttypes.in.h: Likewise.
99926         * lib/isapipe.c: Likewise.
99927         * lib/isdir.c: Likewise.
99928         * lib/isnan.c: Likewise.
99929         * lib/isnan.h: Likewise.
99930         * lib/isnanf.c: Likewise.
99931         * lib/isnanf.h: Likewise.
99932         * lib/isnanl-nolibm.h: Likewise.
99933         * lib/isnanl.c: Likewise.
99934         * lib/isnanl.h: Likewise.
99935         * lib/javacomp.c: Likewise.
99936         * lib/javacomp.h: Likewise.
99937         * lib/javaexec.c: Likewise.
99938         * lib/javaexec.h: Likewise.
99939         * lib/javaversion.c: Likewise.
99940         * lib/javaversion.h: Likewise.
99941         * lib/javaversion.java: Likewise.
99942         * lib/lbrkprop.h: Likewise.
99943         * lib/lchmod.h: Likewise.
99944         * lib/lchown.c: Likewise.
99945         * lib/ldexpl.c: Likewise.
99946         * lib/linebreak.c: Likewise.
99947         * lib/linebreak.h: Likewise.
99948         * lib/linebuffer.c: Likewise.
99949         * lib/linebuffer.h: Likewise.
99950         * lib/locale.in.h: Likewise.
99951         * lib/logl.c: Likewise.
99952         * lib/long-options.c: Likewise.
99953         * lib/long-options.h: Likewise.
99954         * lib/lstat.c: Likewise.
99955         * lib/lstat.h: Likewise.
99956         * lib/math.in.h: Likewise.
99957         * lib/mbchar.c: Likewise.
99958         * lib/mbchar.h: Likewise.
99959         * lib/mbfile.h: Likewise.
99960         * lib/mbiter.h: Likewise.
99961         * lib/mbscasecmp.c: Likewise.
99962         * lib/mbscasestr.c: Likewise.
99963         * lib/mbschr.c: Likewise.
99964         * lib/mbscspn.c: Likewise.
99965         * lib/mbslen.c: Likewise.
99966         * lib/mbsncasecmp.c: Likewise.
99967         * lib/mbsnlen.c: Likewise.
99968         * lib/mbspbrk.c: Likewise.
99969         * lib/mbspcasecmp.c: Likewise.
99970         * lib/mbsrchr.c: Likewise.
99971         * lib/mbssep.c: Likewise.
99972         * lib/mbsspn.c: Likewise.
99973         * lib/mbsstr.c: Likewise.
99974         * lib/mbstok_r.c: Likewise.
99975         * lib/mbswidth.c: Likewise.
99976         * lib/mbswidth.h: Likewise.
99977         * lib/mbuiter.h: Likewise.
99978         * lib/memcasecmp.c: Likewise.
99979         * lib/memcasecmp.h: Likewise.
99980         * lib/memchr.c: Likewise.
99981         * lib/memcmp.c: Likewise.
99982         * lib/memcoll.c: Likewise.
99983         * lib/memcoll.h: Likewise.
99984         * lib/memcpy.c: Likewise.
99985         * lib/memrchr.c: Likewise.
99986         * lib/mkancesdirs.c: Likewise.
99987         * lib/mkdir-p.c: Likewise.
99988         * lib/mkdir-p.h: Likewise.
99989         * lib/mkdir.c: Likewise.
99990         * lib/mkdirat.c: Likewise.
99991         * lib/mkdtemp.c: Likewise.
99992         * lib/mkstemp-safer.c: Likewise.
99993         * lib/mkstemp.c: Likewise.
99994         * lib/modechange.c: Likewise.
99995         * lib/modechange.h: Likewise.
99996         * lib/mountlist.c: Likewise.
99997         * lib/mountlist.h: Likewise.
99998         * lib/mpsort.c: Likewise.
99999         * lib/nanosleep.c: Likewise.
100000         * lib/obstack.c: Likewise.
100001         * lib/obstack.h: Likewise.
100002         * lib/open-safer.c: Likewise.
100003         * lib/open.c: Likewise.
100004         * lib/openat-die.c: Likewise.
100005         * lib/openat-priv.h: Likewise.
100006         * lib/openat-proc.c: Likewise.
100007         * lib/openat.c: Likewise.
100008         * lib/openat.h: Likewise.
100009         * lib/pagealign_alloc.c: Likewise.
100010         * lib/pagealign_alloc.h: Likewise.
100011         * lib/physmem.c: Likewise.
100012         * lib/physmem.h: Likewise.
100013         * lib/pipe-safer.c: Likewise.
100014         * lib/pipe.c: Likewise.
100015         * lib/pipe.h: Likewise.
100016         * lib/posixtm.c: Likewise.
100017         * lib/posixtm.h: Likewise.
100018         * lib/posixver.c: Likewise.
100019         * lib/printf-frexp.c: Likewise.
100020         * lib/printf-frexp.h: Likewise.
100021         * lib/printf-frexpl.c: Likewise.
100022         * lib/printf-frexpl.h: Likewise.
100023         * lib/printf.c: Likewise.
100024         * lib/progname.c: Likewise.
100025         * lib/progname.h: Likewise.
100026         * lib/progreloc.c: Likewise.
100027         * lib/putenv.c: Likewise.
100028         * lib/quote.c: Likewise.
100029         * lib/quote.h: Likewise.
100030         * lib/quotearg.c: Likewise.
100031         * lib/quotearg.h: Likewise.
100032         * lib/raise.c: Likewise.
100033         * lib/readline.c: Likewise.
100034         * lib/readline.h: Likewise.
100035         * lib/readlink.c: Likewise.
100036         * lib/readtokens.c: Likewise.
100037         * lib/readtokens.h: Likewise.
100038         * lib/readtokens0.c: Likewise.
100039         * lib/readtokens0.h: Likewise.
100040         * lib/readutmp.c: Likewise.
100041         * lib/readutmp.h: Likewise.
100042         * lib/realloc.c: Likewise.
100043         * lib/relocwrapper.c: Likewise.
100044         * lib/rename-dest-slash.c: Likewise.
100045         * lib/rename.c: Likewise.
100046         * lib/rmdir.c: Likewise.
100047         * lib/rpmatch.c: Likewise.
100048         * lib/safe-read.c: Likewise.
100049         * lib/safe-read.h: Likewise.
100050         * lib/safe-write.c: Likewise.
100051         * lib/safe-write.h: Likewise.
100052         * lib/same-inode.h: Likewise.
100053         * lib/same.c: Likewise.
100054         * lib/same.h: Likewise.
100055         * lib/save-cwd.c: Likewise.
100056         * lib/save-cwd.h: Likewise.
100057         * lib/savedir.c: Likewise.
100058         * lib/savedir.h: Likewise.
100059         * lib/savewd.c: Likewise.
100060         * lib/savewd.h: Likewise.
100061         * lib/search.in.h: Likewise.
100062         * lib/setenv.c: Likewise.
100063         * lib/setenv.h: Likewise.
100064         * lib/settime.c: Likewise.
100065         * lib/sh-quote.c: Likewise.
100066         * lib/sh-quote.h: Likewise.
100067         * lib/sig2str.c: Likewise.
100068         * lib/sig2str.h: Likewise.
100069         * lib/signal.in.h: Likewise.
100070         * lib/signbitd.c: Likewise.
100071         * lib/signbitf.c: Likewise.
100072         * lib/signbitl.c: Likewise.
100073         * lib/sigprocmask.c: Likewise.
100074         * lib/sincosl.c: Likewise.
100075         * lib/sleep.c: Likewise.
100076         * lib/sprintf.c: Likewise.
100077         * lib/sqrtl.c: Likewise.
100078         * lib/stat-time.h: Likewise.
100079         * lib/stdio--.h: Likewise.
100080         * lib/stdio-safer.h: Likewise.
100081         * lib/stdlib--.h: Likewise.
100082         * lib/stdlib-safer.h: Likewise.
100083         * lib/stdlib.in.h: Likewise.
100084         * lib/stpcpy.c: Likewise.
100085         * lib/stpncpy.c: Likewise.
100086         * lib/strchrnul.c: Likewise.
100087         * lib/strcspn.c: Likewise.
100088         * lib/strerror.c: Likewise.
100089         * lib/strftime.c: Likewise.
100090         * lib/strftime.h: Likewise.
100091         * lib/striconveh.c: Likewise.
100092         * lib/striconveh.h: Likewise.
100093         * lib/striconveha.c: Likewise.
100094         * lib/striconveha.h: Likewise.
100095         * lib/stripslash.c: Likewise.
100096         * lib/strnlen1.c: Likewise.
100097         * lib/strnlen1.h: Likewise.
100098         * lib/strtod.c: Likewise.
100099         * lib/strtoimax.c: Likewise.
100100         * lib/strtok_r.c: Likewise.
100101         * lib/strtol.c: Likewise.
100102         * lib/strtoll.c: Likewise.
100103         * lib/strtoul.c: Likewise.
100104         * lib/strtoull.c: Likewise.
100105         * lib/sysexits.in.h: Likewise.
100106         * lib/tempname.c: Likewise.
100107         * lib/tempname.h: Likewise.
100108         * lib/timespec.h: Likewise.
100109         * lib/tls.c: Likewise.
100110         * lib/tls.h: Likewise.
100111         * lib/tmpdir.c: Likewise.
100112         * lib/tmpdir.h: Likewise.
100113         * lib/tmpfile-safer.c: Likewise.
100114         * lib/tmpfile.c: Likewise.
100115         * lib/trigl.c: Likewise.
100116         * lib/trigl.h: Likewise.
100117         * lib/trim.c: Likewise.
100118         * lib/trim.h: Likewise.
100119         * lib/trunc.c: Likewise.
100120         * lib/truncf.c: Likewise.
100121         * lib/truncl.c: Likewise.
100122         * lib/tsearch.c: Likewise.
100123         * lib/unicodeio.c: Likewise.
100124         * lib/unicodeio.h: Likewise.
100125         * lib/unistd--.h: Likewise.
100126         * lib/unistd-safer.h: Likewise.
100127         * lib/unistdio/ulc-fprintf.c: Likewise.
100128         * lib/unistdio/ulc-vfprintf.c: Likewise.
100129         * lib/unlinkdir.c: Likewise.
100130         * lib/unlinkdir.h: Likewise.
100131         * lib/unlocked-io.h: Likewise.
100132         * lib/unsetenv.c: Likewise.
100133         * lib/userspec.c: Likewise.
100134         * lib/utime.c: Likewise.
100135         * lib/utimecmp.c: Likewise.
100136         * lib/utimecmp.h: Likewise.
100137         * lib/utimens.c: Likewise.
100138         * lib/verify.h: Likewise.
100139         * lib/verror.c: Likewise.
100140         * lib/verror.h: Likewise.
100141         * lib/version-etc-fsf.c: Likewise.
100142         * lib/version-etc.c: Likewise.
100143         * lib/version-etc.h: Likewise.
100144         * lib/vfprintf.c: Likewise.
100145         * lib/vprintf.c: Likewise.
100146         * lib/vsprintf.c: Likewise.
100147         * lib/w32spawn.h: Likewise.
100148         * lib/wait-process.c: Likewise.
100149         * lib/wait-process.h: Likewise.
100150         * lib/wcwidth.c: Likewise.
100151         * lib/write-any-file.c: Likewise.
100152         * lib/xalloc-die.c: Likewise.
100153         * lib/xalloc.h: Likewise.
100154         * lib/xasprintf.c: Likewise.
100155         * lib/xgetcwd.c: Likewise.
100156         * lib/xgetcwd.h: Likewise.
100157         * lib/xgetdomainname.c: Likewise.
100158         * lib/xgetdomainname.h: Likewise.
100159         * lib/xgethostname.c: Likewise.
100160         * lib/xmalloc.c: Likewise.
100161         * lib/xmalloca.c: Likewise.
100162         * lib/xmalloca.h: Likewise.
100163         * lib/xmemcoll.c: Likewise.
100164         * lib/xnanosleep.c: Likewise.
100165         * lib/xreadlink.c: Likewise.
100166         * lib/xreadlink.h: Likewise.
100167         * lib/xsetenv.c: Likewise.
100168         * lib/xsetenv.h: Likewise.
100169         * lib/xstriconv.c: Likewise.
100170         * lib/xstriconv.h: Likewise.
100171         * lib/xstrndup.c: Likewise.
100172         * lib/xstrndup.h: Likewise.
100173         * lib/xstrtod.c: Likewise.
100174         * lib/xstrtod.h: Likewise.
100175         * lib/xstrtol-error.c: Likewise.
100176         * lib/xstrtol.c: Likewise.
100177         * lib/xstrtol.h: Likewise.
100178         * lib/xtime.h: Likewise.
100179         * lib/xvasprintf.c: Likewise.
100180         * lib/xvasprintf.h: Likewise.
100181         * lib/yesno.c: Likewise.
100182         * lib/yesno.h: Likewise.
100183         * posix-modules: Likewise.
100184         * tests/test-alloca-opt.c: Likewise.
100185         * tests/test-arcfour.c: Likewise.
100186         * tests/test-arctwo.c: Likewise.
100187         * tests/test-argmatch.c: Likewise.
100188         * tests/test-argp-2.sh: Likewise.
100189         * tests/test-argp.c: Likewise.
100190         * tests/test-arpa_inet.c: Likewise.
100191         * tests/test-array_list.c: Likewise.
100192         * tests/test-array_oset.c: Likewise.
100193         * tests/test-atexit.c: Likewise.
100194         * tests/test-avltree_list.c: Likewise.
100195         * tests/test-avltree_oset.c: Likewise.
100196         * tests/test-avltreehash_list.c: Likewise.
100197         * tests/test-base64.c: Likewise.
100198         * tests/test-binary-io.c: Likewise.
100199         * tests/test-byteswap.c: Likewise.
100200         * tests/test-c-ctype.c: Likewise.
100201         * tests/test-c-strcasecmp.c: Likewise.
100202         * tests/test-c-strcasestr.c: Likewise.
100203         * tests/test-c-strncasecmp.c: Likewise.
100204         * tests/test-c-strstr.c: Likewise.
100205         * tests/test-canonicalize-lgpl.c: Likewise.
100206         * tests/test-canonicalize.c: Likewise.
100207         * tests/test-carray_list.c: Likewise.
100208         * tests/test-ceilf.c: Likewise.
100209         * tests/test-ceill.c: Likewise.
100210         * tests/test-count-one-bits.c: Likewise.
100211         * tests/test-crc.c: Likewise.
100212         * tests/test-dirname.c: Likewise.
100213         * tests/test-fbufmode.c: Likewise.
100214         * tests/test-fcntl.c: Likewise.
100215         * tests/test-fflush.c: Likewise.
100216         * tests/test-floorf.c: Likewise.
100217         * tests/test-floorl.c: Likewise.
100218         * tests/test-fopen.c: Likewise.
100219         * tests/test-fprintf-posix.c: Likewise.
100220         * tests/test-fprintf-posix.h: Likewise.
100221         * tests/test-fpurge.c: Likewise.
100222         * tests/test-freadable.c: Likewise.
100223         * tests/test-freadahead.c: Likewise.
100224         * tests/test-freading.c: Likewise.
100225         * tests/test-freopen.c: Likewise.
100226         * tests/test-frexp.c: Likewise.
100227         * tests/test-frexpl.c: Likewise.
100228         * tests/test-fseek.c: Likewise.
100229         * tests/test-fseeko.c: Likewise.
100230         * tests/test-fseterr.c: Likewise.
100231         * tests/test-fstrcmp.c: Likewise.
100232         * tests/test-ftell.c: Likewise.
100233         * tests/test-ftello.c: Likewise.
100234         * tests/test-fwritable.c: Likewise.
100235         * tests/test-fwriting.c: Likewise.
100236         * tests/test-getaddrinfo.c: Likewise.
100237         * tests/test-getpass.c: Likewise.
100238         * tests/test-gettimeofday.c: Likewise.
100239         * tests/test-hmac-md5.c: Likewise.
100240         * tests/test-hmac-sha1.c: Likewise.
100241         * tests/test-iconv.c: Likewise.
100242         * tests/test-iconvme.c: Likewise.
100243         * tests/test-inttypes.c: Likewise.
100244         * tests/test-isnan.c: Likewise.
100245         * tests/test-isnanf.c: Likewise.
100246         * tests/test-isnanl-nolibm.c: Likewise.
100247         * tests/test-isnanl.c: Likewise.
100248         * tests/test-isnanl.h: Likewise.
100249         * tests/test-ldexpl.c: Likewise.
100250         * tests/test-linked_list.c: Likewise.
100251         * tests/test-linkedhash_list.c: Likewise.
100252         * tests/test-locale.c: Likewise.
100253         * tests/test-localename.c: Likewise.
100254         * tests/test-lock.c: Likewise.
100255         * tests/test-lseek.c: Likewise.
100256         * tests/test-malloca.c: Likewise.
100257         * tests/test-math.c: Likewise.
100258         * tests/test-mbscasecmp.c: Likewise.
100259         * tests/test-mbscasestr1.c: Likewise.
100260         * tests/test-mbscasestr2.c: Likewise.
100261         * tests/test-mbscasestr3.c: Likewise.
100262         * tests/test-mbscasestr4.c: Likewise.
100263         * tests/test-mbschr.c: Likewise.
100264         * tests/test-mbscspn.c: Likewise.
100265         * tests/test-mbsncasecmp.c: Likewise.
100266         * tests/test-mbspbrk.c: Likewise.
100267         * tests/test-mbspcasecmp.c: Likewise.
100268         * tests/test-mbsrchr.c: Likewise.
100269         * tests/test-mbsspn.c: Likewise.
100270         * tests/test-mbsstr1.c: Likewise.
100271         * tests/test-mbsstr2.c: Likewise.
100272         * tests/test-mbsstr3.c: Likewise.
100273         * tests/test-md5.c: Likewise.
100274         * tests/test-memmem.c: Likewise.
100275         * tests/test-netinet_in.c: Likewise.
100276         * tests/test-open.c: Likewise.
100277         * tests/test-printf-frexp.c: Likewise.
100278         * tests/test-printf-frexpl.c: Likewise.
100279         * tests/test-printf-posix.c: Likewise.
100280         * tests/test-printf-posix.h: Likewise.
100281         * tests/test-rbtree_list.c: Likewise.
100282         * tests/test-rbtree_oset.c: Likewise.
100283         * tests/test-rbtreehash_list.c: Likewise.
100284         * tests/test-read-file.c: Likewise.
100285         * tests/test-rijndael.c: Likewise.
100286         * tests/test-search.c: Likewise.
100287         * tests/test-signbit.c: Likewise.
100288         * tests/test-sleep.c: Likewise.
100289         * tests/test-snprintf-posix.c: Likewise.
100290         * tests/test-snprintf-posix.h: Likewise.
100291         * tests/test-snprintf.c: Likewise.
100292         * tests/test-sprintf-posix.c: Likewise.
100293         * tests/test-sprintf-posix.h: Likewise.
100294         * tests/test-stat-time.c: Likewise.
100295         * tests/test-stdbool.c: Likewise.
100296         * tests/test-stdint.c: Likewise.
100297         * tests/test-stdio.c: Likewise.
100298         * tests/test-stdlib.c: Likewise.
100299         * tests/test-stpncpy.c: Likewise.
100300         * tests/test-strcasestr.c: Likewise.
100301         * tests/test-striconv.c: Likewise.
100302         * tests/test-striconveh.c: Likewise.
100303         * tests/test-striconveha.c: Likewise.
100304         * tests/test-string.c: Likewise.
100305         * tests/test-sys_select.c: Likewise.
100306         * tests/test-sys_socket.c: Likewise.
100307         * tests/test-sys_stat.c: Likewise.
100308         * tests/test-sys_time.c: Likewise.
100309         * tests/test-sysexits.c: Likewise.
100310         * tests/test-time.c: Likewise.
100311         * tests/test-tls.c: Likewise.
100312         * tests/test-trunc.c: Likewise.
100313         * tests/test-truncf.c: Likewise.
100314         * tests/test-truncl.c: Likewise.
100315         * tests/test-unistd.c: Likewise.
100316         * tests/test-vasnprintf-posix.c: Likewise.
100317         * tests/test-vasnprintf-posix2.c: Likewise.
100318         * tests/test-vasnprintf.c: Likewise.
100319         * tests/test-vasprintf-posix.c: Likewise.
100320         * tests/test-vasprintf.c: Likewise.
100321         * tests/test-verify.c: Likewise.
100322         * tests/test-vfprintf-posix.c: Likewise.
100323         * tests/test-vprintf-posix.c: Likewise.
100324         * tests/test-vsnprintf-posix.c: Likewise.
100325         * tests/test-vsnprintf.c: Likewise.
100326         * tests/test-vsprintf-posix.c: Likewise.
100327         * tests/test-wchar.c: Likewise.
100328         * tests/test-wctype.c: Likewise.
100329         * tests/test-wcwidth.c: Likewise.
100330         * tests/test-xstrtol.c: Likewise.
100331         * tests/test-xvasprintf.c: Likewise.
100332         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
100333         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
100334         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
100335         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
100336         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
100337         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
100338         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
100339         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
100340         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
100341         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
100342         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
100343         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
100344         * tests/uniname/test-uninames.c: Likewise.
100345         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
100346         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
100347         * tests/unistdio/test-u16-printf1.h: Likewise.
100348         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
100349         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
100350         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
100351         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
100352         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
100353         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
100354         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
100355         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
100356         * tests/unistdio/test-u32-printf1.h: Likewise.
100357         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
100358         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
100359         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
100360         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
100361         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
100362         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
100363         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
100364         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
100365         * tests/unistdio/test-u8-printf1.h: Likewise.
100366         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
100367         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
100368         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
100369         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
100370         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
100371         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
100372         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
100373         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
100374         * tests/unistdio/test-ulc-printf1.h: Likewise.
100375         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
100376         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
100377         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
100378         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
100379         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
100380         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
100381         * tests/uniwidth/test-u16-strwidth.c: Likewise.
100382         * tests/uniwidth/test-u16-width.c: Likewise.
100383         * tests/uniwidth/test-u32-strwidth.c: Likewise.
100384         * tests/uniwidth/test-u32-width.c: Likewise.
100385         * tests/uniwidth/test-u8-strwidth.c: Likewise.
100386         * tests/uniwidth/test-u8-width.c: Likewise.
100387         * tests/uniwidth/test-uc_width.c: Likewise.
100388         * config/srclist-update: Likewise.
100389         (fixlicense): Update to GPLv3+.
100391         Change copyright notice from LGPLv2.1+ to LGPLv3+.
100392         * tests/test-tsearch.c: Change copyright notice.
100394         Change copyright notice from LGPLv2.0+ to LGPLv3+.
100395         * lib/c-strcaseeq.h: Change copyright notice.
100396         * lib/streq.h: Likewise.
100397         * lib/uniconv.h: Likewise.
100398         * lib/uniconv/u-conv-from-enc.h: Likewise.
100399         * lib/uniconv/u-conv-to-enc.h: Likewise.
100400         * lib/uniconv/u-strconv-from-enc.h: Likewise.
100401         * lib/uniconv/u-strconv-to-enc.h: Likewise.
100402         * lib/uniconv/u16-conv-from-enc.c: Likewise.
100403         * lib/uniconv/u16-conv-to-enc.c: Likewise.
100404         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
100405         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
100406         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
100407         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
100408         * lib/uniconv/u32-conv-from-enc.c: Likewise.
100409         * lib/uniconv/u32-conv-to-enc.c: Likewise.
100410         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
100411         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
100412         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
100413         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
100414         * lib/uniconv/u8-conv-from-enc.c: Likewise.
100415         * lib/uniconv/u8-conv-to-enc.c: Likewise.
100416         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
100417         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
100418         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
100419         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
100420         * lib/uniname.h: Likewise.
100421         * lib/uniname/uniname.c: Likewise.
100422         * lib/unistdio.h: Likewise.
100423         * lib/unistdio/u-asnprintf.h: Likewise.
100424         * lib/unistdio/u-asprintf.h: Likewise.
100425         * lib/unistdio/u-printf-args.c: Likewise.
100426         * lib/unistdio/u-printf-args.h: Likewise.
100427         * lib/unistdio/u-printf-parse.h: Likewise.
100428         * lib/unistdio/u-snprintf.h: Likewise.
100429         * lib/unistdio/u-sprintf.h: Likewise.
100430         * lib/unistdio/u-vasprintf.h: Likewise.
100431         * lib/unistdio/u-vsnprintf.h: Likewise.
100432         * lib/unistdio/u-vsprintf.h: Likewise.
100433         * lib/unistdio/u16-asnprintf.c: Likewise.
100434         * lib/unistdio/u16-asprintf.c: Likewise.
100435         * lib/unistdio/u16-printf-parse.c: Likewise.
100436         * lib/unistdio/u16-snprintf.c: Likewise.
100437         * lib/unistdio/u16-sprintf.c: Likewise.
100438         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
100439         * lib/unistdio/u16-u16-asprintf.c: Likewise.
100440         * lib/unistdio/u16-u16-snprintf.c: Likewise.
100441         * lib/unistdio/u16-u16-sprintf.c: Likewise.
100442         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
100443         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
100444         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
100445         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
100446         * lib/unistdio/u16-vasnprintf.c: Likewise.
100447         * lib/unistdio/u16-vasprintf.c: Likewise.
100448         * lib/unistdio/u16-vsnprintf.c: Likewise.
100449         * lib/unistdio/u16-vsprintf.c: Likewise.
100450         * lib/unistdio/u32-asnprintf.c: Likewise.
100451         * lib/unistdio/u32-asprintf.c: Likewise.
100452         * lib/unistdio/u32-printf-parse.c: Likewise.
100453         * lib/unistdio/u32-snprintf.c: Likewise.
100454         * lib/unistdio/u32-sprintf.c: Likewise.
100455         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
100456         * lib/unistdio/u32-u32-asprintf.c: Likewise.
100457         * lib/unistdio/u32-u32-snprintf.c: Likewise.
100458         * lib/unistdio/u32-u32-sprintf.c: Likewise.
100459         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
100460         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
100461         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
100462         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
100463         * lib/unistdio/u32-vasnprintf.c: Likewise.
100464         * lib/unistdio/u32-vasprintf.c: Likewise.
100465         * lib/unistdio/u32-vsnprintf.c: Likewise.
100466         * lib/unistdio/u32-vsprintf.c: Likewise.
100467         * lib/unistdio/u8-asnprintf.c: Likewise.
100468         * lib/unistdio/u8-asprintf.c: Likewise.
100469         * lib/unistdio/u8-printf-parse.c: Likewise.
100470         * lib/unistdio/u8-snprintf.c: Likewise.
100471         * lib/unistdio/u8-sprintf.c: Likewise.
100472         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
100473         * lib/unistdio/u8-u8-asprintf.c: Likewise.
100474         * lib/unistdio/u8-u8-snprintf.c: Likewise.
100475         * lib/unistdio/u8-u8-sprintf.c: Likewise.
100476         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
100477         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
100478         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
100479         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
100480         * lib/unistdio/u8-vasnprintf.c: Likewise.
100481         * lib/unistdio/u8-vasprintf.c: Likewise.
100482         * lib/unistdio/u8-vsnprintf.c: Likewise.
100483         * lib/unistdio/u8-vsprintf.c: Likewise.
100484         * lib/unistdio/ulc-asnprintf.c: Likewise.
100485         * lib/unistdio/ulc-asprintf.c: Likewise.
100486         * lib/unistdio/ulc-printf-parse.c: Likewise.
100487         * lib/unistdio/ulc-snprintf.c: Likewise.
100488         * lib/unistdio/ulc-sprintf.c: Likewise.
100489         * lib/unistdio/ulc-vasnprintf.c: Likewise.
100490         * lib/unistdio/ulc-vasprintf.c: Likewise.
100491         * lib/unistdio/ulc-vsnprintf.c: Likewise.
100492         * lib/unistdio/ulc-vsprintf.c: Likewise.
100493         * lib/unistr.h: Likewise.
100494         * lib/unistr/u-cpy-alloc.h: Likewise.
100495         * lib/unistr/u-cpy.h: Likewise.
100496         * lib/unistr/u-endswith.h: Likewise.
100497         * lib/unistr/u-move.h: Likewise.
100498         * lib/unistr/u-set.h: Likewise.
100499         * lib/unistr/u-startswith.h: Likewise.
100500         * lib/unistr/u-stpcpy.h: Likewise.
100501         * lib/unistr/u-stpncpy.h: Likewise.
100502         * lib/unistr/u-strcat.h: Likewise.
100503         * lib/unistr/u-strcpy.h: Likewise.
100504         * lib/unistr/u-strcspn.h: Likewise.
100505         * lib/unistr/u-strdup.h: Likewise.
100506         * lib/unistr/u-strlen.h: Likewise.
100507         * lib/unistr/u-strncat.h: Likewise.
100508         * lib/unistr/u-strncpy.h: Likewise.
100509         * lib/unistr/u-strnlen.h: Likewise.
100510         * lib/unistr/u-strpbrk.h: Likewise.
100511         * lib/unistr/u-strspn.h: Likewise.
100512         * lib/unistr/u-strstr.h: Likewise.
100513         * lib/unistr/u-strtok.h: Likewise.
100514         * lib/unistr/u16-check.c: Likewise.
100515         * lib/unistr/u16-chr.c: Likewise.
100516         * lib/unistr/u16-cmp.c: Likewise.
100517         * lib/unistr/u16-cpy-alloc.c: Likewise.
100518         * lib/unistr/u16-cpy.c: Likewise.
100519         * lib/unistr/u16-endswith.c: Likewise.
100520         * lib/unistr/u16-mblen.c: Likewise.
100521         * lib/unistr/u16-mbsnlen.c: Likewise.
100522         * lib/unistr/u16-mbtouc-aux.c: Likewise.
100523         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
100524         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
100525         * lib/unistr/u16-mbtouc.c: Likewise.
100526         * lib/unistr/u16-mbtoucr.c: Likewise.
100527         * lib/unistr/u16-move.c: Likewise.
100528         * lib/unistr/u16-next.c: Likewise.
100529         * lib/unistr/u16-prev.c: Likewise.
100530         * lib/unistr/u16-set.c: Likewise.
100531         * lib/unistr/u16-startswith.c: Likewise.
100532         * lib/unistr/u16-stpcpy.c: Likewise.
100533         * lib/unistr/u16-stpncpy.c: Likewise.
100534         * lib/unistr/u16-strcat.c: Likewise.
100535         * lib/unistr/u16-strchr.c: Likewise.
100536         * lib/unistr/u16-strcmp.c: Likewise.
100537         * lib/unistr/u16-strcpy.c: Likewise.
100538         * lib/unistr/u16-strcspn.c: Likewise.
100539         * lib/unistr/u16-strdup.c: Likewise.
100540         * lib/unistr/u16-strlen.c: Likewise.
100541         * lib/unistr/u16-strmblen.c: Likewise.
100542         * lib/unistr/u16-strmbtouc.c: Likewise.
100543         * lib/unistr/u16-strncat.c: Likewise.
100544         * lib/unistr/u16-strncmp.c: Likewise.
100545         * lib/unistr/u16-strncpy.c: Likewise.
100546         * lib/unistr/u16-strnlen.c: Likewise.
100547         * lib/unistr/u16-strpbrk.c: Likewise.
100548         * lib/unistr/u16-strrchr.c: Likewise.
100549         * lib/unistr/u16-strspn.c: Likewise.
100550         * lib/unistr/u16-strstr.c: Likewise.
100551         * lib/unistr/u16-strtok.c: Likewise.
100552         * lib/unistr/u16-to-u32.c: Likewise.
100553         * lib/unistr/u16-to-u8.c: Likewise.
100554         * lib/unistr/u16-uctomb-aux.c: Likewise.
100555         * lib/unistr/u16-uctomb.c: Likewise.
100556         * lib/unistr/u32-check.c: Likewise.
100557         * lib/unistr/u32-chr.c: Likewise.
100558         * lib/unistr/u32-cmp.c: Likewise.
100559         * lib/unistr/u32-cpy-alloc.c: Likewise.
100560         * lib/unistr/u32-cpy.c: Likewise.
100561         * lib/unistr/u32-endswith.c: Likewise.
100562         * lib/unistr/u32-mblen.c: Likewise.
100563         * lib/unistr/u32-mbsnlen.c: Likewise.
100564         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
100565         * lib/unistr/u32-mbtouc.c: Likewise.
100566         * lib/unistr/u32-mbtoucr.c: Likewise.
100567         * lib/unistr/u32-move.c: Likewise.
100568         * lib/unistr/u32-next.c: Likewise.
100569         * lib/unistr/u32-prev.c: Likewise.
100570         * lib/unistr/u32-set.c: Likewise.
100571         * lib/unistr/u32-startswith.c: Likewise.
100572         * lib/unistr/u32-stpcpy.c: Likewise.
100573         * lib/unistr/u32-stpncpy.c: Likewise.
100574         * lib/unistr/u32-strcat.c: Likewise.
100575         * lib/unistr/u32-strchr.c: Likewise.
100576         * lib/unistr/u32-strcmp.c: Likewise.
100577         * lib/unistr/u32-strcpy.c: Likewise.
100578         * lib/unistr/u32-strcspn.c: Likewise.
100579         * lib/unistr/u32-strdup.c: Likewise.
100580         * lib/unistr/u32-strlen.c: Likewise.
100581         * lib/unistr/u32-strmblen.c: Likewise.
100582         * lib/unistr/u32-strmbtouc.c: Likewise.
100583         * lib/unistr/u32-strncat.c: Likewise.
100584         * lib/unistr/u32-strncmp.c: Likewise.
100585         * lib/unistr/u32-strncpy.c: Likewise.
100586         * lib/unistr/u32-strnlen.c: Likewise.
100587         * lib/unistr/u32-strpbrk.c: Likewise.
100588         * lib/unistr/u32-strrchr.c: Likewise.
100589         * lib/unistr/u32-strspn.c: Likewise.
100590         * lib/unistr/u32-strstr.c: Likewise.
100591         * lib/unistr/u32-strtok.c: Likewise.
100592         * lib/unistr/u32-to-u16.c: Likewise.
100593         * lib/unistr/u32-to-u8.c: Likewise.
100594         * lib/unistr/u32-uctomb.c: Likewise.
100595         * lib/unistr/u8-check.c: Likewise.
100596         * lib/unistr/u8-chr.c: Likewise.
100597         * lib/unistr/u8-cmp.c: Likewise.
100598         * lib/unistr/u8-cpy-alloc.c: Likewise.
100599         * lib/unistr/u8-cpy.c: Likewise.
100600         * lib/unistr/u8-endswith.c: Likewise.
100601         * lib/unistr/u8-mblen.c: Likewise.
100602         * lib/unistr/u8-mbsnlen.c: Likewise.
100603         * lib/unistr/u8-mbtouc-aux.c: Likewise.
100604         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
100605         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
100606         * lib/unistr/u8-mbtouc.c: Likewise.
100607         * lib/unistr/u8-mbtoucr.c: Likewise.
100608         * lib/unistr/u8-move.c: Likewise.
100609         * lib/unistr/u8-next.c: Likewise.
100610         * lib/unistr/u8-prev.c: Likewise.
100611         * lib/unistr/u8-set.c: Likewise.
100612         * lib/unistr/u8-startswith.c: Likewise.
100613         * lib/unistr/u8-stpcpy.c: Likewise.
100614         * lib/unistr/u8-stpncpy.c: Likewise.
100615         * lib/unistr/u8-strcat.c: Likewise.
100616         * lib/unistr/u8-strchr.c: Likewise.
100617         * lib/unistr/u8-strcmp.c: Likewise.
100618         * lib/unistr/u8-strcpy.c: Likewise.
100619         * lib/unistr/u8-strcspn.c: Likewise.
100620         * lib/unistr/u8-strdup.c: Likewise.
100621         * lib/unistr/u8-strlen.c: Likewise.
100622         * lib/unistr/u8-strmblen.c: Likewise.
100623         * lib/unistr/u8-strmbtouc.c: Likewise.
100624         * lib/unistr/u8-strncat.c: Likewise.
100625         * lib/unistr/u8-strncmp.c: Likewise.
100626         * lib/unistr/u8-strncpy.c: Likewise.
100627         * lib/unistr/u8-strnlen.c: Likewise.
100628         * lib/unistr/u8-strpbrk.c: Likewise.
100629         * lib/unistr/u8-strrchr.c: Likewise.
100630         * lib/unistr/u8-strspn.c: Likewise.
100631         * lib/unistr/u8-strstr.c: Likewise.
100632         * lib/unistr/u8-strtok.c: Likewise.
100633         * lib/unistr/u8-to-u16.c: Likewise.
100634         * lib/unistr/u8-to-u32.c: Likewise.
100635         * lib/unistr/u8-uctomb-aux.c: Likewise.
100636         * lib/unistr/u8-uctomb.c: Likewise.
100637         * lib/unitypes.h: Likewise.
100638         * lib/uniwidth.h: Likewise.
100639         * lib/uniwidth/cjk.h: Likewise.
100640         * lib/uniwidth/u16-strwidth.c: Likewise.
100641         * lib/uniwidth/u16-width.c: Likewise.
100642         * lib/uniwidth/u32-strwidth.c: Likewise.
100643         * lib/uniwidth/u32-width.c: Likewise.
100644         * lib/uniwidth/u8-strwidth.c: Likewise.
100645         * lib/uniwidth/u8-width.c: Likewise.
100646         * lib/uniwidth/width.c: Likewise.
100648 2007-10-07  Bruno Haible  <bruno@clisp.org>
100650         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
100651         The file is still under LGPL (see modules/inttypes).
100653 2007-10-06  Bruno Haible  <bruno@clisp.org>
100655         * modules/trunc (Dependencies): Add 'extensions'.
100656         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
100657         Reported by Ben Pfaff <blp@gnu.org>.
100659 2007-10-06  Bruno Haible  <bruno@clisp.org>
100661         * modules/freopen-tests: New file.
100662         * tests/test-freopen.c: New file.
100664         * modules/fopen-tests: New file.
100665         * tests/test-fopen.c: New file.
100667         * modules/fopen: New file.
100668         * lib/fopen.c: New file.
100669         * m4/fopen.m4: New file.
100670         * modules/freopen: New file.
100671         * lib/freopen.c: New file.
100672         * m4/freopen.m4: New file.
100673         * lib/stdio.in.h (fopen, freopen): New declarations.
100674         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
100675         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
100676         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
100677         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
100678         * doc/functions/fopen.texi: Mention the 'fopen' module.
100679         * doc/functions/freopen.texi: Mention the 'freopen' module.
100681 2007-10-06  Bruno Haible  <bruno@clisp.org>
100683         * modules/open-tests: New file.
100684         * tests/test-open.c: New file.
100686         * modules/open: New file.
100687         * lib/open.c: New file.
100688         * m4/open.m4: New file.
100689         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
100690         lib/open.c does.
100691         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
100692         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
100693         macros.
100694         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
100695         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
100696         REPLACE_OPEN.
100697         * doc/functions/open.texi: Mention the 'open' module.
100699 2007-10-04  Bruno Haible  <bruno@clisp.org>
100701         * modules/ceill-tests: New file.
100702         * tests/test-ceill.c: New file.
100704         * modules/ceill: New file.
100705         * lib/ceill.c: Replace entire file.
100706         * m4/ceill.m4: New file.
100707         * lib/math.in.h (ceill): Replace declaration.
100708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
100709         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
100710         * doc/functions/ceill.texi: Mention the 'ceill' module.
100711         * modules/mathl (Files): Remove lib/ceill.c.
100712         (Depends-on): Add ceill.
100714 2007-10-04  Bruno Haible  <bruno@clisp.org>
100716         * modules/ceilf-tests: New file.
100717         * tests/test-ceilf.c: New file.
100719         * modules/ceilf: New file.
100720         * lib/ceil.c: New file.
100721         * lib/ceilf.c: New file.
100722         * m4/ceilf.m4: New file.
100723         * lib/math.in.h (ceilf): New declaration.
100724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
100725         HAVE_DECL_CEILF.
100726         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
100727         HAVE_DECL_CEILF.
100728         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
100730 2007-10-04  Bruno Haible  <bruno@clisp.org>
100732         * modules/floorl-tests: New file.
100733         * tests/test-floorl.c: New file.
100735         * modules/floorl: New file.
100736         * lib/floorl.c: Replace entire file.
100737         * m4/floorl.m4: New file.
100738         * lib/math.in.h (floorl): Replace declaration.
100739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
100740         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
100741         * doc/functions/floorl.texi: Mention the 'floorl' module.
100742         * modules/mathl (Files): Remove lib/floorl.c.
100743         (Depends-on): Add floorl.
100745 2007-10-04  Bruno Haible  <bruno@clisp.org>
100747         * modules/floorf-tests: New file.
100748         * tests/test-floorf.c: New file.
100750         * modules/floorf: New file.
100751         * lib/floor.c: New file.
100752         * lib/floorf.c: New file.
100753         * m4/floorf.m4: New file.
100754         * lib/math.in.h (floorf): New declaration.
100755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
100756         HAVE_DECL_FLOORF.
100757         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
100758         HAVE_DECL_FLOORF.
100759         * doc/functions/floorf.texi: Mention the 'floorf' module.
100761 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
100762             Bruno Haible  <bruno@clisp.org>
100764         Advertise for the Git server instead of the CVS server.
100765         * doc/gnulib-intro.texi (Steady Development): Mention the Git
100766         repository instead of the CVS one.
100767         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
100768         about all VCS systems generically.
100769         * doc/gnulib.texi (Introduction): Capitalize `Git'.
100771 2007-10-04  Bruno Haible  <bruno@clisp.org>
100773         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
100774         means.
100775         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
100777 2007-10-04  Bruno Haible  <bruno@clisp.org>
100779         * modules/truncl-tests: New file.
100780         * tests/test-truncl.c: New file.
100782         * modules/truncl: New file.
100783         * lib/truncl.c: New file.
100784         * m4/truncl.m4: New file.
100785         * lib/math.in.h (truncl): New declaration.
100786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
100787         HAVE_DECL_TRUNCL.
100788         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
100789         HAVE_DECL_TRUNCL.
100790         * doc/functions/truncl.texi: Mention the 'truncl' module.
100792 2007-10-04  Bruno Haible  <bruno@clisp.org>
100794         * modules/truncf-tests: New file.
100795         * tests/test-truncf.c: New file.
100797         * modules/truncf: New file.
100798         * lib/trunc.c: Make paramerizable through USE_* macros.
100799         * lib/truncf.c: New file.
100800         * m4/truncf.m4: New file.
100801         * lib/math.in.h (truncf): New declaration.
100802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
100803         HAVE_DECL_TRUNCF.
100804         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
100805         HAVE_DECL_TRUNCF.
100806         * doc/functions/truncf.texi: Mention the 'truncf' module.
100808 2007-10-03  Bruno Haible  <bruno@clisp.org>
100810         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
100811         augmentation also for tests modules.
100812         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
100813         * modules/atexit-tests (Makefile.am): Likewise.
100814         * modules/binary-io-tests (Makefile.am): Likewise.
100815         * modules/c-strcase-tests (Makefile.am): Likewise.
100816         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
100817         * modules/canonicalize-tests (Makefile.am): Likewise.
100818         * modules/closein-tests (Makefile.am): Likewise.
100819         * modules/fprintf-posix-tests (Makefile.am): Likewise.
100820         * modules/freadahead-tests (Makefile.am): Likewise.
100821         * modules/fseek-tests (Makefile.am): Likewise.
100822         * modules/fseeko-tests (Makefile.am): Likewise.
100823         * modules/ftell-tests (Makefile.am): Likewise.
100824         * modules/ftello-tests (Makefile.am): Likewise.
100825         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
100826         * modules/isnanl-tests (Makefile.am): Likewise.
100827         * modules/lseek-tests (Makefile.am): Likewise.
100828         * modules/mbscasecmp-tests (Makefile.am): Likewise.
100829         * modules/mbscasestr-tests (Makefile.am): Likewise.
100830         * modules/mbschr-tests (Makefile.am): Likewise.
100831         * modules/mbscspn-tests (Makefile.am): Likewise.
100832         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
100833         * modules/mbspbrk-tests (Makefile.am): Likewise.
100834         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
100835         * modules/mbsrchr-tests (Makefile.am): Likewise.
100836         * modules/mbsspn-tests (Makefile.am): Likewise.
100837         * modules/mbsstr-tests (Makefile.am): Likewise.
100838         * modules/printf-posix-tests (Makefile.am): Likewise.
100839         * modules/snprintf-posix-tests (Makefile.am): Likewise.
100840         * modules/sprintf-posix-tests (Makefile.am): Likewise.
100841         * modules/tsearch-tests (Makefile.am): Likewise.
100842         * modules/uniname/uniname-tests (Makefile.am): Likewise.
100843         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
100844         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
100845         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
100846         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
100847         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
100848         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
100849         * modules/vprintf-posix-tests (Makefile.am): Likewise.
100850         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
100851         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
100852         * modules/xstrtoimax-tests (Makefile.am): Likewise.
100853         * modules/xstrtol-tests (Makefile.am): Likewise.
100854         * modules/xstrtoumax-tests (Makefile.am): Likewise.
100855         * modules/yesno-tests (Makefile.am): Likewise.
100857 2007-10-03  Bruno Haible  <bruno@clisp.org>
100859         * modules/trunc-tests: New file.
100860         * tests/test-trunc.c: New file.
100862         * modules/trunc: New file.
100863         * lib/trunc.c: New file.
100864         * m4/trunc.m4: New file.
100865         * lib/math.in.h (trunc): New declaration.
100866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
100867         HAVE_DECL_TRUNC.
100868         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
100869         HAVE_DECL_TRUNC.
100870         * doc/functions/trunc.texi: Mention the 'trunc' module.
100872 2007-10-03  Bruno Haible  <bruno@clisp.org>
100874         * tests/test-fpending.c: New file, mostly copied
100875         from coreutils/lib/t-fpending.c.
100876         * modules/fpending-tests: New file.
100878 2007-10-03  Bruno Haible  <bruno@clisp.org>
100880         Port the stdio extensions to QNX (untested).
100881         * lib/fseterr.c (fseterr): Add support for QNX.
100882         * lib/fbufmode.c (fbufmode): Likewise.
100883         * lib/freadable.c (freadable): Likewise.
100884         * lib/fwritable.c (fwritable): Likewise.
100885         * lib/freading.c (freading): Likewise.
100886         * lib/fwriting.c (fwriting): Likewise.
100887         * lib/freadahead.c (freadahed): Likewise.
100888         * lib/fpurge.c (fpurge): Likewise.
100889         * lib/fseeko.c (rpl_fseeko): Likewise.
100891 2007-10-03  Bruno Haible  <bruno@clisp.org>
100892             Jim Meyering  <jim@meyering.net>
100893             Eric Blake  <ebb9@byu.net>
100895         * doc/relocatable.texi: Use @command instead of @program.
100897 2007-10-02  Jim Meyering  <jim@meyering.net>
100899         Perform one more "_.h" -> ".in.h" substitution.
100900         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
100901         instead of unistd_.h here, too.
100903 2007-10-01  Bruno Haible  <bruno@clisp.org>
100905         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
100906         Needed for the alloca-opt module.
100908 2007-09-30  Bruno Haible  <bruno@clisp.org>
100910         * lib/alloca.in.h: Renamed from lib/alloca_.h.
100911         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
100912         alloca_.h.
100913         * lib/argz.in.h: Renamed from lib/argz_.h.
100914         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
100915         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
100916         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
100917         byteswap_.h.
100918         * lib/dirent.in.h: Renamed from lib/dirent_.h.
100919         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
100920         dirent_.h.
100921         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
100922         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
100923         fcntl_.h.
100924         * lib/float.in.h: Renamed from lib/float_.h.
100925         * modules/float (Files, Makefile.am): Use float.in.h instead of
100926         float_.h.
100927         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
100928         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
100929         fnmatch_.h.
100930         * lib/getopt.in.h: Renamed from lib/getopt_.h.
100931         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
100932         getopt_.h.
100933         * lib/glob.in.h: Renamed from lib/glob_.h.
100934         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
100935         * lib/iconv.in.h: Renamed from lib/iconv_.h.
100936         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
100937         iconv_.h.
100938         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
100939         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
100940         inttypes_.h.
100941         * lib/locale.in.h: Renamed from lib/locale_.h.
100942         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
100943         locale_.h.
100944         * lib/math.in.h: Renamed from lib/math_.h.
100945         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
100946         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
100947         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
100948         of netinet_in_.h. Add dependency.
100949         * lib/poll.in.h: Renamed from lib/poll_.h.
100950         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
100951         * lib/search.in.h: Renamed from lib/search_.h.
100952         * modules/search (Files, Makefile.am): Use search.in.h instead of
100953         search_.h.
100954         * lib/signal.in.h: Renamed from lib/signal_.h.
100955         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
100956         _signal.h.
100957         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
100958         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
100959         stdbool_.h.
100960         * lib/stdint.in.h: Renamed from lib/stdint_.h.
100961         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
100962         stdint_.h.
100963         * lib/stdio.in.h: Renamed from lib/stdio_.h.
100964         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
100965         stdio_.h.
100966         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
100967         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
100968         stdlib_.h.
100969         * lib/string.in.h: Renamed from lib/string_.h.
100970         * modules/string (Files, Makefile.am): Use string.in.h instead of
100971         string_.h.
100972         * doc/gnulib-tool.texi (Initial import): Update.
100973         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
100974         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
100975         of sys_select_.h. Add dependency.
100976         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
100977         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
100978         of sys_socket_.h.
100979         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
100980         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
100981         sys_stat_.h.
100982         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
100983         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
100984         sys_time_.h.
100985         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
100986         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
100987         sysexits_.h.
100988         * lib/time.in.h: Renamed from lib/time_.h.
100989         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
100990         * lib/unistd.in.h: Renamed from lib/unistd_.h.
100991         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
100992         unistd_.h.
100993         * lib/wchar.in.h: Renamed from lib/wchar_.h.
100994         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
100995         wchar_.h.
100996         * lib/wctype.in.h: Renamed from lib/wctype_.h.
100997         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
100998         wctype_.h.
100999         * build-aux/bootstrap (slurp): Update.
101000         * lib/.cppi-disable: Update.
101002 2007-09-30  Bruno Haible  <bruno@clisp.org>
101004         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
101005         Needed on BeOS.
101007 2007-09-30  Bruno Haible  <bruno@clisp.org>
101009         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
101011 2007-09-29  Bruno Haible  <bruno@clisp.org>
101013         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
101015 2007-09-29  Bruno Haible  <bruno@clisp.org>
101017         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
101018         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
101019         * build-aux/install-reloc: Compile also areadlink.c.
101020         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
101022 2007-09-29  Bruno Haible  <bruno@clisp.org>
101024         * gnulib-tool (func_emit_initmacro_done): Indentation.
101026 2007-09-29  Bruno Haible  <bruno@clisp.org>
101028         * README: Add CVS checkout update instructions.
101029         Info from Bob Proulx <bob@proulx.com>.
101031 2007-09-28  Eric Blake  <ebb9@byu.net>
101033         Provide move-if-change.
101034         * build-aux/move-if-change: New file, based on best practice
101035         rather than any canonical upstream location.
101037 2007-09-28  Jim Meyering  <jim@meyering.net>
101039         Fix canonicalize loop-detection corner case.
101040         Do not attempt to stat the symlink values stored via seen_triple.
101041         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
101042         on linux-2.6.18, (but not 2.6.22).
101043         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
101044         triple_compare.  The former compares dev,ino,filename, while the latter
101045         would actually stat dirname(filename) when dev and ino were equal.
101046         * lib/hash-triple.c: Install <string.h>.
101047         (STREQ): Define.
101048         (triple_compare_ino_str): New function.
101049         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
101051 2007-09-28  Eric Blake  <ebb9@byu.net>
101053         Enforce that AC_REPLACE_FUNCS files exist.
101054         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
101055         override check for typos.
101057         Fix test-closein on Solaris 10.
101058         * tests/test-closein.c (main): Don't assume stdin can be inherited
101059         closed on all systems.
101060         * tests/test-closein.sh: Likewise.
101061         Reported by Piotr Tarnowski.
101063 2007-09-28  Jim Meyering  <jim@meyering.net>
101065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
101067 2007-09-27  Jim Meyering  <jim@meyering.net>
101069         canonicalize: Avoid a false-positive cycle failure.
101070         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
101071         Sort.  Remove cycle-check.
101072         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
101073         not cycle-check.h.
101074         (seen_triple): New function.
101075         (canonicalize_filename_mode): Use it instead of cycle-check.
101076         * tests/test-canonicalize.c: Add a test for this bug.
101077         * tests/test-canonicalize.sh: Set up and run the test.
101079         New module, file-set, from coreutils.
101080         * modules/file-set: Define it.
101081         * lib/file-set.c, lib/file-set.h: Implement.
101083         New module, hash-triple, from coreutils.
101084         * modules/hash-triple: Define it.
101085         * lib/hash-triple.c, lib/hash-triple.h: Implement.
101087 2007-09-25  Eric Blake  <ebb9@byu.net>
101089         Fix strerror on Interix.
101090         * lib/string_.h (strerror): Declare replacement.
101091         * doc/functions/strerror.texi (strerror): Document the Interix
101092         shortcoming.
101093         * modules/string (Makefile.am): Support new hooks.
101094         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
101095         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
101096         gl_FUNC_STRERROR_SEPARATE.
101097         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
101098         * lib/strerror.c (rpl_strerror): Provide replacement.
101099         * modules/strerror (Depends-on): Add string.
101100         (configure.ac): Detect use of module.
101101         * tests/test-strerror.c: New file.
101102         * modules/strerror-tests: New test module.
101103         * modules/argp (Depends-on): Add strerror.
101104         * modules/error (Depends-on): Likewise.
101105         Reported by Martin Koeppe.
101107 2007-09-24  Bruno Haible  <bruno@clisp.org>
101109         * README: Update git instructions.
101111 2007-09-24  Eric Blake  <ebb9@byu.net>
101113         Revert fpending breakage from 2007-09-08.
101114         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
101115         __fpending.c.
101117 2007-09-24  Jim Meyering  <jim@meyering.net>
101119         filenamecat.c: Add a test.
101120         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
101121         showing how the function works when DIR is the empty string.
101123 2007-09-21  Simon Josefsson  <simon@josefsson.org>
101125         * tests/test-canonicalize.sh: Turn on executable bit.
101127 2007-09-19  Eric Blake  <ebb9@byu.net>
101129         * README: Update CVS instructions.
101131 2007-09-18  Bruno Haible  <bruno@clisp.org>
101133         * modules/areadlink: New file.
101134         * lib/areadlink.h (areadlink): New declaration.
101135         * lib/areadlink.c: New file, based on lib/xreadlink.c.
101137 2007-09-17  Jim Meyering  <jim@meyering.net>
101139         * lib/savewd.c (ESTALE) [!defined]: Define.
101140         Reported to be required on Interix by Martin Koeppe.
101142 2007-09-17  Bruno Haible  <bruno@clisp.org>
101144         * gnulib-tool (func_version): Use $version.
101146 2007-09-16  Bruno Haible  <bruno@clisp.org>
101148         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
101149         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
101150         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
101151         Reported by Greg Schafer <gschafer@zip.com.au>.
101153 2007-09-15  Bruno Haible  <bruno@clisp.org>
101155         * gnulib-tool (sed): Try a little harder to make bash understand the
101156         alias.
101157         Reported by Bruce Korb <bruce.korb@gmail.com>.
101159 2007-09-13  Eric Blake  <ebb9@byu.net>
101161         * ChangeLog: Remove conflict markers.
101163 2007-09-13  Simon Josefsson  <simon@josefsson.org>
101165         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
101166         Reported by Bruno Haible <bruno@clisp.org>.
101168 2007-09-12  Bruno Haible  <bruno@clisp.org>
101170         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
101171         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
101172         is not defined.
101174 2007-09-12  Eric Blake  <ebb9@byu.net>
101176         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
101177         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
101178         Autoconf definition.
101179         * modules/euidaccess (Depends-on): Add extensions, for
101180         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
101181         * modules/fnmatch (Depends-on): Likewise.
101182         * modules/getaddrinfo (Depends-on): Likewise.
101183         * modules/getdelim (Depends-on): Likewise.
101184         * modules/getline (Depends-on): Likewise.
101185         * modules/getsubopt (Depends-on): Likewise.
101186         * modules/gettext (Depends-on): Likewise.
101187         * modules/group-member (Depends-on): Likewise.
101188         * modules/mbchar (Depends-on): Likewise.
101189         * modules/memmem (Depends-on): Likewise.
101190         * modules/mempcpy (Depends-on): Likewise.
101191         * modules/memrchr (Depends-on): Likewise.
101192         * modules/pagealign_alloc (Depends-on): Likewise.
101193         * modules/readutmp (Depends-on): Likewise.
101194         * modules/stpcpy (Depends-on): Likewise.
101195         * modules/stpncpy (Depends-on): Likewise.
101196         * modules/strchrnul (Depends-on): Likewise.
101197         * modules/strndup (Depends-on): Likewise.
101198         * modules/strsep (Depends-on): Likewise.
101199         * modules/strverscmp (Depends-on): Likewise.
101200         * modules/vasprintf (Depends-on): Likewise.
101201         * modules/wcwidth (Depends-on): Likewise.
101202         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
101203         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
101204         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
101205         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
101206         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
101207         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101208         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
101209         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
101210         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
101211         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
101212         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
101213         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
101214         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
101215         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
101216         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
101217         * m4/readutmp.m4 (gl_READUTMP): Likewise.
101218         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
101219         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
101220         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
101221         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
101222         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
101223         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
101224         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
101225         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
101226         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
101227         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
101228         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
101229         so that lock.m4 can be used in gettext without extensions module.
101231 2007-09-11  Bruno Haible  <bruno@clisp.org>
101233         * m4/isc-posix.m4: Remove file.
101234         Suggested by Eric Blake.
101236 2007-09-11  Eric Blake  <ebb9@byu.net>
101238         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
101240 2007-09-10  Bruno Haible  <bruno@clisp.org>
101242         * posix-modules: Fix typo in error message.
101243         Reported by Matt <mkraai@beckman.com>.
101245 2007-09-09  Bruno Haible  <bruno@clisp.org>
101247         * doc/functions/getdelim.texi: Update list of platforms lacking the
101248         function.
101249         * doc/functions/getline.texi: Likewise.
101251 2007-09-09  Jim Meyering  <jim@meyering.net>
101253         * lib/hash.c (hash_initialize): Detect calloc failure.
101254         Reported by Bruno Haible.
101256 2007-09-09  Bruno Haible  <bruno@clisp.org>
101258         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
101259         malloc or realloc fails.
101261 2007-09-09  Bruno Haible  <bruno@clisp.org>
101263         * modules/getcwd (Depends-on): Add malloc-posix.
101264         * modules/glob (Depends-on): Likewise.
101265         * modules/putenv (Depends-on): Likewise.
101266         * modules/strdup (Depends-on): Likewise.
101267         * modules/getdelim (Depends-on): Add realloc-posix.
101268         * modules/read-file (Depends-on): Likewise.
101270 2007-09-09  Bruno Haible  <bruno@clisp.org>
101272         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
101273         (gl_FUNC_MALLOC_POSIX): Require it.
101274         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
101275         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
101276         * modules/realloc (Files): Add m4/malloc.m4.
101277         * modules/calloc (Files): Likewise.
101279 2007-09-09  Bruno Haible  <bruno@clisp.org>
101281         * modules/malloc-posix: New file.
101282         * modules/malloc (Depends-on): Add malloc-posix.
101283         * lib/malloc.c: Include errno.h.
101284         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
101285         and a POSIX-compatible malloc into a single function. Set ENOMEM
101286         when returning NULL.
101287         * m4/malloc.m4: New file.
101288         * doc/functions/malloc.texi: Mention the malloc-posix module.
101289         * lib/stdlib_.h (malloc): New declaration.
101290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101291         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
101292         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
101293         and HAVE_MALLOC_POSIX.
101295 2007-09-09  Bruno Haible  <bruno@clisp.org>
101297         * modules/realloc-posix: New file.
101298         * modules/realloc (Depends-on): Add realloc-posix.
101299         * lib/realloc.c: Include errno.h.
101300         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
101301         and a POSIX-compatible realloc into a single function. Set ENOMEM
101302         when returning NULL.
101303         * m4/realloc.m4: New file.
101304         * doc/functions/realloc.texi: Mention the realloc-posix module.
101305         * lib/stdlib_.h (realloc): New declaration.
101306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101307         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
101308         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
101309         and HAVE_REALLOC_POSIX.
101311 2007-09-09  Bruno Haible  <bruno@clisp.org>
101313         * modules/calloc-posix: New file.
101314         * modules/calloc (Depends-on): Add calloc-posix.
101315         * lib/calloc.c: Include errno.h.
101316         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
101317         and a POSIX-compatible calloc into a single function. Set ENOMEM
101318         when returning NULL.
101319         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
101320         * doc/functions/calloc.texi: Mention the calloc-posix module.
101321         * lib/stdlib_.h (calloc): New declaration.
101322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101323         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
101324         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
101325         and HAVE_CALLOC_POSIX.
101327 2007-09-09  Bruno Haible  <bruno@clisp.org>
101329         Allow for modules to show an arbitrary notice.
101330         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
101331         * gnulib-tool: New option --extract-notice.
101332         (func_usage): Document it.
101333         (sed_extract_prog): Update.
101334         (func_get_notice): New function.
101335         (func_modules_notice): New function.
101336         (func_import, func_create_testdir): Invoke it.
101337         Suggested by Jim Meyering.
101339 2007-09-09  Bruno Haible  <bruno@clisp.org>
101341         * gnulib-tool: New options --verbose, --quiet.
101342         (func_usage): Document them.
101343         (verbose): New variable.
101344         (func_execute_command): New function.
101345         (func_import): Don't show the module list and the file list if
101346         $verbose < 0.
101347         (func_create_testdir): Likewise. Use func_execute_command.
101348         (func_create_megatestdir): Use func_execute_command.
101350 2007-09-08  Bruno Haible  <bruno@clisp.org>
101352         * gnulib-tool (func_import): Prefer rsync over wget when available,
101353         for fetching the PO files.
101355 2007-09-08  Bruno Haible  <bruno@clisp.org>
101357         * posix-modules: New file. Portions copied from gnulib-tool.
101358         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
101360 2007-09-08  Jim Meyering  <jim@meyering.net>
101362         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
101363         * lib/fpending.h: Rename from __fpending.h.
101364         * lib/fpending.c: Rename from __fpending.c.
101365         Include "fpending.h", not "__fpending.h".
101366         * lib/__fpending.h, lib/__fpending.c: Remove files.
101367         * modules/fpending (Files): Reflect new file names.
101368         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
101370 2007-09-08  Bruno Haible  <bruno@clisp.org>
101372         * m4/inttypes-h.m4: Remove stub file.
101374 2007-09-07  Simon Josefsson  <simon@josefsson.org>
101376         * doc/headers/stdint.texi: Discuss #include_next issue.
101378 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101380         * build-aux/bootstrap: Remove obsolete comment about wget --help.
101382 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101384         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
101385         in variable name.
101387 2007-09-03  Jim Meyering  <jim@meyering.net>
101389         New module: git-version-gen.
101390         * modules/git-version-gen: New file.
101392         Import changes from coreutils for bootstrap script.
101394         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
101396         bootstrap: uses rsync to download the .po files
101397         * build-aux/bootstrap (po_download_command_format): New global.
101398         (download_po_files): Use rsync.
101399         (update_po_files): Don't remove .po files after download,
101400         so future rsync runs can take advantage of the copies.
101402         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
101404         Solve the unnecessary-.po-file-regeneration problem once and for all.
101405         * build-aux/bootstrap (download_po_files): New function, renamed from
101406         get_translations.  Now, downloads, but doesn't update LINGUAS.
101407         (update_po_files): New function.
101409         bootstrap: Ignore more.
101410         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
101411         uniwidth to e.g., lib/.gitignore.
101412         (slurp): Handle the sys_stat_.h -> sys mapping, too.
101414         * build-aux/bootstrap: New setting: vc_ignore.
101415         (insert_sorted_if_absent): Create $file if absent.
101416         Adapt to new, possibly empty, list: $vc_ignore.
101418         bootstrap: generate more ignorable names
101419         * build-aux/bootstrap (slurp): When generating ignorable names,
101420         also map .sin to .sed, .gperf to .c, and .y to .c.
101422 2007-09-03  Jim Meyering  <jim@meyering.net>
101424         * build-aux/git-version-gen: New file, from coreutils.  For details, see
101425         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
101427 2007-09-02  Bruno Haible  <bruno@clisp.org>
101429         Fix mis-recognition of 'mcs' on QNX 6.
101430         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
101431         output contains the string "Mono".
101432         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
101433         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
101435 2007-09-01  Bruno Haible  <bruno@clisp.org>
101437         Fix collision between uniwidth/* and linebreak modules.
101438         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
101439         u32_width): Remove declarations.
101440         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
101441         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
101442         streq3, streq2, streq1, streq0): Remove functions.
101443         (STREQ): Remove macro.
101444         (is_cjk_encoding): Remove function.
101445         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
101446         (uc_width, u8_width, u16_width, u32_width): Remove functions.
101447         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
101448         * NEWS: Document the change.
101450 2007-09-01  Bruno Haible  <bruno@clisp.org>
101452         * lib/streq.h: Add double-inclusion guard.
101454 2007-09-01  Karl Berry  <karl@gnu.org>
101456         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
101458 2007-08-28  Jim Meyering  <jim@meyering.net>
101460         Rename mreadlink_with_size to areadlink_with_size.
101461         * NEWS: Document the change.
101462         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
101463         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
101464         * lib/mreadlink.h: Rename this to...
101465         * lib/areadlink.h: ...this.
101466         * modules/mreadlink-with-size: Rename this to...
101467         * modules/areadlink-with-size: ...this.
101468         * lib/canonicalize.c: Reflect the renaming.
101469         * modules/canonicalize: Likewise.
101471 2007-08-26  Bruno Haible  <bruno@clisp.org>
101473         * gnulib-tool (func_import): When deciding which files to remove,
101474         consider also dangling symbolic links.
101475         Reported by Eric Blake.
101477 2007-08-26  Bruno Haible  <bruno@clisp.org>
101479         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
101481 2007-08-23  Simon Josefsson  <simon@josefsson.org>
101483         * lib/readline.c: Don't include getline.h, the prototype is now
101484         found in stdio.h.
101486 2007-08-23  Jim Meyering  <jim@meyering.net>
101488         Getdelim touchup.
101489         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
101490         around the funlockfile call, since funlockfile never sets errno.
101491         Don't set errno upon failed realloc.
101493 2007-08-22  Eric Blake  <ebb9@byu.net>
101495         Getline touchups.
101496         * lib/getdelim.c (getdelim): Revert regression that required *n to
101497         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
101498         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
101499         getdelim, rather than whether implementation is missing.
101500         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
101501         * lib/stdio_.h (getline): Also declare if replacement is
101502         required.
101503         * doc/functions/getdelim.texi: New file.
101504         * doc/functions/getline.texi: Likewise.
101505         * doc/gnulib.texi (Function Substitutes): Add new files.
101506         Reported by Bruno Haible.
101508 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
101510         * users.txt: Add Guile.
101512 2007-08-22  Eric Blake  <ebb9@byu.net>
101514         * tests/test-getdelim.c (main): Use remove, not unlink.
101515         * tests/test-getline.c (main): Likewise.
101517         Move getline and getdelim into stdio.h, per POSIX 200x.
101518         * modules/getline (Files): Remove getline.h.
101519         (Depends-on): Add stdio.
101520         (configure.ac): Add module indicator.
101521         * modules/getdelim (Files): Remove getdelim.h.
101522         (Depends-on): Add stdio.
101523         (configure.ac): Add module indicator.
101524         * modules/stdio (Makefile.am): Work with new indicators.
101525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
101526         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
101527         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101528         * lib/getdelim.h: Delete.
101529         * lib/getline.h: Delete.
101530         * lib/stdio_.h (getdelim, getline): Declare.
101531         * modules/getdelim-tests: New module.
101532         * modules/getline-tests: Likewise.
101533         * tests/test-getdelim.c: New file.
101534         * tests/test-getline.c: Likewise.
101535         * NEWS: Document the change.
101536         * lib/getline.c: Update choice of header.
101537         * lib/csharpcomp.c: Likewise.
101538         * lib/getpass.c: Likewise.
101539         * lib/javacomp.c: Likewise.
101540         * lib/javaversion.c: Likewise.
101541         * lib/yesno.c: Likewise.
101542         * lib/getdelim.c: Likewise.
101543         (getdelim): Set errno on failure, and avoid memory leak.
101545 2007-08-19  Bruno Haible  <bruno@clisp.org>
101547         * modules/closein (Depends-on): Add freadahead.
101548         * lib/closein.c: Include freadahead.h.
101549         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
101550         is zero.
101552 2007-08-19  Bruno Haible  <bruno@clisp.org>
101554         * modules/freadahead-tests: New file.
101555         * tests/test-freadahead.sh: New file.
101556         * tests/test-freadahead.c: New file.
101558         * modules/freadahead: New file.
101559         * lib/freadahead.h: New file.
101560         * lib/freadahead.c: New file.
101561         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
101562         fbufmode, fpurge, freadable, fwritable.
101564 2007-08-19  Eric Blake  <ebb9@byu.net>
101566         Test yesno in combination with closein.
101567         * lib/yesno.c (yesno): Document use of stdin.
101568         * modules/yesno-tests (Files): New module.
101569         * tests/test-yesno.c (main): New file.
101570         * tests/test-yesno.sh: Likewise.
101572 2007-08-19  Bruno Haible  <bruno@clisp.org>
101574         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
101575         * lib/fseeko.c (rpl_fseeko): Likewise.
101576         * lib/fseterr.c (fseterr): Likewise.
101578 2007-08-19  Bruno Haible  <bruno@clisp.org>
101580         * tests/test-lseek.c (main): Disable a test for BeOS.
101581         * doc/functions/lseek.texi: Document the BeOS bug.
101583 2007-08-19  Bruno Haible  <bruno@clisp.org>
101584             Eric Blake  <ebb9@byu.net>
101586         * lib/lseek.c: Include <sys/stat.h>.
101587         (rpl_lseek): Add workaround code also for Unix platforms.
101588         Needed for BeOS.
101589         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
101590         * doc/functions/lseek.texi: Document BeOS definiency.
101592 2007-08-18  Bruno Haible  <bruno@clisp.org>
101594         * modules/fstrcmp-tests: New file.
101595         * tests/test-fstrcmp.c: New file.
101597 2007-08-18  Bruno Haible  <bruno@clisp.org>
101599         * modules/fstrcmp: New file, from GNU gettext with modifications.
101600         * lib/fstrcmp.h: New file, from GNU gettext.
101601         * lib/fstrcmp.c: New file, from GNU gettext.
101602         * MODULES.html.sh (String handling): Add fstrcmp.
101604 2007-08-18  Bruno Haible  <bruno@clisp.org>
101606         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
101607         'bool'.
101608         (diag, compareseq): Remove const from the ctxt argument.
101609         (USE_HEURISTIC): Undefine at the end.
101611 2007-08-18  Jim Meyering  <jim@meyering.net>
101613         New file: lib/idcache.h
101614         * NEWS: Mention the addition.
101615         * modules/idcache (Files): Add lib/idcache.h
101616         * lib/idcache.c: Include "idcache.h".
101617         Don't include <sys/types.h>.
101618         Add a FIXME comment.
101619         Move file-scoped "static" declarations to the top.
101620         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
101622 2007-08-17  Bruno Haible  <bruno@clisp.org>
101623         and Paul Eggert  <eggert@cs.ucla.edu>
101625         * MODULES.html.sh: Add diffseq.
101626         * modules/diffseq: New file.
101627         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
101628         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
101630 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
101632         Import changes from coreutils for bootstrap script.
101634         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
101636         * build-aux/bootstrap (slurp): Work even in environments where
101637         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
101638         current code does not slurp files whose names start with ".", and
101639         this looks like it might be a troublesome area.
101641         2007-07-11  Jim Meyering  <jim@meyering.net>
101643         If there's a GPL vN copyright comment, require that N == 3.
101645         2007-07-08  Jim Meyering  <jim@meyering.net>
101647         Run the coreutils-specific code only if tests/Makefile.am.in exists.
101648         * build-aux/bootstrap (mam_template): Move definition out of loop.
101650         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
101652         * build-aux/bootstrap (symlink_to_dir): Rename function from
101653         symlink_to_gnulib.  Add a directory parameter.  Update all
101654         callers.
101655         (cp_mark_as_generated): Also check for -- and link to -- files in
101656         gl/.
101658         2007-07-08  Jim Meyering  <jim@meyering.net>
101660         Adapt to deeper hierarchy in gnulib.
101661         * build-aux/bootstrap (symlink_to_dir): If the destination
101662         directory doesn't exist, create it. This is required at least for
101663         "lib/uniwidth/cjk.h".
101665         2007-05-15  Jim Meyering  <jim@meyering.net>
101667         * build-aux/bootstrap: Now that generated Makefile.am files
101668         are no longer under version control, they must be created at
101669         bootstrap time.
101671 2007-08-14  Ben Pfaff  <blp@gnu.org>
101673         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
101675 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
101677         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
101678         given the changes below.
101679         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
101680         even on hosts that have padding bits beyond the supported 64.
101682 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
101684         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
101685         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
101686         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
101687         depends on it.
101688         (xstrtol_error): Remove.
101689         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
101690         but with a different signature.
101691         (ATTRIBUTE_NORETURN, __attribute__): New macros.
101692         * lib/xstrtol-error.c: Include exitfail.h.
101693         (xstrtol_fatal): New function, with a different signature from the
101694         old xstrtol_error, so that the caller need not worry about passing
101695         in an exit status, or about storage management of the option argument.
101696         (xstrtol_error): Now a static function.  Redo signature to
101697         implement xstrtol_fatal.  Output the correct number of hyphens in
101698         front of the option so that the caller need not worry about
101699         storage management.
101700         (N_): New macro.
101701         (_): Remove; not used now.
101702         * modules/xstrtol: Depend on getopt.
101703         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
101704         of old STRTOL_FATAL_ERROR macro.
101705         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
101706         of test program.
101707         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
101708         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
101710 2007-08-08  Eric Blake  <ebb9@byu.net>
101712         * lib/xstrtol-error.c: Add missing include.
101714         Move xstrtol messages into gnulib domain, when --pobase is used.
101715         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
101716         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
101717         * modules/xstrtol (Files): Distribute new file.
101718         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
101719         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
101720         * tests/test-xstrtol.c: ...into new file.
101721         * tests/test-xstrtoul.c: Also test xstrtoul.
101722         * tests/test-xstrtoimax.c: Also test xstrtoimax.
101723         * tests/test-xstrtoumax.c: Also test xstrtoumax.
101724         * tests/test-xstrtol.sh: Drive the tests.
101725         * tests/test-xstrtoimax.sh: Likewise.
101726         * tests/test-xstrtoumax.sh: Likewise.
101727         * modules/xstrtol-tests: New module.
101728         * modules/xstrtoimax-tests: Likewise.
101729         * modules/xstrtoumax-tests: Likewise.
101731 2007-08-08  Jim Meyering  <jim@meyering.net>
101733         New function: mfile_name_concat.
101734         * lib/filenamecat.c (mfile_name_concat): New function, just like
101735         file_name_concat, but return NULL upon failure rather than exiting
101736         with a diagnostic.
101737         * lib/filenamecat.h: Declare it.
101739 2007-08-07  Bruno Haible  <bruno@clisp.org>
101741         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
101742         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
101743         warning from gcc.
101744         Reported by Eric Blake.
101746 2007-08-07  Simon Josefsson  <simon@josefsson.org>
101748         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
101749         * modules/crypto/arcfour (License): Likewise.
101750         * modules/crypto/des-tests (License): Likewise.
101751         * modules/crypto/gc-arctwo-tests (License): Likewise.
101752         * modules/crypto/gc-des-tests (License): Likewise.
101753         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
101754         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
101755         * modules/crypto/gc-md2-tests (License): Likewise.
101756         * modules/crypto/gc-md4-tests (License): Likewise.
101757         * modules/crypto/gc-md5-tests (License): Likewise.
101758         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
101759         * modules/crypto/gc-rijndael-tests (License): Likewise.
101760         * modules/crypto/gc-sha1-tests (License): Likewise.
101761         * modules/crypto/gc-tests (License): Likewise.
101762         * modules/crypto/hmac-md5 (License): Likewise.
101763         * modules/crypto/hmac-sha1 (License): Likewise.
101764         * modules/crypto/md2-tests (License): Likewise.
101765         * modules/crypto/md4-tests (License): Likewise.
101766         * modules/crypto/md5 (License): Likewise.
101767         * modules/crypto/rijndael (License): Likewise.
101768         * modules/crypto/sha1 (License): Likewise.
101769         * modules/memxor (License): Likewise.
101771 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
101772         and Bruno Haible  <bruno@clisp.org>
101774         * NEWS: Describe interface changes to human, xstrtol.
101775         * lib/human.h: Include <xstrtol.h>.
101776         (human_options): Return enum strtol_error, not int.  Remove
101777         bool arg; take int * instead.
101778         * lib/human.c: Don't include "gettext.h".
101779         (_): Remove; no longer used.
101780         Don't include <xstrtol.h>, since human.h does it.
101781         (human_options): Adjust to abovementioned interface changes.
101782         Do not report error to stderr; that's now the caller's
101783         responsibility.
101784         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
101785         interface change.
101786         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
101787         Str, Argument_type_string.  All uses changed.  Put " argument"
101788         in diagnostics to make them clearer.  Change wording of suffix
101789         message for clarity.
101790         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
101791         Argument_type_string.
101792         (STRTOL_FATAL_WARN): Remove; no longer used.
101793         * modules/human (Depends-on): Remove gettext-h.
101795 2007-08-06  Simon Josefsson  <simon@josefsson.org>
101797         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
101799 2007-07-31  Bruno Haible  <bruno@clisp.org>
101801         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
101802         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
101803         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
101805 2007-07-31  Bruno Haible  <bruno@clisp.org>
101807         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
101808         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
101810 2007-07-30  Bruno Haible  <bruno@clisp.org>
101812         * modules/base64 (License): Use the synonymous term "LGPLv2+".
101813         * modules/c-ctype (License): Likewise.
101814         * modules/c-strcase (License): Likewise.
101815         * modules/check-version (License): Likewise.
101816         * modules/iconv (License): Likewise.
101817         * modules/iconv_open (License): Likewise.
101818         * modules/read-file (License): Likewise.
101819         * modules/striconv (License): Likewise.
101820         * modules/strverscmp (License): Likewise.
101821         * modules/vasprintf (License): Likewise.
101822         * modules/crypto/des (License): Likewise.
101823         * modules/crypto/gc (License): Likewise.
101824         * modules/crypto/gc-arcfour (License): Likewise.
101825         * modules/crypto/gc-arctwo (License): Likewise.
101826         * modules/crypto/gc-des (License): Likewise.
101827         * modules/crypto/gc-hmac-md5 (License): Likewise.
101828         * modules/crypto/gc-hmac-sha1 (License): Likewise.
101829         * modules/crypto/gc-md2 (License): Likewise.
101830         * modules/crypto/gc-md4 (License): Likewise.
101831         * modules/crypto/gc-md5 (License): Likewise.
101832         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
101833         * modules/crypto/gc-random (License): Likewise.
101834         * modules/crypto/gc-rijndael (License): Likewise.
101835         * modules/crypto/gc-sha1 (License): Likewise.
101836         * modules/crypto/md2 (License): Likewise.
101837         * modules/crypto/md4 (License): Likewise.
101839 2007-07-30  Jim Meyering  <jim@meyering.net>
101841         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
101842         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
101843         it has valid stat data.  This bug would cause du not to count the
101844         sizes of inaccessible directories.
101845         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
101846         in <http://bugzilla.redhat.com/250077>.
101848 2007-07-25  Peter O'Gorman  <peter@pogma.com>
101849             Bruno Haible  <bruno@clisp.org>
101851         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
101852         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
101853         #include_next, gives a diagnostic about it, but reports no error in
101854         the exit code.
101855         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
101857 2007-07-24  Ben Pfaff  <blp@gnu.org>
101859         Improve name: "count-one-bits" is better than "popcount".
101860         * MODULES.html.sh: Update name.
101861         * lib/popcount.h: Renamed lib/count-one-bits.h.
101862         (popcount): Renamed count_one_bits.
101863         (popcountl): Renamed count_one_bits_l.
101864         (popcountll): Renamed count_one_bits_ll.
101865         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
101866         * modules/popcount: Renamed module/count-one-bits.
101867         * modules/popcount-tests: Renamed module/count-one-bits-tests.
101868         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
101870 2007-07-23  Ben Pfaff  <blp@gnu.org>
101872         * lib/popcount.h (popcount32): Reduce size of constants, to allow
101873         better code generation, and add U to large constants to avoid
101874         warnings, in non-GCC case.
101875         Suggested by Bruno Haible.
101877 2007-07-23  Ben Pfaff  <blp@gnu.org>
101879         * lib/popcount.h: Use verify_true instead of if...abort.
101880         * modules/popcount: Depend on verify module.
101881         Suggested by Jim Meyering.
101883 2007-07-23  Bruno Haible  <bruno@clisp.org>
101885         * gnulib-tool (func_import): Create a .cvsignore file also when the
101886         directory is not yet in CVS but the toplevel directory is. When
101887         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
101888         Reported by Karl Berry.
101890 2007-07-22  Ben Pfaff  <blp@gnu.org>
101892         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
101893         case.
101894         Suggested by Eric Blake.
101896 2007-07-22  Ben Pfaff  <blp@gnu.org>
101898         New module: popcount.
101899         * MODULES.html.sh: Add popcount.
101900         * modules/popcount: New file.
101901         * modules/popcount-tests: New file.
101902         * tests/test-popcount.c: New file.
101903         * lib/popcount.h: New file.
101904         * m4/popcount.m4: New file.
101906 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
101908         * build-aux/announce-gen: Update to GPLv3.
101910         * build-aux/config.guess: Update from config.
101912 2007-07-21  Bruno Haible  <bruno@clisp.org>
101914         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
101915         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
101917 2007-07-20  Jim Meyering  <jim@meyering.net>
101919         * check-module: Diagnose a self-dependency.
101921 2007-07-19  Bruno Haible  <bruno@clisp.org>
101923         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
101924         empty.
101925         Reported by Eric Blake.
101927 2007-07-18  Bruno Haible  <bruno@clisp.org>
101929         * gnulib-tool: New options --po-base, --po-domain.
101930         (func_usage): Document them.
101931         (pobase, po_domain): New variables.
101932         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
101933         DEFAULT_TEXT_DOMAIN.
101934         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
101935         (func_import): Consider pobase and po_domain. Create a po/ directory.
101936         (func_create_testdir): Set pobase and po_domain to empty.
101937         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
101938         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
101940 2007-07-18  Bruno Haible  <bruno@clisp.org>
101942         * gnulib-tool (func_get_automake_snippet): Synthesize also an
101943         EXTRA_DIST augmentation for files in build-aux/.
101945 2007-07-16  Bruno Haible  <bruno@clisp.org>
101947         * modules/lseek (License): Use the synonymous term "LGPLv2+".
101948         * modules/getdelim (License): Likewise.
101950 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101952         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
101953         * modules/d-type (License): Likewise.
101954         * modules/extensions (License): Likewise.
101955         * modules/fnmatch (License): Likewise.
101956         * modules/fseeko (License): Likewise.
101957         * modules/getaddrinfo (License): Likewise.
101958         * modules/getline (License): Likewise.
101959         * modules/getlogin_r (License): Likewise.
101960         * modules/getpass (License): Likewise.
101961         * modules/gettimeofday (License): Likewise.
101962         * modules/glob (License): Likewise.
101963         * modules/inet_ntop (License): Likewise.
101964         * modules/malloc (License): Likewise.
101965         * modules/malloca (License): Likewise.
101966         * modules/memmem (License): Likewise.
101967         * modules/mempcpy (License): Likewise.
101968         * modules/memset (License): Likewise.
101969         * modules/minmax (License): Likewise.
101970         * modules/mktime (License): Likewise.
101971         * modules/netinet_in (License): Likewise.
101972         * modules/pathmax (License): Likewise.
101973         * modules/poll (License): Likewise.
101974         * modules/regex (License): Likewise.
101975         * modules/snprintf (License): Likewise.
101976         * modules/stdbool (License): Likewise.
101977         * modules/stdint (License): Likewise.
101978         * modules/stdio (License): Likewise.
101979         * modules/strcase (License): Likewise.
101980         * modules/strcasestr (License): Likewise.
101981         * modules/strdup (License): Likewise.
101982         * modules/string (License): Likewise.
101983         * modules/strndup (License): Likewise.
101984         * modules/strnlen (License): Likewise.
101985         * modules/strpbrk (License): Likewise.
101986         * modules/strptime (License): Likewise.
101987         * modules/strsep (License): Likewise.
101988         * modules/sys_select (License): Likewise.
101989         * modules/sys_socket (License): Likewise.
101990         * modules/sys_stat (License): Likewise.
101991         * modules/sys_time (License): Likewise.
101992         * modules/time (License): Likewise.
101993         * modules/time_r (License): Likewise.
101994         * modules/timegm (License): Likewise.
101995         * modules/unistd (License): Likewise.
101996         * modules/vsnprintf (License): Likewise.
101997         * modules/wctype (License): Likewise.
101999 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102001         * modules/argz (License): LGPLv2+.
102003 2007-07-15  Karl Berry  <karl@gnu.org>
102005         * doc/gnulib.texi: revise node structure per new fdl.texi.
102007 2007-07-14  Bruno Haible  <bruno@clisp.org>
102009         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
102010         the output file.
102011         * lib/uniname/uninames.h: Regenerated.
102013 2007-07-14  Karl Berry  <karl@gnu.org>
102015         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
102016         omitting sectioning and index commands.
102018 2007-07-13  Bruno Haible  <bruno@clisp.org>
102020         New gnulib-tool option --more-symlinks.
102021         * gnulib-tool (func_usage): Document --more-symlinks.
102022         (do_copyrights): New variable.
102023         Recognize option --more-symlinks.
102024         (func_import): Don't add a copyright notice transform to
102025         sed_transform_lib_file if do_copyrights is empty.
102027 2007-07-13  Bruno Haible  <bruno@clisp.org>
102029         * lib/vasnprintf.c (decimal_point_char): Define also if
102030         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
102031         && !NEED_PRINTF_DIRECTIVE_A.
102032         Reported by Clemens Koller <clemens.koller@anagramm.de> via
102033         Gary V. Vaughan <gary@gnu.org>.
102035 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
102037         * lib/inttypes_.h: Undo previous change, since it was fixed
102038         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
102040 2007-07-13  Bruno Haible  <bruno@clisp.org>
102042         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
102043         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
102045 2007-07-13  Jim Meyering  <jim@meyering.net>
102047         df: Don't fail for Tru64's "file-on-file mount".
102048         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
102049         so we fall through and use statfs instead.  Details here:
102050         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
102051         Reported by Albert Chin.
102053 2007-07-13  Bruno Haible  <bruno@clisp.org>
102055         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
102056         * modules/configmake (License): Likewise.
102057         * modules/gettext (License): Likewise.
102058         * modules/gettext-h (License): Likewise.
102059         * modules/include_next (License): Likewise.
102060         * modules/link-warning (License): Likewise.
102061         * modules/localcharset (License): Likewise.
102062         * modules/localename (License): Likewise.
102063         * modules/lock (License): Likewise.
102064         * modules/relocatable-lib-lgpl (License): Likewise.
102065         * modules/size_max (License): Likewise.
102066         * modules/vasnprintf (License): Likewise.
102067         * modules/wchar (License): Likewise.
102068         * modules/xsize (License): Likewise.
102070 2007-07-13  Bruno Haible  <bruno@clisp.org>
102072         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
102073         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
102075 2007-07-12  Bruno Haible  <bruno@clisp.org>
102077         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
102078         in the modules files.
102080 2007-07-11  Karl Berry  <karl@gnu.org>
102082         * MODULES.html.sh (func_module): use
102083          sed -e '\|^'"${includefile}"'$|d'
102084          instead of /.../d, to avoid errors on $includefile's containing /.
102086 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102088         * gnulib-tool (func_import): Avoid duplication of --avoid
102089         statements
102090         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
102091         names to `_' in variable names.
102093 2007-07-10  Eric Blake  <ebb9@byu.net>
102095         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
102096         * NEWS: Document this change.
102098 2007-07-08  Bruno Haible  <bruno@clisp.org>
102100         Update to Unicode 5.0.
102101         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
102102         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
102103         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
102104         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
102105         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
102106         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
102107         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
102108         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
102109         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
102110         U+10A3F, U+1D242..U+1D244.
102111         (nonspacing_table_ind): Update.
102112         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
102113         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
102115 2007-07-08  Bruno Haible  <bruno@clisp.org>
102117         Update to Unicode 5.0.
102118         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
102119         code transform. Extend the name index field of unicode_name_to_code and
102120         unicode_code_to_name from 16 to 24 bits.
102121         * lib/uniname/uniname.c (unicode_character_name,
102122         unicode_name_character): Add the range 0x12xxx to the code transform.
102123         * lib/uniname/uninames.h: Regenerated.
102124         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
102126 2007-07-07  Bruno Haible  <bruno@clisp.org>
102128         * modules/wcwidth-tests: New file.
102129         * tests/test-wcwidth.c: New file.
102131         Work around MacOS X wcwidth() bug.
102132         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
102133         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
102134         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
102135         original wcwidth in non-UTF-8 locales.
102136         * modules/wcwidth (Depends-on): Add localcharset, streq,
102137         uniwidth/width.
102138         * doc/functions/wcwidth.texi: Update.
102140 2007-07-07  Bruno Haible  <bruno@clisp.org>
102142         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
102143         (wcwidth): New declaration.
102144         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
102145         macros.
102146         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
102147         here. Prepare for creating <wchar.h> unconditionally.
102148         * modules/wchar (Depends-on): Add link-warning.
102149         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
102150         REPLACE_WCWIDTH, and GL_LINK_WARNING.
102151         * lib/wcwidth.h: Remove file.
102152         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
102153         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
102154         * modules/wcwidth (Files): Remove lib/wcwidth.h.
102155         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
102156         (Include): Replace wcwidth.h with <wchar.h>.
102157         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
102158         * lib/mbchar.h: Don't include wcwidth.h.
102159         * lib/mbswidth.c: Likewise.
102160         * NEWS: Mention the change.
102162 2007-07-07  Bruno Haible  <bruno@clisp.org>
102164         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
102165         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
102166         definition with an external declaration.
102167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
102168         defined as a function. Remove AC_C_INLINE requirement.
102169         * modules/wcwidth (Files): Add lib/wcwidth.c.
102170         (Makefile.am): Remove redundant statement.
102172 2007-07-07  Bruno Haible  <bruno@clisp.org>
102174         * MODULES.html.sh (Unicode string functions): Add the new modules.
102176         * tests/uniwidth/test-u32-strwidth.c: New file.
102177         * modules/uniwidth/u32-strwidth-tests: New file.
102179         * lib/uniwidth/u32-strwidth.c: New file.
102180         * modules/uniwidth/u32-strwidth: New file.
102182         * tests/uniwidth/test-u16-strwidth.c: New file.
102183         * modules/uniwidth/u16-strwidth-tests: New file.
102185         * lib/uniwidth/u16-strwidth.c: New file.
102186         * modules/uniwidth/u16-strwidth: New file.
102188         * tests/uniwidth/test-u8-strwidth.c: New file.
102189         * modules/uniwidth/u8-strwidth-tests: New file.
102191         * lib/uniwidth/u8-strwidth.c: New file.
102192         * modules/uniwidth/u8-strwidth: New file.
102194         * tests/uniwidth/test-u32-width.c: New file.
102195         * modules/uniwidth/u32-width-tests: New file.
102197         * lib/uniwidth/u32-width.c: New file.
102198         * modules/uniwidth/u32-width: New file.
102200         * tests/uniwidth/test-u16-width.c: New file.
102201         * modules/uniwidth/u16-width-tests: New file.
102203         * lib/uniwidth/u16-width.c: New file.
102204         * modules/uniwidth/u16-width: New file.
102206         * tests/uniwidth/test-u8-width.c: New file.
102207         * modules/uniwidth/u8-width-tests: New file.
102209         * lib/uniwidth/u8-width.c: New file.
102210         * modules/uniwidth/u8-width: New file.
102212         * tests/uniwidth/test-uc_width.c: New file.
102213         * modules/uniwidth/width-tests: New file.
102215         * lib/uniwidth/width.c: New file, from GNU libiconv.
102216         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
102217         * modules/uniwidth/width: New file.
102219         * lib/uniwidth.h: New file, from GNU libiconv.
102220         * modules/uniwidth/base: New file.
102222 2007-07-07  Bruno Haible  <bruno@clisp.org>
102224         * lib/uniname.h: New file, from GNU gettext.
102225         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
102226         * lib/uniname/uninames.h: New file, from GNU gettext.
102227         * lib/uniname/uniname.c: New file, from GNU gettext.
102228         * tests/uniname/test-uninames.sh: New file.
102229         * tests/uniname/test-uninames.c: New file, from GNU gettext.
102230         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
102231         * modules/uniname/base: New file.
102232         * modules/uniname/uniname: New file.
102233         * modules/uniname/uniname-tests: New file.
102234         * MODULES.html.sh (Unicode string functions): Add the new modules.
102236 2007-07-06  Bruno Haible  <bruno@clisp.org>
102238         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
102240 2007-07-06  Bruno Haible  <bruno@clisp.org>
102242         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
102243         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
102244         includes <cygwin/sys_time.h> which includes <sys/select.h> which
102245         include <sys/time.h>.
102246         Reported by Eric Blake.
102248 2007-07-06  Eric Blake  <ebb9@byu.net>
102250         Fix testing canonicalize on cygwin.
102251         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102252         Revert patch from 2007-06-19.
102253         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
102254         canonicalize module is also in use.
102255         * tests/test-canonicalize.c: New file.
102256         * tests/test-canonicalize.sh: Likewise.
102257         * modules/canonicalize-tests: Likewise.
102259 2007-07-06  Jim Meyering  <jim@meyering.net>
102261         * lib/getugroups.c (getugroups): Detect getgrent failure.
102262         Adjust comment to reflect reality: this function may return -1.
102264 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
102266         * build-aux/bootstrap (TP_URL,get_translations): Update to use
102267         the new TP address.
102268         (usage): Fix typo
102269         (gnulib_mk): New variable.
102271 2007-07-05  Jim Meyering  <jim@meyering.net>
102273         Don't let endgrent clobber errno, no matter how improbable.
102274         * lib/getugroups.c (getugroups): Save and restore errno around
102275         endgrent call.
102277         Close the group DB even when failing with 2^31 or more members.
102278         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
102280 2007-07-04  Jim Meyering  <jim@meyering.net>
102282         * lib/getugroups.h: New file.
102283         * lib/getugroups.c: Include "getugroups.h".
102284         Remove uses of "register" keyword.
102285         Move local variable, "cp", down into scope where used.
102286         Give "username" parameter the "const" attribute.
102287         * modules/getugroups (Files): Add lib/getugroups.h
102289 2007-07-04  Karl Berry  <karl@gnu.org>
102291         * MODULES.html.sh (func_all_modules): Complete rename of
102292         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
102294 2007-07-02  Bruno Haible  <bruno@clisp.org>
102296         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
102297         mode, when inttypes.h comes from gnulib.
102298         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
102300 2007-07-02  Simon Josefsson  <simon@josefsson.org>
102302         * NEWS: Mention lgpl module name change.
102304         * modules/lgpl-2.1: Renamed from lgpl.
102306         * NEWS: Mention gpl module name change.
102308         * modules/gpl-3.0: New file, based on gpl-2.0.
102310         * modules/gpl-2.0: Renamed from gpl.
102312         * modules/gpl: Fix filename, doc/gpl.texi is now found at
102313         doc/gpl-2.0.texi.
102315 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
102317         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
102318         #define __STDC_LIMIT_MACROS temporarily while including
102319         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
102320         Problem reported by Joel E. Denny in
102321         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
102323 2007-07-01  Bruno Haible  <bruno@clisp.org>
102325         * lib/unistdio.h: New file.
102326         * lib/unistdio/u-asnprintf.h: New file.
102327         * lib/unistdio/u-asprintf.h: New file.
102328         * lib/unistdio/u-printf-args.c: New file.
102329         * lib/unistdio/u-printf-args.h: New file.
102330         * lib/unistdio/u-printf-parse.h: New file.
102331         * lib/unistdio/u-snprintf.h: New file.
102332         * lib/unistdio/u-sprintf.h: New file.
102333         * lib/unistdio/u-vasprintf.h: New file.
102334         * lib/unistdio/u-vsnprintf.h: New file.
102335         * lib/unistdio/u-vsprintf.h: New file.
102336         * lib/unistdio/ulc-asnprintf.c: New file.
102337         * lib/unistdio/ulc-asprintf.c: New file.
102338         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
102339         * lib/unistdio/ulc-printf-parse.c: New file.
102340         * lib/unistdio/ulc-snprintf.c: New file.
102341         * lib/unistdio/ulc-sprintf.c: New file.
102342         * lib/unistdio/ulc-vasnprintf.c: New file.
102343         * lib/unistdio/ulc-vasprintf.c: New file.
102344         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
102345         * lib/unistdio/ulc-vsnprintf.c: New file.
102346         * lib/unistdio/ulc-vsprintf.c: New file.
102347         * lib/unistdio/u8-asnprintf.c: New file.
102348         * lib/unistdio/u8-asprintf.c: New file.
102349         * lib/unistdio/u8-printf-parse.c: New file.
102350         * lib/unistdio/u8-snprintf.c: New file.
102351         * lib/unistdio/u8-sprintf.c: New file.
102352         * lib/unistdio/u8-vasnprintf.c: New file.
102353         * lib/unistdio/u8-vasprintf.c: New file.
102354         * lib/unistdio/u8-vsnprintf.c: New file.
102355         * lib/unistdio/u8-vsprintf.c: New file.
102356         * lib/unistdio/u8-u8-asnprintf.c: New file.
102357         * lib/unistdio/u8-u8-asprintf.c: New file.
102358         * lib/unistdio/u8-u8-snprintf.c: New file.
102359         * lib/unistdio/u8-u8-sprintf.c: New file.
102360         * lib/unistdio/u8-u8-vasnprintf.c: New file.
102361         * lib/unistdio/u8-u8-vasprintf.c: New file.
102362         * lib/unistdio/u8-u8-vsnprintf.c: New file.
102363         * lib/unistdio/u8-u8-vsprintf.c: New file.
102364         * lib/unistdio/u16-asnprintf.c: New file.
102365         * lib/unistdio/u16-asprintf.c: New file.
102366         * lib/unistdio/u16-printf-parse.c: New file.
102367         * lib/unistdio/u16-snprintf.c: New file.
102368         * lib/unistdio/u16-sprintf.c: New file.
102369         * lib/unistdio/u16-vasnprintf.c: New file.
102370         * lib/unistdio/u16-vasprintf.c: New file.
102371         * lib/unistdio/u16-vsnprintf.c: New file.
102372         * lib/unistdio/u16-vsprintf.c: New file.
102373         * lib/unistdio/u16-u16-asnprintf.c: New file.
102374         * lib/unistdio/u16-u16-asprintf.c: New file.
102375         * lib/unistdio/u16-u16-snprintf.c: New file.
102376         * lib/unistdio/u16-u16-sprintf.c: New file.
102377         * lib/unistdio/u16-u16-vasnprintf.c: New file.
102378         * lib/unistdio/u16-u16-vasprintf.c: New file.
102379         * lib/unistdio/u16-u16-vsnprintf.c: New file.
102380         * lib/unistdio/u16-u16-vsprintf.c: New file.
102381         * lib/unistdio/u32-asnprintf.c: New file.
102382         * lib/unistdio/u32-asprintf.c: New file.
102383         * lib/unistdio/u32-printf-parse.c: New file.
102384         * lib/unistdio/u32-snprintf.c: New file.
102385         * lib/unistdio/u32-sprintf.c: New file.
102386         * lib/unistdio/u32-vasnprintf.c: New file.
102387         * lib/unistdio/u32-vasprintf.c: New file.
102388         * lib/unistdio/u32-vsnprintf.c: New file.
102389         * lib/unistdio/u32-vsprintf.c: New file.
102390         * lib/unistdio/u32-u32-asnprintf.c: New file.
102391         * lib/unistdio/u32-u32-asprintf.c: New file.
102392         * lib/unistdio/u32-u32-snprintf.c: New file.
102393         * lib/unistdio/u32-u32-sprintf.c: New file.
102394         * lib/unistdio/u32-u32-vasnprintf.c: New file.
102395         * lib/unistdio/u32-u32-vasprintf.c: New file.
102396         * lib/unistdio/u32-u32-vsnprintf.c: New file.
102397         * lib/unistdio/u32-u32-vsprintf.c: New file.
102398         * tests/unistdio/test-ulc-asnprintf1.c: New file.
102399         * tests/unistdio/test-ulc-asnprintf1.h: New file.
102400         * tests/unistdio/test-ulc-printf1.h: New file.
102401         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
102402         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
102403         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
102404         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
102405         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
102406         * tests/unistdio/test-ulc-vasprintf1.c: New file.
102407         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
102408         * tests/unistdio/test-ulc-vsprintf1.c: New file.
102409         * tests/unistdio/test-u8-asnprintf1.c: New file.
102410         * tests/unistdio/test-u8-asnprintf1.h: New file.
102411         * tests/unistdio/test-u8-printf1.h: New file.
102412         * tests/unistdio/test-u8-vasnprintf1.c: New file.
102413         * tests/unistdio/test-u8-vasnprintf2.c: New file.
102414         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
102415         * tests/unistdio/test-u8-vasnprintf3.c: New file.
102416         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
102417         * tests/unistdio/test-u8-vasprintf1.c: New file.
102418         * tests/unistdio/test-u8-vsnprintf1.c: New file.
102419         * tests/unistdio/test-u8-vsprintf1.c: New file.
102420         * tests/unistdio/test-u16-asnprintf1.c: New file.
102421         * tests/unistdio/test-u16-asnprintf1.h: New file.
102422         * tests/unistdio/test-u16-printf1.h: New file.
102423         * tests/unistdio/test-u16-vasnprintf1.c: New file.
102424         * tests/unistdio/test-u16-vasnprintf2.c: New file.
102425         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
102426         * tests/unistdio/test-u16-vasnprintf3.c: New file.
102427         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
102428         * tests/unistdio/test-u16-vasprintf1.c: New file.
102429         * tests/unistdio/test-u16-vsnprintf1.c: New file.
102430         * tests/unistdio/test-u16-vsprintf1.c: New file.
102431         * tests/unistdio/test-u32-asnprintf1.c: New file.
102432         * tests/unistdio/test-u32-asnprintf1.h: New file.
102433         * tests/unistdio/test-u32-printf1.h: New file.
102434         * tests/unistdio/test-u32-vasnprintf1.c: New file.
102435         * tests/unistdio/test-u32-vasnprintf2.c: New file.
102436         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
102437         * tests/unistdio/test-u32-vasnprintf3.c: New file.
102438         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
102439         * tests/unistdio/test-u32-vasprintf1.c: New file.
102440         * tests/unistdio/test-u32-vsnprintf1.c: New file.
102441         * tests/unistdio/test-u32-vsprintf1.c: New file.
102442         * modules/unistdio/base: New file.
102443         * modules/unistdio/u-printf-args: New file.
102444         * modules/unistdio/ulc-asnprintf: New file.
102445         * modules/unistdio/ulc-asprintf: New file.
102446         * modules/unistdio/ulc-fprintf: New file.
102447         * modules/unistdio/ulc-printf-parse: New file.
102448         * modules/unistdio/ulc-snprintf: New file.
102449         * modules/unistdio/ulc-sprintf: New file.
102450         * modules/unistdio/ulc-vasnprintf: New file.
102451         * modules/unistdio/ulc-vasprintf: New file.
102452         * modules/unistdio/ulc-vfprintf: New file.
102453         * modules/unistdio/ulc-vsnprintf: New file.
102454         * modules/unistdio/ulc-vsprintf: New file.
102455         * modules/unistdio/u8-asnprintf: New file.
102456         * modules/unistdio/u8-asprintf: New file.
102457         * modules/unistdio/u8-printf-parse: New file.
102458         * modules/unistdio/u8-snprintf: New file.
102459         * modules/unistdio/u8-sprintf: New file.
102460         * modules/unistdio/u8-vasnprintf: New file.
102461         * modules/unistdio/u8-vasprintf: New file.
102462         * modules/unistdio/u8-vsnprintf: New file.
102463         * modules/unistdio/u8-vsprintf: New file.
102464         * modules/unistdio/u8-u8-asnprintf: New file.
102465         * modules/unistdio/u8-u8-asprintf: New file.
102466         * modules/unistdio/u8-u8-snprintf: New file.
102467         * modules/unistdio/u8-u8-sprintf: New file.
102468         * modules/unistdio/u8-u8-vasnprintf: New file.
102469         * modules/unistdio/u8-u8-vasprintf: New file.
102470         * modules/unistdio/u8-u8-vsnprintf: New file.
102471         * modules/unistdio/u8-u8-vsprintf: New file.
102472         * modules/unistdio/u16-asnprintf: New file.
102473         * modules/unistdio/u16-asprintf: New file.
102474         * modules/unistdio/u16-printf-parse: New file.
102475         * modules/unistdio/u16-snprintf: New file.
102476         * modules/unistdio/u16-sprintf: New file.
102477         * modules/unistdio/u16-vasnprintf: New file.
102478         * modules/unistdio/u16-vasprintf: New file.
102479         * modules/unistdio/u16-vsnprintf: New file.
102480         * modules/unistdio/u16-vsprintf: New file.
102481         * modules/unistdio/u16-u16-asnprintf: New file.
102482         * modules/unistdio/u16-u16-asprintf: New file.
102483         * modules/unistdio/u16-u16-snprintf: New file.
102484         * modules/unistdio/u16-u16-sprintf: New file.
102485         * modules/unistdio/u16-u16-vasnprintf: New file.
102486         * modules/unistdio/u16-u16-vasprintf: New file.
102487         * modules/unistdio/u16-u16-vsnprintf: New file.
102488         * modules/unistdio/u16-u16-vsprintf: New file.
102489         * modules/unistdio/u32-asnprintf: New file.
102490         * modules/unistdio/u32-asprintf: New file.
102491         * modules/unistdio/u32-printf-parse: New file.
102492         * modules/unistdio/u32-snprintf: New file.
102493         * modules/unistdio/u32-sprintf: New file.
102494         * modules/unistdio/u32-vasnprintf: New file.
102495         * modules/unistdio/u32-vasprintf: New file.
102496         * modules/unistdio/u32-vsnprintf: New file.
102497         * modules/unistdio/u32-vsprintf: New file.
102498         * modules/unistdio/u32-u32-asnprintf: New file.
102499         * modules/unistdio/u32-u32-asprintf: New file.
102500         * modules/unistdio/u32-u32-snprintf: New file.
102501         * modules/unistdio/u32-u32-sprintf: New file.
102502         * modules/unistdio/u32-u32-vasnprintf: New file.
102503         * modules/unistdio/u32-u32-vasprintf: New file.
102504         * modules/unistdio/u32-u32-vsnprintf: New file.
102505         * modules/unistdio/u32-u32-vsprintf: New file.
102506         * modules/unistdio/ulc-asnprintf-tests: New file.
102507         * modules/unistdio/ulc-vasnprintf-tests: New file.
102508         * modules/unistdio/ulc-vasprintf-tests: New file.
102509         * modules/unistdio/ulc-vsnprintf-tests: New file.
102510         * modules/unistdio/ulc-vsprintf-tests: New file.
102511         * modules/unistdio/u8-asnprintf-tests: New file.
102512         * modules/unistdio/u8-vasnprintf-tests: New file.
102513         * modules/unistdio/u8-vasprintf-tests: New file.
102514         * modules/unistdio/u8-vsnprintf-tests: New file.
102515         * modules/unistdio/u8-vsprintf-tests: New file.
102516         * modules/unistdio/u16-asnprintf-tests: New file.
102517         * modules/unistdio/u16-vasnprintf-tests: New file.
102518         * modules/unistdio/u16-vasprintf-tests: New file.
102519         * modules/unistdio/u16-vsnprintf-tests: New file.
102520         * modules/unistdio/u16-vsprintf-tests: New file.
102521         * modules/unistdio/u32-asnprintf-tests: New file.
102522         * modules/unistdio/u32-vasnprintf-tests: New file.
102523         * modules/unistdio/u32-vasprintf-tests: New file.
102524         * modules/unistdio/u32-vsnprintf-tests: New file.
102525         * modules/unistdio/u32-vsprintf-tests: New file.
102526         * MODULES.html.sh (Unicode string functions): Add the new modules.
102528 2007-07-01  Bruno Haible  <bruno@clisp.org>
102530         * lib/sprintf.c (sprintf): Limit the available length estimation,
102531         to avoid address wraparound.
102532         * lib/vsprintf.c (vsprintf): Likewise.
102533         * modules/sprintf-posix (Dependencies): Add stdint.
102534         * modules/vsprintf-posix (Dependencies): Likewise.
102536 2007-07-01  Bruno Haible  <bruno@clisp.org>
102538         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
102539         Windows PATH as well. Conservative double-quoting. Comments.
102541 2007-07-01  Bruno Haible  <bruno@clisp.org>
102542             Eric Blake  <ebb9@byu.net>
102543             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102545         * gnulib-tool (self_abspathname): Fix algorithm to cope with
102546         empty components in $PATH, denoting '.'.
102548 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102550         * gnulib-tool: Fix indentation.
102551         (func_create_megatestdir): Likewise.
102552         Report by Bruno Haible.
102554 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102556         Sync from Automake.
102557         * build-aux/gnupload: Fix shell portability issues with for loops.
102558         Report by Karl Berry.
102560 2007-06-29  Simon Josefsson  <simon@josefsson.org>
102562         * build-aux/maint.mk (POURL): Use translationproject.org.
102564 2007-06-27  Simon Josefsson  <simon@josefsson.org>
102565             Bruno Haible  <bruno@clisp.org>
102567         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
102568         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
102569         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
102570         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
102571         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
102573 2007-06-27  Bruno Haible  <bruno@clisp.org>
102575         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
102576         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
102578 2007-06-26  Karl Berry  <karl@gnu.org>
102580         * MODULES.html.sh: remove xreadlink-with-size.
102582 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
102584         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
102585         method that I hope also handles the double-include problem noted
102586         by Bruno Haible in
102587         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
102589 2007-06-23  Bruno Haible  <bruno@clisp.org>
102591         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
102592         Don't let the 'mostlyclean' target fail if the last subdirectory could
102593         not be removed.
102594         Reported by Karl Berry.
102596 2007-06-23  Bruno Haible  <bruno@clisp.org>
102598         * gnulib-tool (echo): Add a speedier workaround for ksh.
102599         * tests/test-echo.sh: Likewise.
102601 2007-06-23  Bruno Haible  <bruno@clisp.org>
102603         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
102604         * tests/test-echo.sh: Likewise.
102606 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102608         * gnulib-tool (IFS): Initialize early, so we don't set it to
102609         empty later.
102610         (self_abspathname): Rewrite algorithm to set it, reindent.
102611         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
102612         (func_create_megatestdir): Merge some sed scripts.
102614 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
102616         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
102617         exposed by Sun Studio 11 cc on Solaris 8.
102619 2007-06-22  Bruno Haible  <bruno@clisp.org>
102621         * gnulib-tool (echo): Ensure the echo primitive does not interpret
102622         backslashes.
102623         * tests/test-echo.sh: New file.
102625 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102627         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
102628         simplify `sed_replace_build_aux' scripts, they are portable but
102629         echoing them with `echo' is not.
102630         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
102632 2007-06-21  Karl Berry  <karl@gnu.org>
102634         * config/srclist.txt: guess we can't handle the licenses via
102635         srclist at the moment.
102637 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
102639         * MODULES.html.sh: Add include_next.
102640         * modules/include_next: New file.
102642 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
102644         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
102645         INCLUDE_NEXT.
102646         (gl_CHECK_NEXT_HEADERS): New macro.
102647         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
102648         the obsolescent gl_ABSOLUTE_HEADER.
102649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
102650         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
102651         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
102652         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
102653         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
102654         * m4/math_h.m4 (gl_MATH_H): Likewise.
102655         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
102656         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
102657         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
102658         * m4/stdint.m4 (gl_STDINT_H): Likewise.
102659         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
102660         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
102661         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
102662         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
102663         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
102664         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
102665         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
102666         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
102667         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
102668         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
102669         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
102670         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
102671         * m4/inttypes.m4 (gl_INTTYPES_H): Define
102672         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
102673         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
102674         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
102675         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
102676         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
102677         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
102678         * lib/float_.h: Likewise.
102679         * lib/inttypes_.h: Likewise.
102680         * lib/math_.h: Likewise.
102681         * lib/search_.h: Likewise.
102682         * lib/signal_.h: Likewise.
102683         * lib/stdint_.h: Likewise.
102684         * lib/stdio_.h: Likewise.
102685         * lib/stdlib_.h: Likewise.
102686         * lib/string_.h: Likewise.
102687         * lib/sys_stat_.h: Likewise.
102688         * lib/sys_time_.h: Likewise.
102689         * lib/time_.h: Likewise.
102690         * lib/unistd_.h: Likewise.
102691         * lib/wchar_.h: Likewise.
102692         * lib/wctype_.h: Likewise.
102693         * lib/dirent_.h: Likewise.
102694         * lib/iconv_.h: Likewise.
102695         * lib/locale_.h: Likewise.
102696         * lib/netinet_in_.h: Likewise.
102697         * lib/sys_select_.h: Likewise.
102698         * lib/sys_socket_.h: Likewise.
102699         * lib/sysexits_.h: Likewise.
102700         * modules/fcntl (Depends-on): Depend on include_next, not
102701         absolute_header.
102702         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
102703         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
102704         * modules/fchdir: Likewise.
102705         * modules/float: Likewise.
102706         * modules/iconv_open: Likewise.
102707         * modules/inttypes: Likewise.
102708         * modules/locale: Likewise.
102709         * modules/math: Likewise.
102710         * modules/netinet_in: Likewise.
102711         * modules/search: Likewise.
102712         * modules/signal: Likewise.
102713         * modules/stdint: Likewise.
102714         * modules/stdio: Likewise.
102715         * modules/stdlib: Likewise.
102716         * modules/string: Likewise.
102717         * modules/sys_select: Likewise.
102718         * modules/sys_socket: Likewise.
102719         * modules/sys_stat: Likewise.
102720         * modules/sys_time: Likewise.
102721         * modules/sysexits: Likewise.
102722         * modules/time: Likewise.
102723         * modules/unistd: Likewise.
102724         * modules/wchar: Likewise.
102725         * modules/wctype: Likewise.
102726         * modules/sys_stat: Change maintainer to "all".
102727         * modules/unistd: Likewise.
102729 2007-06-20  Karl Berry  <karl@gnu.org>
102731         * config/srclist.txt: track www changes in license files.
102733 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
102735         * build-aux/bootstrap: Remove stray dot.
102736         Make sure build_aux settings are honored when linking
102737         gnulib_extra_files.
102739 2007-06-19  Eric Blake  <ebb9@byu.net>
102741         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102742         Allow compilation on cygwin.
102744 2007-06-19  Jim Meyering  <jim@meyering.net>
102746         xreadlink-with-size: Remove module.  No longer used.
102747         Ex-callers now use xreadlink or mreadlink-with-size.
102748         * modules/xreadlink-with-size: Remove module.
102749         * lib/xreadlink-with-size.c: Remove file.
102750         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
102751         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
102752         just before the function definition *is* accurate.
102754         Eliminate one way canonicalize_filename_mode could exit.
102755         * lib/canonicalize.c (canonicalize_filename_mode):
102756         Use mreadlink_with_size, not xreadlink_with_size.
102758 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
102760         Detect porting problems to FreeBSD/arm, which has time_t wider than
102761         long int.  Original problem reported for GNU diff by Xin Li in
102762         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
102763         * modules/getdate (Depends-on): Add intprops, verify.
102764         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
102765         is an integer type no wider than long int.
102767 2007-06-18  Jim Meyering  <jim@meyering.net>
102769         New module: mreadlink-with-size.
102770         * MODULES.html.sh: Add mreadlink-with-size.
102771         * modules/mreadlink-with-size: New module
102772         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
102773         not xreadlink-with-size.
102774         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
102776 2007-06-16  Bruno Haible  <bruno@clisp.org>
102778         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
102779         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
102780         Reported by Gary V. Vaughan <gary@gnu.org>.
102782 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
102784         Revamp lchown so that it lives in unistd.h where it belongs.
102785         * lib/lchown.h: Remove.
102786         * lib/dirchownmod.c: Don't include lib/lchown.h.
102787         * lib/fchownat.c: Likewise.
102788         * lib/openat.c: Likewise.
102789         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
102790         does not follow symlinks.
102791         (EOPNOTSUPP): Define if not defined.
102792         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
102793         is defined to 0.
102794         (lchown): New decl.
102795         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
102796         Do not check for lchown decl.
102797         Set REPLACE_LCHOWN.
102798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
102799         REPLACE_LCHOWN.
102800         * modules/chown: Make it clear it follows symlinks.
102801         * modules/lchown: Make it clear it doesn't follow symlinks.
102802         (Files): Remove lib/lchown.h
102803         (Depends-on): Add unistd.
102804         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
102805         (Include): Include <unistd.h>, not "lchown.h".
102806         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
102807         REPLACE_LCHOWN.
102809 2007-06-15  Jim Meyering  <jim@meyering.net>
102811         Change license (GPL to LGPL) of fsusage and dependents.
102812         * modules/fsusage (License): Change to LGPL.
102813         * modules/full-read (License): Likewise.
102814         * modules/full-write (License): Likewise.
102815         * modules/safe-read (License): Likewise.
102816         * modules/safe-write (License): Likewise.
102818 2007-06-14  Ben Pfaff  <blp@gnu.org>
102820         Missing part of allocsa -> malloca transition.
102821         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
102822         gl_MALLOCA.
102824 2007-06-12  Bruno Haible  <bruno@clisp.org>
102826         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
102827         to ia64, x86_64, i386.
102828         Reported by Eric Blake.
102830 2007-06-12  Bruno Haible  <bruno@clisp.org>
102832         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
102833         cross-compiling to x86_64.
102835 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
102837         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
102838         glitch reported by Ralf Wildenhues in
102839         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
102841         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
102842         Vin Shelton.
102844 2007-06-11  Bruno Haible  <bruno@clisp.org>
102846         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
102847         replacement string.
102848         Reported by Eric Blake.
102850 2007-06-10  Bruno Haible  <bruno@clisp.org>
102852         Prepare vasnprintf code for use with Unicode strings.
102853         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
102854         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
102855         TYPE_U32_STRING.
102856         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
102857         a_u32_string variants.
102858         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
102859         * lib/printf-args.c: Don't include config.h and the specification
102860         header if PRINTF_FETCHARGS is already defined.
102861         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
102862         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
102863         TYPE_U16_STRING, TYPE_U32_STRING.
102864         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
102865         u16_directive, u16_directives, u32_directive, u32_directives): New
102866         types.
102867         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
102868         New declarations.
102869         * lib/printf-parse.c: Don't include config.h and the specification
102870         header if PRINTF_PARSE is already defined. Eliminate the set of
102871         parameters for WIDE_CHAR_VERSION; the user of this file must provide
102872         them now. Include c-ctype.h.
102873         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
102874         directive and CHAR_T_ONLY_ASCII.
102875         * lib/vasnprintf.c: Don't include config.h and the specification header
102876         if VASNPRINTF is already defined.
102877         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
102878         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
102879         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
102880         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
102881         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
102882         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
102883         code accordingly.
102884         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
102885         pad_ourselves also in this case, with the 'c' and 's' directives, and
102886         with a different notion of "width".
102887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
102889 2007-06-10  Bruno Haible  <bruno@clisp.org>
102891         * modules/unistr/u32-mbsnlen: New file.
102892         * lib/unistr/u32-mbsnlen.c: New file.
102894         * modules/unistr/u16-mbsnlen: New file.
102895         * lib/unistr/u16-mbsnlen.c: New file.
102897         * modules/unistr/u8-mbsnlen: New file.
102898         * lib/unistr/u8-mbsnlen.c: New file.
102900         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
102901         declarations.
102903 2007-06-10  Bruno Haible  <bruno@clisp.org>
102905         * lib/string_.h (mbsnlen): New declaration.
102906         * lib/mbsnlen.c: New file.
102907         * m4/mbsnlen.m4: New file.
102908         * modules/mbsnlen: New file.
102909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
102910         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
102911         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
102913 2007-06-10  Bruno Haible  <bruno@clisp.org>
102915         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
102917 2007-06-10  Bruno Haible  <bruno@clisp.org>
102919         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
102920         * lib/mbuiter.h: Likewise.
102922 2007-06-10  Bruno Haible  <bruno@clisp.org>
102924         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
102925         declaration.
102927 2007-06-10  Karl Berry  <karl@gnu.org>
102929         * config/srclist.txt: remove gettext entries, Bruno prefers
102930         to update individually.
102932 2007-06-10  Bruno Haible  <bruno@clisp.org>
102934         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
102935         'maxlen'. Ensure only length + width bytes are allocated, not
102936         length + 1 + width.
102938 2007-06-09  Bruno Haible  <bruno@clisp.org>
102940         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
102941         (CHAR_T): Remove macro.
102942         (VASNPRINTF): Update.
102944 2007-06-09  Bruno Haible  <bruno@clisp.org>
102946         * MODULES.html.sh (Unicode string functions): Add the new modules.
102948         * modules/uniconv/u32-conv-to-enc: New file.
102949         * lib/uniconv/u32-conv-to-enc.c: New file.
102950         * modules/uniconv/u32-conv-to-enc-tests: New file.
102951         * tests/uniconv/test-u32-conv-to-enc.c: New file.
102953         * modules/uniconv/u16-conv-to-enc: New file.
102954         * lib/uniconv/u16-conv-to-enc.c: New file.
102955         * lib/uniconv/u-conv-to-enc.h: New file.
102956         * modules/uniconv/u16-conv-to-enc-tests: New file.
102957         * tests/uniconv/test-u16-conv-to-enc.c: New file.
102959         * modules/uniconv/u8-conv-to-enc: New file.
102960         * lib/uniconv/u8-conv-to-enc.c: New file.
102961         * modules/uniconv/u8-conv-to-enc-tests: New file.
102962         * tests/uniconv/test-u8-conv-to-enc.c: New file.
102964         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
102965         u32_conv_to_encoding): New declarations.
102967 2007-06-09  Bruno Haible  <bruno@clisp.org>
102969         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
102971 2007-06-09  Bruno Haible  <bruno@clisp.org>
102973         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
102974         * modules/malloca: Renamed from modules/allocsa, updated.
102975         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
102976         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
102977         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
102978         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
102979         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
102980         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
102981         * modules/xmalloca: Renamed from modules/xallocsa, updated.
102982         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
102983         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
102984         * modules/c-strcasestr (Depends-on): Update.
102985         * lib/c-strcasestr.c: Update.
102986         * modules/c-strstr (Depends-on): Update.
102987         * lib/c-strstr.c: Update.
102988         * modules/canonicalize-lgpl (Depends-on): Update.
102989         * lib/canonicalize-lgpl.c: Update.
102990         * modules/clean-temp (Depends-on): Update.
102991         * lib/clean-temp.c: Update.
102992         * modules/csharpcomp (Depends-on): Update.
102993         * lib/csharpcomp.c: Update.
102994         * modules/csharpexec (Depends-on): Update.
102995         * lib/csharpexec.c: Update.
102996         * modules/javacomp (Depends-on): Update.
102997         * lib/javacomp.c: Update.
102998         * modules/javaexec (Depends-on): Update.
102999         * lib/javaexec.c: Update.
103000         * modules/mbscasestr (Depends-on): Update.
103001         * lib/mbscasestr.c: Update.
103002         * modules/mbsstr (Depends-on): Update.
103003         * lib/mbsstr.c: Update.
103004         * modules/setenv (Depends-on): Update.
103005         * lib/setenv.c: Update.
103006         * modules/strcasestr (Depends-on): Update.
103007         * lib/strcasestr.c: Update.
103008         * modules/striconveha (Depends-on): Update.
103009         * lib/striconveha.c: Update.
103010         * modules/relocatable-prog-wrapper (Files): Update.
103011         * lib/relocwrapper.c: Update.
103012         * build-aux/install-reloc: Update.
103013         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
103015 2007-06-08  Bruno Haible  <bruno@clisp.org>
103017         Port to uClibc.
103018         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
103019         * lib/fpurge.c (fpurge): Likewise.
103020         * lib/freading.c (freading): Likewise.
103021         * lib/fseeko.c (rpl_fseeko): Likewise.
103022         * lib/fseterr.c (fseterr): Likewise.
103023         * lib/fwriting.c (fwriting): Likewise.
103024         * tests/test-fflush.c (main): Avoid a failure on uClibc.
103026 2007-06-08  Bruno Haible  <bruno@clisp.org>
103028         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
103029         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
103030         * modules/gettext (Files): Add m4/intlmacosx.m4.
103032 2007-06-07  Bruno Haible  <bruno@clisp.org>
103034         * modules/localename-tests: New file.
103035         * tests/test-localename.c: New file.
103037         New module 'localename'.
103038         * lib/localename.h: New file.
103039         * lib/localename.c: New file, from GNU gettext.
103040         * m4/localename.m4: New file.
103041         * modules/localename: New file.
103043 2007-06-07  Bruno Haible  <bruno@clisp.org>
103045         Work around the lack of <wchar.h> on some builds of uClibc.
103046         * doc/headers/wchar.texi: Update.
103047         * lib/wchar_.h: Include <wchar.h> only if it exists.
103048         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
103049         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
103050         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
103051         doesn't exist.
103052         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
103053         * modules/mbfile (Depends-on): Add wchar.
103054         * modules/mbiter (Depends-on): Likewise.
103055         * modules/mbuiter (Depends-on): Likewise.
103056         Reported by Simon Josefsson.
103058 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103060         Work around problem reported by Steven M. Schweda in
103061         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
103062         Tru64 5.1B with the Compaq compiler environment installed declares
103063         an 'isblank' function but does not define it in the C library.
103064         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
103065         * lib/regex_internal.h (isblank): Likewise.
103066         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
103067         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
103069 2007-06-05  Bruno Haible  <bruno@clisp.org>
103071         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
103072         ia64.
103073         * modules/printf-safe: New file.
103074         * modules/fprintf-posix (Depends-on): Add printf-safe.
103075         * modules/printf-posix (Depends-on): Likewise.
103076         * modules/snprintf-posix (Depends-on): Likewise.
103077         * modules/sprintf-posix (Depends-on): Likewise.
103078         * modules/vasnprintf-posix (Depends-on): Likewise.
103079         * modules/vasprintf-posix (Depends-on): Likewise.
103080         * modules/vfprintf-posix (Depends-on): Likewise.
103081         * modules/vprintf-posix (Depends-on): Likewise.
103082         * modules/vsnprintf-posix (Depends-on): Likewise.
103083         * modules/vsprintf-posix (Depends-on): Likewise.
103084         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
103085         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
103086         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
103087         "no" on i386, x86_64, ia64.
103088         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
103089         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103090         on i386, x86_64, ia64.
103091         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
103092         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103093         on i386, x86_64, ia64.
103094         * tests/test-vasnprintf-posix.c: Include float.h.
103095         (LDBL80_WORDS): New macro.
103096         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103097         on i386, x86_64, ia64.
103098         * tests/test-vasprintf-posix.c: Include float.h.
103099         (LDBL80_WORDS): New macro.
103100         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103101         on i386, x86_64, ia64.
103102         * tests/test-snprintf-posix.c: Include float.h.
103103         * tests/test-sprintf-posix.c: Likewise.
103104         * tests/test-vsnprintf-posix.c: Likewise.
103105         * tests/test-vsprintf-posix.c: Likewise.
103107 2007-06-05  Bruno Haible  <bruno@clisp.org>
103109         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
103110         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
103111         non-IEEE numbers on i386, x86_64, ia64.
103112         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
103113         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
103114         * tests/test-isnanl.h: Include float.h.
103115         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
103117 2007-06-05  Bruno Haible  <bruno@clisp.org>
103119         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
103120         also the %a / %A. Handle the %a / %A code before this extra handling.
103122 2007-06-05  Bruno Haible  <bruno@clisp.org>
103124         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
103125         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
103127 2007-06-05  Bruno Haible  <bruno@clisp.org>
103129         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
103130         typo in variable name.
103132 2007-06-05  Eric Blake  <ebb9@byu.net>
103134         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
103135         Reported by Simon Josefsson.
103137 2007-06-04  Bruno Haible  <bruno@clisp.org>
103139         Avoid test failures on some PowerPC platforms.
103140         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
103141         Define differently for PowerPC.
103142         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
103143         Reported by Gary V. Vaughan <gary@gnu.org>.
103145 2007-06-02  Bruno Haible  <bruno@clisp.org>
103147         Fix test-stdint failure on FreeBSD/ia64.
103148         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
103149         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
103150         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
103151         * doc/headers/stdint.texi: Update.
103153 2007-06-01  Bruno Haible  <bruno@clisp.org>
103155         * tests/test-binary-io.c (main): Pass a third argument to open().
103156         Reported by Gary V. Vaughan <gary@gnu.org>.
103158 2007-06-01  Bruno Haible  <bruno@clisp.org>
103160         * doc/functions/frexpl.texi: Update for mingw.
103162 2007-06-01  Bruno Haible  <bruno@clisp.org>
103164         * tests/test-lseek.c (main): Disable test of errno for invalid third
103165         argument.
103166         * doc/functions/lseek.texi: Update.
103167         Reported by Gary V. Vaughan <gary@gnu.org>.
103169 2007-05-28  Bruno Haible  <bruno@clisp.org>
103171         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
103173 2007-05-31  Eric Blake  <ebb9@byu.net>
103175         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
103176         cross compiling.
103178 2007-05-30  Eric Blake  <ebb9@byu.net>
103179         and Bruno Haible  <bruno@clisp.org>
103181         Work around mingw test failures exposed by m4-1.4.9b.
103182         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
103183         * tests/test-unistd.c: Disable uid_t and git_t tests for the
103184         moment.
103186 2007-05-30  Bruno Haible  <bruno@clisp.org>
103188         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
103189         assuming that they are closed. Needed on HP-UX 11.
103191 2007-05-29  Bruno Haible  <bruno@clisp.org>
103193         Fix a problem with #include_next.
103194         * lib/dirent_.h: Split the double-inclusion guard.
103195         * lib/fcntl_.h: Likewise.
103196         * lib/float_.h: Likewise.
103197         * lib/iconv_.h: Likewise.
103198         * lib/inttypes_.h: Likewise.
103199         * lib/locale_.h: Likewise.
103200         * lib/math_.h: Likewise.
103201         * lib/netinet_in_.h: Likewise.
103202         * lib/search_.h: Likewise.
103203         * lib/signal_.h: Likewise.
103204         * lib/stdint_.h: Likewise.
103205         * lib/stdio_.h: Likewise.
103206         * lib/stdlib_.h: Likewise.
103207         * lib/string_.h: Likewise.
103208         * lib/sys_select_.h: Likewise.
103209         * lib/sys_socket_.h: Likewise.
103210         * lib/sys_stat_.h: Likewise.
103211         * lib/sys_time_.h: Likewise.
103212         * lib/sysexits_.h: Likewise.
103213         * lib/time_.h: Likewise.
103214         * lib/unistd_.h: Likewise.
103215         * lib/wchar_.h: Likewise.
103216         * lib/wctype_.h: Likewise.
103218 2007-05-29  Bruno Haible  <bruno@clisp.org>
103220         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
103221         for the moment.
103223 2007-05-29  Bruno Haible  <bruno@clisp.org>
103225         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
103226         invocation.
103227         Reported by Eric Blake.
103229 2007-05-29  Bruno Haible  <bruno@clisp.org>
103231         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
103232         compiling case.
103234 2007-05-29  Eric Blake  <ebb9@byu.net>
103235             Bruno Haible  <bruno@clisp.org>
103237         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
103238         cross compiles.
103240 2007-05-28  Eric Blake  <ebb9@byu.net>
103242         * modules/closein-tests (test_closein_LDADD): Support test on
103243         cygwin with libtool.
103245 2007-05-28  Bruno Haible  <bruno@clisp.org>
103247         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
103248         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
103249         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
103250         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
103251         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
103252         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
103253         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
103254         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
103255         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
103257 2007-05-28  Eric Blake  <ebb9@byu.net>
103259         Unconditionally include <config.h> in unit tests.
103260         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
103261         * tests/test-allocsa.c, tests/test-arcfour.c,
103262         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
103263         tests/test-array_list.c, tests/test-array_oset.c,
103264         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
103265         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
103266         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
103267         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
103268         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
103269         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
103270         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
103271         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
103272         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
103273         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
103274         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
103275         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
103276         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
103277         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
103278         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
103279         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
103280         test-md5.c, test-memmem.c, test-printf-posix.c,
103281         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
103282         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
103283         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
103284         test-strcasestr.c, test-striconv.c, test-striconveh.c,
103285         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
103286         test-vasnprintf-posix2.c, test-vasnprintf.c,
103287         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
103288         test-vfprintf-posix.c, test-vprintf-posix.c,
103289         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
103290         test-xvasprintf.c: Likewise.
103292 2007-05-28  Bruno Haible  <bruno@clisp.org>
103294         * gnulib-tool (func_import): Remember the --with-tests command-line
103295         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
103296         Reported by Eric Blake.
103298 2007-05-28  Bruno Haible  <bruno@clisp.org>
103300         * modules/ftell-tests: New file.
103301         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
103302         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
103304         * lib/ftell.c: New file.
103305         * modules/ftell: New file.
103306         * m4/ftell.m4: New file.
103307         * doc/functions/ftell.texi: Update.
103308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
103309         REPLACE_FTELL.
103310         * lib/stdio_.h (rpl_ftell): New declaration.
103311         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
103312         REPLACE_FTELL.
103314 2007-05-28  Eric Blake  <ebb9@byu.net>
103316         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
103318 2007-05-28  Bruno Haible  <bruno@clisp.org>
103320         * modules/fseek-tests: New file.
103321         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
103322         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
103324         * lib/fseek.c: New file.
103325         * modules/fseek: New file.
103326         * m4/fseek.m4: New file.
103327         * doc/functions/fseek.texi: Update.
103328         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
103329         REPLACE_FSEEK.
103330         * lib/stdio_.h (rpl_fseek): New declaration.
103331         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
103332         REPLACE_FSEEK.
103334 2007-05-28  Bruno Haible  <bruno@clisp.org>
103336         * lib/stdio_.h (fflush): More comments.
103338 2007-05-28  Bruno Haible  <bruno@clisp.org>
103340         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
103341         runtime test.
103343 2007-05-28  Eric Blake  <ebb9@byu.net>
103345         Improve lseek module.
103346         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
103347         * lib/unistd_.h (lseek): Scale back link warning message.
103348         * tests/test-lseek.c: Beef up test.
103349         * tests/test-lseek.sh: Exercise more facets of lseek.
103350         Reported by Bruno Haible.
103352 2007-05-28  Bruno Haible  <bruno@clisp.org>
103354         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
103355         to define.
103357 2007-05-27  Bruno Haible  <bruno@clisp.org>
103359         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
103361 2007-05-27  Bruno Haible  <bruno@clisp.org>
103363         * modules/openmp: New file.
103364         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
103365         Noah Misch.
103367 2007-05-26  Bruno Haible  <bruno@clisp.org>
103369         * modules/chdir-long (Depends-on): Add fchdir.
103370         * modules/chdir-safer (Depends-on): Likewise.
103371         * modules/fts (Depends-on): Likewise.
103372         * modules/fts-lgpl (Depends-on): Likewise.
103373         * modules/openat (Depends-on): Likewise.
103374         * modules/savewd (Depends-on): Likewise.
103376 2007-05-24  Eric Blake  <ebb9@byu.net>
103378         Fix lseek on mingw.
103379         * modules/lseek: New module.
103380         * m4/lseek.m4: New file.
103381         * lib/lseek.c: New file.
103382         * modules/lseek-tests: New file.
103383         * tests/test-lseek.c: New file.
103384         * tests/test-lseek.sh: New file.
103385         * MODULES.html.sh: Document lseek module.
103386         * modules/fflush (Depends-on): Add lseek, fseeko.
103387         * modules/fseeko (Depends-on): Likewise.
103388         * modules/ftello (Depends-on): Likewise.
103389         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
103390         broken.
103391         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
103392         broken.
103393         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
103394         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
103395         * lib/ftello.c (rpl_ftello): Likewise.
103396         * tests/test-fseeko.c (main): Test this.
103397         * tests/test-fseeko.sh: Likewise.
103398         * tests/test-ftello.c (main): Likewise.
103399         * tests/test-ftello.sh: Likewise.
103400         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
103401         implies replacing fseek.
103402         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
103403         HAVE_FTELLO.
103404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
103405         * modules/unistd (Makefile.am): Likewise.
103406         * lib/unistd_.h (lseek): Declare a replacement.
103407         * doc/functions/lseek.texi (lseek): Document this fix.
103408         * doc/functions/fseek.texi (fseek): Likewise.
103409         * doc/functions/ftell.texi (ftell): Likewise.
103411 2007-05-24  Bruno Haible  <bruno@clisp.org>
103413         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
103414         in the printed representation of a NaN.
103415         * tests/test-vasprintf-posix.c (test_function): Likewise.
103416         * tests/test-snprintf-posix.h (test_function): Likewise.
103417         * tests/test-sprintf-posix.h (test_function): Likewise.
103418         Reported by Eric Blake.
103420 2007-05-23  Eric Blake  <ebb9@byu.net>
103422         Fix fseeko/ftello on cygwin 1.5.24.
103423         * doc/functions/fseeko.texi (fseeko): Document the fix.
103424         * doc/functions/ftello.texi (ftello): Document the fix.
103425         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
103426         * doc/functions/stdout.text (stdout): New file.
103427         * doc/functions/stderr.text (stderr): New file.
103428         * doc/gnulib.texi (Function Substitutes): Use new files.
103429         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
103430         prior to 1.7.0.
103431         * tests/test-ftello.c (main): Likewise for ftello.
103432         * tests/test-fseeko.sh: New file.
103433         * tests/test-ftello.sh: New file.
103434         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
103435         with seekable stdin.
103436         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
103437         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
103438         (gl_REPLACE_FSEEKO): New macro.
103439         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
103440         * modules/fseeko (Files): Distribute fseeko.c.
103441         * modules/ftello (Files): Distribute ftello.c.
103442         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
103443         mode.
103444         * lib/ftello.c (rpl_ftello): New file.
103445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
103446         fseeko, ftello.
103447         (gl_STDIN_LARGE_OFFSET): New macro.
103448         * modules/stdio (Makefile.am): Perform the replacement.
103449         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
103451 2007-05-23  Bruno Haible  <bruno@clisp.org>
103453         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
103454         GNULIB_POSIXCHECK is defined.
103456 2007-05-21  Bruno Haible  <bruno@clisp.org>
103458         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
103459         Check also the output for NaN arguments. When cross-compiling, guess
103460         no on IRIX.
103461         * lib/vasnprintf.c: Update comments.
103462         * tests/test-vasnprintf-posix.c (strisnan): New function.
103463         (test_function): Use it.
103464         * tests/test-vasprintf-posix.c (strisnan): New function.
103465         (test_function): Use it.
103466         * tests/test-snprintf-posix.h (strisnan): New function.
103467         (test_function): Use it.
103468         * tests/test-sprintf-posix.h (strisnan): New function.
103469         (test_function): Use it.
103470         Reported by Eric Blake.
103472 2007-05-20  Bruno Haible  <bruno@clisp.org>
103474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
103475         numbers that fails on BeOS.
103476         * doc/functions/frexpl.texi: Update.
103478 2007-05-20  Jim Meyering  <jim@meyering.net>
103480         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
103481         forced upon us by glibc-2.6.
103483 2007-05-20  Bruno Haible  <bruno@clisp.org>
103485         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
103486         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
103487         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
103488         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
103489         NEED_PRINTF_INFINITE.
103490         (is_infinitel): New function.
103491         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
103492         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
103493         gl_PREREQ_VASNPRINTF_INFINITE.
103494         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
103495         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103496         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
103497         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
103498         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
103499         gl_PREREQ_VASNPRINTF_INFINITE.
103500         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103501         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103502         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103503         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103504         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103505         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103506         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103507         * doc/functions/fprintf.texi: Update.
103508         * doc/functions/printf.texi: Update.
103509         * doc/functions/snprintf.texi: Update.
103510         * doc/functions/sprintf.texi: Update.
103511         * doc/functions/vfprintf.texi: Update.
103512         * doc/functions/vprintf.texi: Update.
103513         * doc/functions/vsnprintf.texi: Update.
103514         * doc/functions/vsprintf.texi: Update.
103516 2007-05-20  Bruno Haible  <bruno@clisp.org>
103518         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
103519         was not found in libc.
103520         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
103522 2007-05-20  Bruno Haible  <bruno@clisp.org>
103524         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
103525         printed as "-nan" instead of "nan".
103526         * tests/test-vasprintf-posix.c (test_function): Likewise.
103527         * tests/test-snprintf-posix.h (test_function): Likewise.
103528         * tests/test-sprintf-posix.h (test_function): Likewise.
103529         Needed for HP-UX 11.
103531 2007-05-20  Jim Meyering  <jim@meyering.net>
103533         Fix buggy test for the fchownat-deref bug.
103534         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
103535         symlink required for the run-test.  Without it, this test would
103536         always declare that fchownat doesn't work, and client code would
103537         unnecessarily use the replacement function with fixed libc.
103538         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
103539         Reported by Greg Schafer.
103541 2007-05-19  Bruno Haible  <bruno@clisp.org>
103543         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
103544         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
103545         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
103546         Needed for IRIX 6.5 and Solaris 2.5.1.
103548 2007-05-19  Bruno Haible  <bruno@clisp.org>
103550         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
103551         (test_function): Skip tests involving -0.0 on platforms where
103552         -0.0 = 0.0.
103553         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
103554         (test_function): Skip tests involving -0.0 on platforms where
103555         -0.0 = 0.0.
103556         * tests/test-snprintf-posix.h (have_minus_zero): New function.
103557         (test_function): Skip tests involving -0.0 on platforms where
103558         -0.0 = 0.0.
103559         * tests/test-sprintf-posix.h (have_minus_zero): New function.
103560         (test_function): Skip tests involving -0.0 on platforms where
103561         -0.0 = 0.0.
103562         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
103563         tests.
103564         * tests/test-printf-posix.h (test_function): Likewise.
103565         * tests/test-printf-posix.output: Remove all -0.0 related results.
103566         Needed for IRIX 6.5.
103568 2007-05-19  Bruno Haible  <bruno@clisp.org>
103570         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
103571         printed as "nan0x7fffffff" instead of "nan".
103572         * tests/test-vasprintf-posix.c (test_function): Likewise.
103573         * tests/test-snprintf-posix.h (test_function): Likewise.
103574         * tests/test-sprintf-posix.h (test_function): Likewise.
103575         * tests/test-fprintf-posix.h (NaN): Remove macro.
103576         (test_function): Remove all NaN related tests.
103577         * tests/test-printf-posix.h (NaN): Remove macro.
103578         (test_function): Remove all NaN related tests.
103579         * tests/test-printf-posix.output: Remove all NaN related results.
103580         Needed for IRIX 6.5.
103582 2007-05-19  Bruno Haible  <bruno@clisp.org>
103584         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
103585         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
103587 2007-05-19  Bruno Haible  <bruno@clisp.org>
103589         * lib/float_.h: New file.
103590         * m4/float_h.m4: New file.
103591         * modules/float: New file.
103592         * modules/isnanl (Dependencies): Add float.
103593         * modules/isnanl-nolibm (Dependencies): Likewise.
103594         * modules/mathl (Dependencies): Likewise.
103595         * modules/printf-frexpl (Dependencies): Likewise.
103596         * modules/signbit (Dependencies): Likewise.
103597         * modules/vasnprintf (Dependencies): Likewise.
103598         * doc/headers/float.texi: Update.
103600 2007-05-19  Jim Meyering  <jim@meyering.net>
103602         * lib/utimens.c (gl_futimens): Rename from futimens,
103603         now that glibc-2.6 declares futimens.
103604         * lib/utimens.h: Likewise.
103606 2007-05-19  Bruno Haible  <bruno@clisp.org>
103608         Avoid test failures on mingw.
103609         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
103610         * tests/test-printf-posix.sh: Likewise.
103611         * tests/test-vfprintf-posix.sh: Likewise.
103612         * tests/test-vprintf-posix.sh: Likewise.
103614 2007-05-19  Bruno Haible  <bruno@clisp.org>
103616         Fix *printf result for NaN, Inf, -0.0 on mingw.
103617         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
103618         * lib/vasnprintf.c: Include math.h and isnan.h.
103619         (is_infinite_or_zero): New function.
103620         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
103621         values in the %f, %F, %e, %E, %g, %G directives.
103622         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
103623         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103624         gl_PRINTF_INFINITE and test its result. Invoke
103625         gl_PREREQ_VASNPRINTF_INFINITE.
103626         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103627         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103628         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103629         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103630         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103631         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103632         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103633         * doc/functions/fprintf.texi: Update.
103634         * doc/functions/printf.texi: Update.
103635         * doc/functions/snprintf.texi: Update.
103636         * doc/functions/sprintf.texi: Update.
103637         * doc/functions/vfprintf.texi: Update.
103638         * doc/functions/vprintf.texi: Update.
103639         * doc/functions/vsnprintf.texi: Update.
103640         * doc/functions/vsprintf.texi: Update.
103642 2007-05-19  Bruno Haible  <bruno@clisp.org>
103644         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
103645         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
103646         Instead of multiplying with 10^k, set extra_zeroes to k.
103647         (scale10_round_long_double): Remove function.
103649 2007-05-18  Bruno Haible  <bruno@clisp.org>
103651         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
103652         introduced on 2007-05-06.
103654 2007-05-18  Bruno Haible  <bruno@clisp.org>
103656         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
103657         %g directives.
103658         * tests/test-vasprintf-posix.c (test_function): Likewise.
103659         * tests/test-snprintf-posix.h (test_function): Likewise.
103660         * tests/test-sprintf-posix.h (test_function): Likewise.
103662 2007-05-18  Bruno Haible  <bruno@clisp.org>
103664         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
103665         (strmatch): New function.
103666         (test_function): Test the %f directive on numbers of various exponents.
103667         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
103668         (strmatch): New function.
103669         (test_function): Test the %f directive on numbers of various exponents.
103670         * tests/test-snprintf-posix.h (strmatch): New function.
103671         (test_function): Test the %f directive on numbers of various exponents.
103672         * tests/test-sprintf-posix.h (strmatch): New function.
103673         (test_function): Test the %f directive on numbers of various exponents.
103674         * tests/test-snprintf-posix.c (SIZEOF): New macro.
103675         * tests/test-sprintf-posix.c (SIZEOF): New macro.
103676         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
103677         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
103679 2007-05-18  Bruno Haible  <bruno@clisp.org>
103681         Add support for 'long double' number output.
103682         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
103683         * lib/vasnprintf.c: Include math.h and float+.h.
103684         (mp_limb_t): New type.
103685         (GMP_LIMB_BITS): New macro.
103686         (mp_twolimb_t): New type.
103687         (GMP_TWOLIMB_BITS): New macro.
103688         (mpn_t): New type.
103689         (multiply, divide, convert_to_decimal, decode_long_double,
103690         scale10_round_long_double, scale10_round_decimal_long_double,
103691         floorlog10l): New functions.
103692         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
103693         for the %f, %F, %e, %E, %g, %G directives.
103694         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
103695         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103696         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
103697         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
103698         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
103699         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103700         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103701         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103702         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103703         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103704         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103705         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
103706         * modules/snprintf-posix (Depends-on): Likewise.
103707         * modules/sprintf-posix (Depends-on): Likewise.
103708         * modules/vasnprintf-posix (Depends-on): Likewise.
103709         * modules/vasprintf-posix (Depends-on): Likewise.
103710         * modules/vfprintf-posix (Depends-on): Likewise.
103711         * modules/vsnprintf-posix (Depends-on): Likewise.
103712         * modules/vsprintf-posix (Depends-on): Likewise.
103713         * modules/vasnprintf (Files): Add lib/float+.h.
103714         * doc/functions/fprintf.texi: Update.
103715         * doc/functions/printf.texi: Update.
103716         * doc/functions/snprintf.texi: Update.
103717         * doc/functions/sprintf.texi: Update.
103718         * doc/functions/vfprintf.texi: Update.
103719         * doc/functions/vprintf.texi: Update.
103720         * doc/functions/vsnprintf.texi: Update.
103721         * doc/functions/vsprintf.texi: Update.
103723 2007-05-18  Bruno Haible  <bruno@clisp.org>
103725         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
103727 2007-05-18  Bruno Haible  <bruno@clisp.org>
103729         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
103730         for printing 64-bit integers. Needed for mingw.
103732 2007-05-18  Bruno Haible  <bruno@clisp.org>
103734         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
103735         gl_FUNC_FREXPL_WORKS.
103736         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
103738 2007-05-18  Bruno Haible  <bruno@clisp.org>
103740         * modules/frexpl-nolibm-tests: New file.
103742         * modules/frexpl-nolibm: New file.
103743         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
103745 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
103747         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
103748         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
103749         GCC 4.2, which otherwise issues a lot of warnings.
103750         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
103751         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
103752         Likewise.
103753         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
103754         * modules/iconv_open (iconv.h): Likewise.
103755         * modules/locale (locale.h): Likewise.
103756         * modules/netinet_in (netinet/in.h): Likewise.
103757         * modules/sys_select (sys_select.h): Likewise.
103758         * modules/sys_socket (sys/socket.h): Likewise.
103759         * modules/sys_stat (sys/stat.h): Likewise.
103760         * modules/sysexits (sysexits.h): Likewise.
103761         * modules/unistd (unistd.h): Likewise.
103763 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103765         * modules/closein-tests (Makefile.am): Distribute
103766         `test-closein.sh'.
103768 2007-05-17  Bruno Haible  <bruno@clisp.org>
103770         * tests/test-printf-posix.output: Renamed from
103771         tests/test-fprintf-posix.out.
103772         * modules/fprintf-posix-tests: Update.
103773         * modules/printf-posix-tests: Update.
103774         * modules/vfprintf-posix-tests: Update.
103775         * modules/vprintf-posix-tests: Update.
103776         * tests/test-fprintf-posix.sh: Update.
103777         * tests/test-printf-posix.sh: Update.
103778         * tests/test-vfprintf-posix.sh: Update.
103779         * tests/test-vprintf-posix.sh: Update.
103780         Reported by Ralf Wildenhues.
103782 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
103784         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
103785         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
103786         GCC 4.2, which otherwise issues a lot of warnings.
103787         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
103788         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
103789         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
103790         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
103791         it should no longer be needed.
103792         * lib/string_.h: Likewise.
103793         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
103794         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
103795         * modules/inttypes (inttypes.h): Likewise.
103796         * modules/math (math.h): Likewise.
103797         * modules/search (search.h): Likewise.
103798         * modules/signal (signal.h): Likewise.
103799         * modules/stdint (stdint.h): Likewise.
103800         * modules/stdio (stdio.h): Likewise.
103801         * modules/stdlib (stdlib.h): Likewise.
103802         * modules/string (string.h): Likewise.
103803         * modules/sys_time (sys/time.h): Likewise.
103804         * modules/time (time.h): Likewise.
103805         * modules/wchar (wchar.h): Likewise.
103806         * modules/wctype (wtype.h): Likewise.
103808 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
103810         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
103812 2007-05-13  Bruno Haible  <bruno@clisp.org>
103814         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
103815         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
103816         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
103817         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
103818         (gl_PREREQ_STRTOK_R): Don't require it here.
103820 2007-05-13  Bruno Haible  <bruno@clisp.org>
103822         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
103823         when used in C++ mode.
103825 2007-05-12  Bruno Haible  <bruno@clisp.org>
103827         * lib/linebuffer.h: Tweak doc.
103828         * lib/linebuffer.c: Likewise.
103830 2007-05-12  James Youngman  <jay@gnu.org>
103832         * lib/linebuffer.c (readlinebuffer_delim): New function,
103833         like readlinebuffer, but use a caller-specified delimiter.
103834         (readlinebuffer): Just call readlinebuffer_delim with '\n'
103835         as the delimiter.
103836         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
103838 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
103840         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
103841         * modules/openat (Files): Remove openat-die.c.
103842         (Depends-on): Add openat-die.
103843         * modules/openat-die: New module.
103845 2007-05-06  Bruno Haible  <bruno@clisp.org>
103847         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
103848         Update with info about Cygwin.
103849         * doc/functions/fprintf.texi: Update.
103850         * doc/functions/printf.texi: Update.
103851         * doc/functions/snprintf.texi: Update.
103852         * doc/functions/sprintf.texi: Update.
103853         * doc/functions/vfprintf.texi: Update.
103854         * doc/functions/vprintf.texi: Update.
103855         * doc/functions/vsnprintf.texi: Update.
103856         * doc/functions/vsprintf.texi: Update.
103857         Reported by Eric Blake.
103859 2007-05-06  Bruno Haible  <bruno@clisp.org>
103861         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
103862         padding ourselves for the floating-point directives.
103863         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
103864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
103865         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
103866         gl_PRINTF_FLAG_ZERO and test its result. Invoke
103867         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
103868         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103869         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
103870         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103871         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103872         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103873         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103874         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103875         * tests/test-snprintf-posix.h (test_function): Also check the width
103876         and some flags in the %f directive.
103877         * tests/test-sprintf-posix.h (test_function): Likewise.
103878         * tests/test-vasnprintf-posix.c (test_function): Likewise.
103879         * tests/test-vasprintf-posix.c (test_function): Likewise.
103880         * doc/functions/fprintf.texi: Update.
103881         * doc/functions/printf.texi: Update.
103882         * doc/functions/snprintf.texi: Update.
103883         * doc/functions/sprintf.texi: Update.
103884         * doc/functions/vfprintf.texi: Update.
103885         * doc/functions/vprintf.texi: Update.
103886         * doc/functions/vsnprintf.texi: Update.
103887         * doc/functions/vsprintf.texi: Update.
103889 2007-05-06  Bruno Haible  <bruno@clisp.org>
103891         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
103892         pass the ' flag character to sprintf or snprintf.
103893         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
103894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
103895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
103896         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
103897         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
103898         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
103899         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
103900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
103901         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
103902         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
103903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
103904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
103905         * tests/test-snprintf-posix.h (test_function): Also check the grouping
103906         flag.
103907         * tests/test-sprintf-posix.h (test_function): Likewise.
103908         * tests/test-vasnprintf-posix.c (test_function): Likewise.
103909         * tests/test-vasprintf-posix.c (test_function): Likewise.
103910         * doc/functions/fprintf.texi: Update.
103911         * doc/functions/printf.texi: Update.
103912         * doc/functions/snprintf.texi: Update.
103913         * doc/functions/sprintf.texi: Update.
103914         * doc/functions/vfprintf.texi: Update.
103915         * doc/functions/vprintf.texi: Update.
103916         * doc/functions/vsnprintf.texi: Update.
103917         * doc/functions/vsprintf.texi: Update.
103919 2007-05-01  Bruno Haible  <bruno@clisp.org>
103921         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
103923 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
103925         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
103926         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
103928 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
103930         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
103931         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
103932         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
103934 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
103936         * lib/argp-help.c (struct hol_entry): New member `ord'.
103937         (HOL_ENTRY_PTRCMP): Use ord for comparison
103938         (hol_sort): Initialize ord.
103940 2007-05-01  Bruno Haible  <bruno@clisp.org>
103942         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
103943         Reported by Eric Blake.
103944         * doc/gnulib.texi (Function Substitutes): Update.
103946 2007-05-01  Bruno Haible  <bruno@clisp.org>
103948         * doc/functions.texi: Remove file, now redundant through
103949         doc/functions/*.texi.
103951 2007-05-01  Bruno Haible  <bruno@clisp.org>
103953         * modules/argp (Depends-on): Add sleep.
103955 2007-05-01  Bruno Haible  <bruno@clisp.org>
103957         * modules/sleep-tests: New file.
103958         * tests/test-sleep.c: New file.
103960         * modules/sleep: New file.
103961         * lib/sleep.c: New file.
103962         * m4/sleep.m4: New file.
103963         * lib/unistd_.h (sleep): New declaration.
103964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
103965         HAVE_SLEEP.
103966         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
103967         * doc/functions/sleep.texi: Document the sleep module.
103969 2007-05-01  Bruno Haible  <bruno@clisp.org>
103971         * lib/sigprocmask.h: Remove file.
103972         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
103973         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
103974         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
103975         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
103976         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
103977         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
103978         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
103979         HAVE_SIGSET_T as a shell variable.
103980         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
103981         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
103982         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
103983         (Depends-on): Add signal. Remove verify.
103984         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
103985         (Include): Mention <signal.h> instead of sigprocmask.h.
103986         * NEWS: Mention the change.
103987         * lib/fatal-signal.c: Don't include sigprocmask.h.
103989 2007-05-01  Bruno Haible  <bruno@clisp.org>
103991         * modules/signal: New file.
103992         * lib/signal_.h: New file.
103993         * m4/signal_h.m4: New file.
103995 2007-05-01  Bruno Haible  <bruno@clisp.org>
103997         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
103998         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
103999         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
104000         HAVE_WCTYPE_CTMP_BUG into wctype.h.
104002 2007-05-01  Bruno Haible  <bruno@clisp.org>
104004         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
104005         configure time.
104006         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
104007         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
104008         * modules/sys_stat (Makefile.am): Substitute their values into
104009         sys/stat.h.
104011 2007-05-01  Bruno Haible  <bruno@clisp.org>
104013         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
104014         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
104015         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
104017 2007-05-01  Bruno Haible  <bruno@clisp.org>
104019         * doc/header/assert.texi: Undo last change: don't mention the gnulib
104020         'assert' module here.
104022 2007-05-01  Bruno Haible  <bruno@clisp.org>
104024         * doc/functions/*.texi: New files.
104025         * doc/functions/google-ranking.txt: New file.
104026         * doc/gnulib.texi (Function Substitutes): New chapter.
104027         (ctime, inet_ntoa): Remove sections.
104028         * doc/ctime.texi: Remove file.
104029         * doc/inet_ntoa.texi: Remove file.
104030         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
104031         dependencies.
104032         (%.info): New rule, specifying a --reference-limit.
104034 2007-05-01  Bruno Haible  <bruno@clisp.org>
104036         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
104038 2007-05-01  Bruno Haible  <bruno@clisp.org>
104040         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
104041         the portability of 'mkdir' to mingw systems.
104043 2007-05-01  Bruno Haible  <bruno@clisp.org>
104045         * doc/headers/google-ranking.txt: New file.
104047 2007-04-30  Eric Blake  <ebb9@byu.net>
104049         Prefer fseeko to fseek.
104050         * modules/getpass (Depends-on): Add fseeko.
104051         * lib/getpass.c (getpass): Use fseeko, not fseek.
104053 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
104055         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
104056         assumes the sorting is stable, while most qsort implementations
104057         are not.  Use argument addresses to ensure they never compare as
104058         equal.
104060         * tests/test-argp-2.sh (usage-indent test): Fix output
104061         (func_compare): Restore diff options
104062         * tests/test-argp.c: Restore #include "progname.h"
104064 2007-04-29  Bruno Haible  <bruno@clisp.org>
104066         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
104067         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104068         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
104069         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104070         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
104071         (configure.ac): Define CHECK_SNPRINTF_POSIX.
104072         (TESTS, check_PROGRAMS): Add test-snprintf.
104073         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
104074         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
104075         (TESTS, check_PROGRAMS): Add test-vsnprintf.
104076         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
104077         assertions that fail on HP-UX, OSF/1, or IRIX.
104078         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
104080 2007-04-29  Bruno Haible  <bruno@clisp.org>
104082         * MODULES.html.sh (posix_functions): Remove 'contents'.
104084 2007-04-29  Karl Berry  <karl@gnu.org>
104086         * config/srclist.txt (gendocs_template_min): new entry.
104088 2007-04-29  Bruno Haible  <bruno@clisp.org>
104090         Work around fpurge bug on BSD systems.
104091         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
104092         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
104093         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
104094         fpurge to rpl_fpurge if the system already has this function.
104095         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
104096         the case where the system already has this function. Correct invariants
104097         on BSD systems.
104098         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
104099         BSD systems.
104101 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
104103         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
104104         proposed by Sven Verdoolaege.
104106         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
104107         options.
104108         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
104109         (usage and help tests): Update
104111 2007-04-29  Bruno Haible  <bruno@clisp.org>
104113         * tests/test-fflush.c (main): Use a file of size 17, not 10.
104114         Print more information in case of failure. Disable a test on BeOS.
104116 2007-04-29  Bruno Haible  <bruno@clisp.org>
104118         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
104119         This helps debugging on systems on which no gdb is available.
104121 2007-04-29  Bruno Haible  <bruno@clisp.org>
104123         * lib/freading.h: Improve comments.
104124         * lib/fwriting.h: Likewise.
104125         * tests/test-freading.c (main): Don't check freading immediately after
104126         repositioning. Needed for glibc.
104128 2007-04-29  Bruno Haible  <bruno@clisp.org>
104130         * lib/freading.c (freading): Trivial simplification.
104132 2007-04-28  Bruno Haible  <bruno@clisp.org>
104134         * tests/test-fwriting.c (main): Also test the interaction between
104135         fflush and fwriting.
104136         * modules/fwriting-tests (Depends-on): Add fflush.
104138         * tests/test-freading.c (main): Also test the interaction between
104139         fflush and freading.
104140         * modules/freading-tests (Depends-on): Add fflush.
104142 2007-04-28  Bruno Haible  <bruno@clisp.org>
104144         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
104145         fseeko and ftello.
104146         Suggested by Eric Blake.
104148 2007-04-28  Jim Meyering  <jim@meyering.net>
104150         Avoid false-negative in gl_STDINT_H's C99 conformance test.
104151         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
104152         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
104154 2007-04-27  Eric Blake  <ebb9@byu.net>
104156         * doc/headers/assert.texi (assert.h): Document assert module use.
104158 2007-04-27  Bruno Haible  <bruno@clisp.org>
104160         * doc/headers/*.texi: New files.
104161         * doc/gnulib.texi (Header File Substitutes): New chapter.
104162         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
104163         dependencies.
104164         (standards.info ,standards.html, standards.dvi): Update dependencies.
104165         (mostlyclean, clean): New targets.
104167 2007-04-27  Bruno Haible  <bruno@clisp.org>
104169         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
104170         * modules/sysexits (Files, Makefile.am): Update.
104172         * lib/sys_socket_.h: Renamed from lib/socket_.h.
104173         * modules/sys_socket (Files, Makefile.am): Update.
104175         * lib/sys_stat_.h: Renamed from lib/stat_.h.
104176         * modules/sys_stat (Files, Makefile.am): Update.
104178 2007-04-27  Eric Blake  <ebb9@byu.net>
104180         * lib/freading.h: Improve comments.
104181         * lib/fwriting.h: Likewise.
104182         * lib/fflush.c: Likewise.
104184         Fix closein for mingw.
104185         * modules/closein-tests: Add tests for closein.
104186         * tests/test-closein.c: New file.
104187         * tests/test-closein.sh: Likewise.
104188         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
104189         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
104191 2007-04-27  Bruno Haible  <bruno@clisp.org>
104193         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
104194         version is < 6.
104195         * lib/math_.h [__DECC]: Likewise.
104196         * lib/stdio_.h [__DECC]: Likewise.
104197         * lib/stdlib_.h [__DECC]: Likewise.
104198         * lib/string_.h [__DECC]: Likewise.
104199         * lib/time_.h [__DECC]: Likewise.
104200         * lib/wchar_.h [__DECC]: Likewise.
104201         * lib/wctype_.h [__DECC]: Likewise.
104203 2007-04-27  Bruno Haible  <bruno@clisp.org>
104205         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
104207 2007-04-27  Bruno Haible  <bruno@clisp.org>
104209         * lib/fflush.c: Add comments.
104210         * modules/fpurge-tests (Depends-on): Add fflush.
104211         * modules/freadable-tests (Depends-on): Likewise.
104212         * modules/fwritable-tests (Depends-on): Likewise.
104214 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
104216         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
104217         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
104218         Report by Bruno Haible <bruno@clisp.org>.
104220 2007-04-26  Eric Blake  <ebb9@byu.net>
104222         Fix fflush on mingw.
104223         * modules/fflush (Depends-on): Add freading.
104224         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
104225         but unread data.
104227 2007-04-26  Eric Blake  <ebb9@byu.net>
104228         and Bruno Haible  <bruno@clisp.org>
104230         Implement freading and fwriting.
104231         * lib/freading.c: New file.
104232         * lib/freading.h: Likewise.
104233         * m4/freading.m4: Likewise.
104234         * modules/freading: Likewise.
104235         * modules/freading-tests: Likewise.
104236         * tests/test-freading.c: Likewise.
104237         * lib/fwriting.c: New file.
104238         * lib/fwriting.h: Likewise.
104239         * m4/fwriting.m4: Likewise.
104240         * modules/fwriting: Likewise.
104241         * modules/fwriting-tests: Likewise.
104242         * tests/test-fwriting.c: Likewise.
104243         * MODULES.html.sh (File stream based Input/Output): Mention them.
104245 2007-04-26  Bruno Haible  <bruno@clisp.org>
104247         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
104248         'long' when we assume it.
104249         Suggested by Eric Blake.
104251 2007-04-26  Bruno Haible  <bruno@clisp.org>
104253         Ensure fseeko, ftello are declared on glibc systems.
104254         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
104255         * modules/fseeko (configure.ac-early): Likewise.
104256         * modules/ftello (configure.ac-early): Likewise.
104257         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
104258         AC_FUNC_FSEEKO for this.
104259         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
104260         (gl_CHECK_FSEEKO): Remove macro.
104262 2007-04-26  Bruno Haible  <bruno@clisp.org>
104264         * tests/test-fflush.c (main): Also check the ftell result after
104265         fflush and fseek/fseeko.
104266         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
104267         file descriptor position cache in the stream.
104268         * lib/fseeko.c (rpl_fseeko): Likewise.
104270 2007-04-26  Bruno Haible  <bruno@clisp.org>
104272         * modules/fflush-tests (Depends-on): Add fseeko.
104274 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
104275             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104277         * lib/argz_.h: ensure error_t definition is obtained in same
104278         mechanism system argz.h would have.
104279         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
104280         argz facilities are known bad.  Err on the side of caution if
104281         cross-compiling.
104283 2007-04-25  Eric Blake  <ebb9@byu.net>
104285         * lib/fpurge.c (includes): Use stdlib.h for free.
104286         * tests/test-fflush.c (main): Also test fflush-fseeko.
104288 2007-04-25  Bruno Haible  <bruno@clisp.org>
104290         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
104291         * lib/fseeko.c: New file.
104292         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
104293         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
104294         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
104295         gl_FUNC_FSEEKO.
104296         (gl_FUNC_FSEEKO): Invoke it.
104297         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
104298         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
104299         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
104301 2007-04-25  Bruno Haible  <bruno@clisp.org>
104303         * modules/fflush (Depends-on): Add ftello.
104305 2007-04-25  Bruno Haible  <bruno@clisp.org>
104307         * modules/ftello-tests: New file.
104308         * tests/test-ftello.c: New file.
104310         * modules/ftello: New file.
104311         * m4/ftello.m4: New file.
104312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
104313         HAVE_FTELLO.
104314         * lib/stdio_.h (ftello): New declaration.
104315         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
104316         HAVE_FTELLO.
104318 2007-04-25  Bruno Haible  <bruno@clisp.org>
104320         * modules/fseeko-tests: New file.
104321         * tests/test-fseeko.c: New file.
104323         * modules/fseeko: New file.
104324         * m4/fseeko.m4: New file.
104325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
104326         HAVE_FSEEKO.
104327         * lib/stdio_.h (fseeko): New declaration.
104328         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
104329         HAVE_FSEEKO.
104331 2007-04-25  Bruno Haible  <bruno@clisp.org>
104333         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
104335 2007-04-25  Bruno Haible  <bruno@clisp.org>
104337         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
104338         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
104339         * tests/test-unistd.c: Likewise.
104340         * tests/test-fcntl.c: Likewise.
104342 2007-04-23  Eric Blake  <ebb9@byu.net>
104344         * lib/fflush.c: Fix missing include.
104345         Reported by Bruno Haible.
104347 2007-04-23  Bruno Haible  <bruno@clisp.org>
104349         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
104350         Reported by Eric Blake.
104352 2007-04-23  Bruno Haible  <bruno@clisp.org>
104354         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
104356 2007-04-23  Bruno Haible  <bruno@clisp.org>
104358         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
104360 2007-04-23  Bruno Haible  <bruno@clisp.org>
104362         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
104363         Needed on HP-UX 11.
104365 2007-04-16  Eric Blake  <ebb9@byu.net>
104367         Make fflush rely on fpurge.
104368         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
104369         open coding all variants.
104370         * modules/fflush (Depends-on): Add fpurge and unistd.
104371         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
104372         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
104374         Fix --with-tests compilation on cygwin.
104375         * modules/argmatch-tests (Makefile.am): List gnulib library first
104376         in LDADD.
104377         * modules/argp-tests (Makefile.am): Likewise.
104378         * modules/array-list-tests (Makefile.am): Likewise.
104379         * modules/array-oset-tests (Makefile.am): Likewise.
104380         * modules/avltree-list-tests (Makefile.am): Likewise.
104381         * modules/avltree-oset-tests (Makefile.am): Likewise.
104382         * modules/avltreehash-list-tests (Makefile.am): Likewise.
104383         * modules/carray-list-tests (Makefile.am): Likewise.
104384         * modules/dirname-tests (Makefile.am): Likewise.
104385         * modules/frexp-tests (Makefile.am): Likewise.
104386         * modules/isnanl-tests (Makefile.am): Likewise.
104387         * modules/linked-list-tests (Makefile.am): Likewise.
104388         * modules/linkedhash-list-tests (Makefile.am): Likewise.
104389         * modules/lock-tests (Makefile.am): Likewise.
104390         * modules/rbtree-list-tests (Makefile.am): Likewise.
104391         * modules/rbtree-oset-tests (Makefile.am): Likewise.
104392         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
104393         * modules/tls-tests (Makefile.am): Likewise.
104394         * modules/tsearch-tests (Makefile.am): Likewise.
104395         * modules/xvasprintf-tests (Makefile.am): Likewise.
104397         Fix fpurge for cygwin.
104398         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
104399         value.
104400         * modules/fpurge-tests (Depends-on): Clean up trash.
104402 2007-04-16  Simon Josefsson  <simon@josefsson.org>
104404         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
104406         * m4/autobuild.m4: Re-indent.
104408 2007-04-13  Bruno Haible  <bruno@clisp.org>
104410         * modules/fpurge-tests: New file.
104411         * tests/test-fpurge.c: New file.
104413         * modules/fpurge: New file.
104414         * lib/fpurge.h: New file.
104415         * lib/fpurge.c: New file.
104416         * m4/fpurge.m4: New file.
104418 2007-04-13  Bruno Haible  <bruno@clisp.org>
104420         * modules/fbufmode-tests: New file.
104421         * tests/test-fbufmode.c: New file.
104423         * modules/fbufmode: New file.
104424         * lib/fbufmode.h: New file.
104425         * lib/fbufmode.c: New file.
104426         * m4/fbufmode.m4: New file.
104428 2007-04-13  Bruno Haible  <bruno@clisp.org>
104430         * modules/fwritable-tests: New file.
104431         * tests/test-fwritable.c: New file.
104433         * modules/fwritable: New file.
104434         * lib/fwritable.h: New file.
104435         * lib/fwritable.c: New file.
104436         * m4/fwritable.m4: New file.
104438 2007-04-13  Bruno Haible  <bruno@clisp.org>
104440         * modules/freadable-tests: New file.
104441         * tests/test-freadable.c: New file.
104443         * modules/freadable: New file.
104444         * lib/freadable.h: New file.
104445         * lib/freadable.c: New file.
104446         * m4/freadable.m4: New file.
104448 2007-04-13  Bruno Haible  <bruno@clisp.org>
104450         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
104451         MOSTLYCLEANFILES.
104453 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
104455         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
104456         gzip bootstrap.conf to avoid dragging in i18n machinery.
104457         (gnulib_tool_option): Use it.
104459 2007-04-13  Bruno Haible  <bruno@clisp.org>
104461         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
104462         %F directives.
104463         * tests/test-vasprintf-posix.c (test_function): Likewise.
104464         * tests/test-snprintf-posix.h (test_function): Likewise.
104465         * tests/test-sprintf-posix.h (test_function): Likewise.
104466         * tests/test-fprintf-posix.h (test_function): Likewise.
104467         * tests/test-printf-posix.h (test_function): Likewise.
104468         * tests/test-fprintf-posix.out: Likewise.
104470 2007-04-13  Bruno Haible  <bruno@clisp.org>
104472         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
104473         * modules/tls-tests (configure.ac): Likewise.
104474         Reported by Arto C. Nirkko <anirkko@insel.ch>.
104476 2007-04-13  Bruno Haible  <bruno@clisp.org>
104478         * lib/tls.c (glthread_tls_get): Fix return type.
104479         Patch by Arto C. Nirkko <anirkko@insel.ch>.
104481 2007-04-12  Eric Blake  <ebb9@byu.net>
104483         * modules/gettime (Depends-on): Remove gettime.
104484         Reported by Dmitry V. Levin.
104486 2007-04-12  Bruno Haible  <bruno@clisp.org>
104488         * modules/fflush (Include): Mention <stdio.h>.
104489         * modules/strtoimax (Include): Mention <inttypes.h>.
104490         * modules/strtoumax (Include): Likewise.
104492 2007-04-12  Eric Blake  <ebb9@byu.net>
104494         * .cvsignore: New file.
104495         * .gitignore: Likewise.
104497 2007-04-12  Bruno Haible  <bruno@clisp.org>
104499         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
104500         not before, since $(LDADD) often contains libgnu.a.
104501         * modules/striconv-tests (test_striconv_LDADD): Likewise.
104502         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
104503         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
104504         Needed on Cygwin.
104506 2007-04-12  Eric Blake  <ebb9@byu.net>
104508         Work around glibc's failure to flush stdin on fclose.
104509         * lib/closein.c (close_stdin): Flush stdin before closing.
104511         Work around glibc's failure to reset seekable stdin on exit.
104512         * modules/closein: New module.
104513         * lib/closein.c: New file.
104514         * lib/closein.h: Likewise.
104515         * m4/closein.m4: Likewise.
104516         * MODULES.html.sh (File stream based Input/Output): Document it.
104518 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104520         * gnulib-tool: Rename generated 'autobuild' script to
104521         'do-autobuild' in --create-megatestdir output.
104523         * doc/gnulib.texi (Build robot for gnulib): Fix.
104525 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104527         * modules/sysexits (Depends-on): Add absolute-header.
104529 2007-04-12  Eric Blake  <ebb9@byu.net>
104531         No need to preserve errno on success.
104532         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
104533         Reported by Bruno Haible.
104535 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104537         * MODULES.html.sh (Support for maintaining and releasing
104538         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
104540 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104542         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
104544 2007-04-12  Simon Josefsson  <simon@josefsson.org>
104546         * modules/autobuild: New module.
104548         * m4/autobuild.m4: New file.
104550 2007-04-11  Bruno Haible  <bruno@clisp.org>
104552         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
104553         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
104554         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
104555         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
104556         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104557         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104558         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104559         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104560         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104561         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104562         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
104563         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104564         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
104566         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104567         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104568         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
104569         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104570         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104571         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
104572         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104573         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104574         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
104575         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104576         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104577         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
104578         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
104579         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
104580         Reported by Eric Blake.
104582 2007-04-11  Bruno Haible  <bruno@clisp.org>
104584         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
104586 2007-04-10  Bruno Haible  <bruno@clisp.org>
104588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
104589         for NaN and Infinity. Needed on FreeBSD 6.1.
104590         * tests/test-vasnprintf-posix.c (test_function): Undo last change
104591         regarding results for "%010a" of Infinity and NaN.
104592         * tests/test-vasprintf-posix.c (test_function): Likewise.
104593         * tests/test-snprintf-posix.h (test_function): Likewise.
104594         * tests/test-sprintf-posix.h (test_function): Likewise.
104595         * tests/test-fprintf-posix.h (test_function): Likewise.
104596         * tests/test-printf-posix.h (test_function): Likewise.
104597         * tests/test-fprintf-posix.out: Likewise.
104599 2007-04-10  Bruno Haible  <bruno@clisp.org>
104601         * modules/locale-tests: New file.
104602         * tests/test-locale.c: New file.
104604         * modules/locale: New file.
104605         * lib/locale_.h: New file.
104606         * m4/locale_h.m4: New file.
104608 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
104609             Bruno Haible  <bruno@clisp.org>
104611         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
104612         be determined, test for availability of the copysignf, copysign,
104613         copysignl functions.
104614         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
104615         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
104616         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
104618 2007-04-09  Eric Blake  <ebb9@byu.net>
104620         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
104621         * modules/stdio (Makefile.am): Support fflush.
104622         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
104623         * modules/fflush: New file.
104624         * lib/fflush.c: Likewise.
104625         * m4/fflush.m4: Likewise.
104626         * modules/fflush-tests: New test.
104627         * tests/test-fflush.c: Likewise.
104628         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
104630 2007-04-06  Bruno Haible  <bruno@clisp.org>
104632         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
104633         (VASNPRINTF): Use signbit for faster determination whether to print a
104634         minus sign.
104635         * modules/vasnprintf (Files): Remove lib/float+.h.
104636         * modules/fprintf-posix (Depends-on): Add signbit.
104637         * modules/snprintf-posix (Depends-on): Likewise.
104638         * modules/sprintf-posix (Depends-on): Likewise.
104639         * modules/vasnprintf-posix (Depends-on): Likewise.
104640         * modules/vasprintf-posix (Depends-on): Likewise.
104641         * modules/vfprintf-posix (Depends-on): Likewise.
104642         * modules/vsnprintf-posix (Depends-on): Likewise.
104643         * modules/vsprintf-posix (Depends-on): Likewise.
104645 2007-04-06  Bruno Haible  <bruno@clisp.org>
104647         * tests/test-frexp.c (main): Test also the sign bit of zero results.
104648         * tests/test-frexpl.c (main): Likewise.
104649         * tests/test-ldexpl.c (main): Likewise.
104650         * modules/frexp-tests (Depends-on): Add signbit.
104651         * modules/frexpl-tests (Depdends-on): Likewise.
104652         * modules/ldexpl-tests (Depdends-on): Likewise.
104654 2007-04-06  Bruno Haible  <bruno@clisp.org>
104656         * modules/signbit-tests: New file.
104657         * tests/test-signbit.c: New file.
104659         * modules/signbit: New file.
104660         * lib/signbitf.c: New file.
104661         * lib/signbitd.c: New file.
104662         * lib/signbitl.c: New file.
104663         * m4/signbit.m4: New file.
104664         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
104665         (signbit): New macro.
104666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
104667         REPLACE_SIGNBIT.
104668         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
104669         REPLACE_FREXPL into math.h.
104671 2007-04-06  Bruno Haible  <bruno@clisp.org>
104673         * modules/isnanf-nolibm-tests: New file.
104674         * tests/test-isnanf.c: New file.
104676         * modules/isnanf-nolibm: New file.
104677         * lib/isnanf.h: New file.
104678         * lib/isnanf.c: New file.
104679         * lib/isnan.c: Consider the USE_FLOAT macro.
104680         * m4/isnanf.m4: New file.
104682 2007-04-06  Bruno Haible  <bruno@clisp.org>
104684         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
104685         (Link): New section.
104687         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
104689 2007-04-06  Bruno Haible  <bruno@clisp.org>
104691         Assume the 'long double' type.
104692         * m4/longdouble.m4: Remove file.
104693         * config/srclist.txt: Don't mention longdouble.m4.
104694         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
104695         * lib/float+.h: Likewise.
104696         * lib/frexp.c: Likewise.
104697         * lib/printf-args.h: Likewise.
104698         * lib/printf-args.c: Likewise.
104699         * lib/printf-frexp.c: Likewise.
104700         * lib/printf-parse.c: Likewise.
104701         * lib/vasnprintf.c: Likewise.
104702         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
104703         * m4/intl.m4: Likewise.
104704         * m4/isnanl.m4: Likewise.
104705         * m4/printf.m4: Likewise.
104706         * m4/printf-frexpl.m4: Likewise.
104707         * m4/vasnprintf.m4: Likewise.
104708         * modules/allocsa (Files): Remove m4/longdouble.m4.
104709         * modules/gettext (Files): Likewise.
104710         * modules/relocatable-prog-wrapper (Files): Likewise.
104711         * modules/vasnprintf (Files): Likewise.
104712         * modules/isnanl (Files): Likewise.
104713         (Include): Simplify.
104714         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
104715         (Include): Simplify.
104716         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
104717         (Include): Simplify.
104718         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
104719         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104720         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
104721         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104722         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
104723         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104724         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
104725         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104726         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
104727         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104728         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
104729         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
104730         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
104731         * tests/test-isnanl.c: Likewise.
104732         * tests/test-snprintf-posix.h: Likewise.
104733         * tests/test-sprintf-posix.h: Likewise.
104734         * tests/test-vasnprintf-posix.c: Likewise.
104735         * tests/test-vasnprintf-posix2.c: Likewise.
104736         * tests/test-vasprintf-posix.c: Likewise.
104738 2007-04-06  Bruno Haible  <bruno@clisp.org>
104740         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
104741         * lib/math_.h [__DECC]: Include the overridden include file through
104742         #include_next, outside the double-inclusion guard.
104743         * lib/stdio_.h [__DECC]: Likewise.
104744         * lib/stdlib_.h [__DECC]: Likewise.
104745         * lib/string_.h [__DECC]: Likewise.
104746         * lib/time_.h [__DECC]: Likewise.
104747         * lib/wchar_.h [__DECC]: Likewise.
104748         * lib/wctype_.h [__DECC]: Likewise.
104749         * lib/inttypes_.h [__DECC]: Likewise.
104750         Reported by Albert Chin <china@thewrittenword.com> in
104751         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
104753 2007-04-04  Eric Blake  <ebb9@byu.net>
104755         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
104756         1.5.x.
104758 2007-04-04  Bruno Haible  <bruno@clisp.org>
104760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
104761         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
104763 2007-04-04  Bruno Haible  <bruno@clisp.org>
104765         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
104766         results for "%010a" of Infinity and NaN.
104767         * tests/test-vasprintf-posix.c (test_function): Likewise.
104768         * tests/test-snprintf-posix.h (test_function): Likewise.
104769         * tests/test-sprintf-posix.h (test_function): Likewise.
104770         * tests/test-fprintf-posix.h (test_function): Remove these tests.
104771         * tests/test-printf-posix.h (test_function): Likewise.
104772         * tests/test-fprintf-posix.out: Update.
104773         Needed for FreeBSD 6.1.
104775 2007-04-04  Bruno Haible  <bruno@clisp.org>
104777         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
104778         directly used by the gnulib modules nor by gnulib-tool.
104780 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
104782         * DEPENDENCIES: Give overall description of version dependency
104783         desirability.  Use more-typical names for apps.
104784         Add shell, coreutils, diffutils, grep, tar, gzip.
104786 2007-04-04  Simon Josefsson  <simon@josefsson.org>
104788         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
104790 2007-04-04  Karl Berry  <karl@gnu.org>
104792         * MODULES.html.sh (func_module): missing '.
104794 2007-04-03  Bruno Haible  <bruno@clisp.org>
104796         * modules/argmatch-tests (Makefile.am): New variable
104797         test_argmatch_LDADD.
104798         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
104799         * modules/array-list-tests (Makefile.am): New variable
104800         test_array_list_LDADD.
104801         * modules/array-oset-tests (Makefile.am): New variable
104802         test_array_oset_LDADD.
104803         * modules/avltree-list-tests (Makefile.am): New variable
104804         test_avltree_list_LDADD.
104805         * modules/avltree-oset-tests (Makefile.am): New variable
104806         test_avltree_oset_LDADD.
104807         * modules/avltreehash-list-tests (Makefile.am): New variable
104808         test_avltreehash_list_LDADD.
104809         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
104810         test_canonicalize_lgpl_LDADD.
104811         * modules/carray-list-tests (Makefile.am): New variable
104812         test_carray_list_LDADD.
104813         * modules/dirname-tests (Makefile.am): New variable
104814         test_dirname_LDADD.
104815         * modules/linked-list-tests (Makefile.am): New variable
104816         test_linked_list_LDADD.
104817         * modules/linkedhash-list-tests (Makefile.am): New variable
104818         test_linkedhash_list_LDADD.
104819         * modules/rbtree-list-tests (Makefile.am): New variable
104820         test_rbtree_list_LDADD.
104821         * modules/rbtree-oset-tests (Makefile.am): New variable
104822         test_rbtree_oset_LDADD.
104823         * modules/rbtreehash-list-tests (Makefile.am): New variable
104824         test_rbtreehash_list_LDADD.
104825         * modules/xvasprintf-tests (Makefile.am): New variable
104826         test_xvasprintf_LDADD.
104827         Reported by Eric Blake.
104829 2007-04-03  Eric Blake  <ebb9@byu.net>
104831         * DEPENDENCIES: Weaken m4 requirements.
104833 2007-04-03  Bruno Haible  <bruno@clisp.org>
104835         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
104836         * modules/isnanl-tests (configure.ac): Likewise.
104838 2007-04-03  Ben Pfaff  <blp@gnu.org>
104840         * modules/iconv_open: Add $(srcdir)/ to source directory
104841         references in Makefile fragments that call gperf, to fix VPATH
104842         builds.
104844 2007-04-03  Bruno Haible  <bruno@clisp.org>
104846         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
104847         * lib/ldexpl.c: Undo last change.
104849 2007-04-03  Bruno Haible  <bruno@clisp.org>
104851         * modules/printf-frexpl (Depends-on): Undo last change.
104852         (Files): Add m4/ldexpl.m4.
104854 2007-04-03  Bruno Haible  <bruno@clisp.org>
104856         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
104857         * modules/isnanl (Link): New section.
104859         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
104860         * modules/frexp (Link): New section.
104862         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
104863         * modules/frexpl (Link): New section.
104865         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
104866         * modules/ldexpl (Link): New section.
104868 2007-04-03  Bruno Haible  <bruno@clisp.org>
104870         * modules/TEMPLATE-EXTENDED: New file.
104871         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
104873 2007-04-03  Bruno Haible  <bruno@clisp.org>
104875         * DEPENDENCIES: New file.
104876         Suggested by Simon Josefsson.
104878 2007-04-03  Bruno Haible  <bruno@clisp.org>
104880         * doc/gnulib.texi: Escape @.
104882 2007-04-03  James Youngman  <jay@gnu.org>
104883         and Paul Eggert  <eggert@cs.ucla.edu>
104885         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
104886         birthtime on all systems that have birthtime, not just those which
104887         use st_birthtimensec rather than st_birthtim.  Putting zero in
104888         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
104889         that the birth time is not available for files on an NFS mount.
104891 2007-04-03  Simon Josefsson  <simon@josefsson.org>
104893         * modules/memxor: Move back from crypto/, suggested by Bruno.
104894         * modules/crypto/hmac-sha1: Fix memxor dependency.
104896         * modules/crypto/gc: Moved from ../.
104898 2007-04-02  Eric Blake  <ebb9@byu.net>
104900         * lib/ldexpl.c (includes): Avoid libm.
104902         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
104904 2007-04-02  Bruno Haible  <bruno@clisp.org>
104906         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
104907         on IRIX.
104909 2007-04-02  Bruno Haible  <bruno@clisp.org>
104911         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
104912         x86 or x86_64 platforms running MacOS X.
104913         Reported by Ryan Schmidt <@ryandesign.com>.
104915 2007-04-02  Bruno Haible  <bruno@clisp.org>
104917         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
104918         i386.
104920 2007-04-01  Simon Josefsson  <simon@josefsson.org>
104922         * modules/crypto/arcfour: Moved from ../.
104923         * modules/crypto/arcfour-tests: Moved from ../.
104924         * modules/crypto/arctwo: Moved from ../.
104925         * modules/crypto/arctwo-tests: Moved from ../.
104926         * modules/crypto/des: Moved from ../.
104927         * modules/crypto/des-tests: Moved from ../.
104928         * modules/crypto/gc-arcfour: Moved from ../.
104929         * modules/crypto/gc-arcfour-tests: Moved from ../.
104930         * modules/crypto/gc-arctwo: Moved from ../.
104931         * modules/crypto/gc-arctwo-tests: Moved from ../.
104932         * modules/crypto/gc-des: Moved from ../.
104933         * modules/crypto/gc-des-tests: Moved from ../.
104934         * modules/crypto/gc-hmac-md5: Moved from ../.
104935         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
104936         * modules/crypto/gc-hmac-sha1: Moved from ../.
104937         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
104938         * modules/crypto/gc-md2: Moved from ../.
104939         * modules/crypto/gc-md2-tests: Moved from ../.
104940         * modules/crypto/gc-md4: Moved from ../.
104941         * modules/crypto/gc-md4-tests: Moved from ../.
104942         * modules/crypto/gc-md5: Moved from ../.
104943         * modules/crypto/gc-md5-tests: Moved from ../.
104944         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
104945         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
104946         * modules/crypto/gc-random: Moved from ../.
104947         * modules/crypto/gc-rijndael: Moved from ../.
104948         * modules/crypto/gc-rijndael-tests: Moved from ../.
104949         * modules/crypto/gc-sha1: Moved from ../.
104950         * modules/crypto/gc-sha1-tests: Moved from ../.
104951         * modules/crypto/gc-tests: Moved from ../.
104952         * modules/crypto/hmac-md5: Moved from ../.
104953         * modules/crypto/hmac-md5-tests: Moved from ../.
104954         * modules/crypto/hmac-sha1: Moved from ../.
104955         * modules/crypto/hmac-sha1-tests: Moved from ../.
104956         * modules/crypto/md2: Moved from ../.
104957         * modules/crypto/md2-tests: Moved from ../.
104958         * modules/crypto/md4: Moved from ../.
104959         * modules/crypto/md4-tests: Moved from ../.
104960         * modules/crypto/md5: Moved from ../.
104961         * modules/crypto/md5-tests: Moved from ../.
104962         * modules/crypto/memxor: Moved from ../.
104963         * modules/crypto/rijndael: Moved from ../.
104964         * modules/crypto/rijndael-tests: Moved from ../.
104965         * modules/crypto/sha1: Moved from ../.
104967 2007-03-30  James Youngman  <jay@gnu.org>
104969         * tests/test-stat-time.c (prepare_test): use chmod() rather than
104970         rename() to change the ctime of a file (because ctime is unaffected
104971         by rename on jfs2 on AIX 5.1).
104972         (main): Start by doing cleanup, in case a previous run failed leaving
104973         test files behind.
104975 2007-03-31  Bruno Haible  <bruno@clisp.org>
104977         Support old proprietary implementations of iconv.
104978         * modules/iconv_open: New file.
104979         * lib/iconv_.h: New file.
104980         * m4/iconv_h.m4: New file.
104981         * lib/iconv_open.c: New file.
104982         * lib/iconv_open-aix.gperf: New file.
104983         * lib/iconv_open-hpux.gperf: New file.
104984         * lib/iconv_open-irix.gperf: New file.
104985         * lib/iconv_open-osf.gperf: New file.
104986         * m4/iconv_open.m4: New file.
104987         * modules/linebreak (Depends-on): Add iconv_open.
104988         * modules/striconv (Depends-on): Likewise.
104989         * modules/striconveh (Depends-on): Likewise.
104990         * modules/unicodeio (Depends-on): Likewise.
104991         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
104992         (iconv_t)(-1).
104993         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
104994         conversion if cd is (iconv_t)(-1).
104995         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
104996         is not possible.
104998 2007-03-31  Bruno Haible  <bruno@clisp.org>
105000         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105001         work on Solaris either. Protect also second use of "autodetect_jp".
105003 2007-03-31  Bruno Haible  <bruno@clisp.org>
105005         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
105006         the function is not present.
105008 2007-03-31  Bruno Haible  <bruno@clisp.org>
105010         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
105011         the function is not present.
105013 2007-03-31  Bruno Haible  <bruno@clisp.org>
105015         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
105016         a bug in HP-UX iconv_open().
105018 2007-03-31  Bruno Haible  <bruno@clisp.org>
105020         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
105021         (Mathematics <math.h>): New section, add fpieee.
105022         (Input/output <stdio.h>): Add fseterr.
105023         (Mathematics <math.h>): New section, add printf-frexp.
105024         (Container data structures): Add sublist.
105025         (Core language properties): Add fpucw, inline.
105026         (Functions for greatest-width integer types <inttypes.h>): Add
105027         imaxabs, imaxdiv, inttypes.
105028         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
105029         isnanl-nolibm, ldexp.
105030         (Mathematics <math.h>): New section, add printf-frexpl.
105031         (Support for systems lacking POSIX:2001): Add fprintf-posix,
105032         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
105033         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
105034         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
105035         (Unicode string functions): Add unistr/u*-mbtoucr.
105036         (Java): Add javacomp-script, javaexec-script.
105037         (C#): Add csharpcomp-script, csharpexec-script.
105038         (Support for building libraries and executables): Add havelib,
105039         relocatable-*.
105040         (Support for maintaining and releasing projects): Renamed from
105041         'Support for maintaining and release projects'. Add announce-gen.
105043 2007-03-31  Bruno Haible  <bruno@clisp.org>
105045         * README: Talk primarily about git.
105046         (git and CVS): Renamed from CVS.
105047         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
105048         gnulib is available through git.
105049         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
105051 2007-03-30  Bruno Haible  <bruno@clisp.org>
105053         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
105054         * lib/poll_.h: Likewise.
105055         * lib/stat_.h: Likewise.
105056         * lib/sys_time_.h: Likewise.
105057         * lib/sysexit_.h: Likewise.
105058         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
105059         * lib/stdbool_.h: Likewise.
105060         * lib/byteswap_.h: Add double-inclusion guard.
105062 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
105064         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
105066 2007-03-30  Karl Berry  <karl@gnu.org>
105068         * config/srclist-update: double space after USA in the license
105069         substitution, since that's how it's usually (?) written.
105071 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
105073         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
105074         reported by Bruno Haible.
105076 2007-03-29  Bruno Haible  <bruno@clisp.org>
105078         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
105079         a bug in AIX iconv().
105081 2007-03-29  Bruno Haible  <bruno@clisp.org>
105083         * modules/ldexpl-tests: New file.
105084         * tests/test-ldexpl.c: New file.
105086 2007-03-29  Bruno Haible  <bruno@clisp.org>
105088         * lib/ldexpl.c: Include fpucw.h.
105089         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
105090         multiplication.
105091         * modules/ldexpl (Depends-on): Add fpucw.
105093 2007-03-29  Bruno Haible  <bruno@clisp.org>
105095         * modules/ldexpl: New file.
105096         * m4/ldexpl.m4: New file.
105097         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
105098         set.
105099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
105100         REPLACE_LDEXPL.
105101         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
105102         REPLACE_LDEXPL.
105103         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105104         gl_FUNC_LDEXPL_WORKS.
105105         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
105106         * modules/mathl (Files): Remove lib/ldexpl.c.
105107         (Depends-on): Add ldexpl.
105109 2007-03-29  Bruno Haible  <bruno@clisp.org>
105111         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
105113 2007-03-29  Bruno Haible  <bruno@clisp.org>
105115         * tests/test-striconveh.c (main): Don't assume that a direct conversion
105116         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
105117         and possibly also HP-UX.
105118         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105119         work on AIX, IRIX, HP-UX, OSF/1.
105120         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
105121         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
105122         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
105123         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
105124         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
105125         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
105127 2007-03-29  Bruno Haible  <bruno@clisp.org>
105129         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
105131 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105133         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
105134         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
105136 2007-03-29  Eric Blake  <ebb9@byu.net>
105138         * lib/acl-internal.h: Remove redundant include.
105139         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
105140         Cygwin when a file is locked.
105142 2007-03-29  Bruno Haible  <bruno@clisp.org>
105144         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
105145         file.
105146         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
105148 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105150         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
105151         try to remove a parent directory if the child couldn't be removed
105152         (except for the first rmdir, which could fail because the child
105153         doesn't exist).  Problem reported by Jeff Blaine in
105154         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
105156 2007-03-28  Bruno Haible  <bruno@clisp.org>
105158         * lib/striconveh.c (utf8conv_carefully): New function.
105159         (mem_cd_iconveh_internal): Invoke it.
105161 2007-03-28  Bruno Haible  <bruno@clisp.org>
105163         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
105164         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
105165         input.
105166         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
105167         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
105168         unistr/u8-uctomb.
105170 2007-03-28  Bruno Haible  <bruno@clisp.org>
105172         * modules/unistr/u8-mbtoucr: New file.
105173         * lib/unistr/u8-mbtoucr.c: New file.
105174         * modules/unistr/u16-mbtoucr: New file.
105175         * lib/unistr/u16-mbtoucr.c: New file.
105176         * modules/unistr/u16-mbtoucr: New file.
105177         * lib/unistr/u16-mbtoucr.c: New file.
105178         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
105180 2007-03-27  Simon Josefsson  <simon@josefsson.org>
105181             Bruno Haible  <bruno@clisp.org>
105183         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
105184         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
105185         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
105187         * m4/stdio_h.m4: Add stubs for vasprintf too.
105189         * modules/stdio: Support vasprintf in sed command.
105191         * modules/vasprintf: Depend on stdio for prototypes.  Remove
105192         vasprintf.h.  Add stdio module indicator.
105194         * lib/stdio_.h: Declare asprintf and vasprintf, based on
105195         vasprintf.h.
105197         * lib/vasprintf.h: File removed.
105199         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
105200         * lib/vasprintf.c: Ditto.
105201         * lib/xvasprintf.c: Ditto.
105202         * tests/test-vasprintf-posix.c: Ditto.
105203         * tests/test-vasprintf.c: Ditto.
105205 2007-03-27  Bruno Haible  <bruno@clisp.org>
105207         Make vasnprintf multithread-safe.
105208         * lib/vasnprintf.c (decimal_point_char): New function.
105209         (VASNPRINTF): Use it.
105210         Suggested by Simon Josefsson.
105212 2007-03-27  Eric Blake  <ebb9@byu.net>
105214         Support sub-second birthtime on cygwin.
105215         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
105216         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
105217         (get_stat_birthtime): Also work with st_birthtim.
105219 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
105221         * lib/stat-time.h (USE_BIRTHTIME): Remove.
105222         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
105223         (get_stat_birthtime_ns): Do not try to use "spare" fields.
105224         (get_stat_birthtime_ns): Simplify compile-time tests.
105225         (get_stat_birthtime): Change the API to look like
105226         get_stat_mtime etc., except return a negative tv_nsec on error.
105227         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
105228         Don't check for "spare" fields.
105229         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
105230         or for struct stat.st_birthtime, as these tests aren't used.
105231         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
105233 2007-03-27  Bruno Haible  <bruno@clisp.org>
105235         * lib/stat-time.h: Include <sys/stat.h>.
105237 2007-03-27  James Youngman  <jay@gnu.org>
105239         * lib/stat-time.h (get_stat_birthtime): New function for
105240           retrieving st_birthtime as provided by UFS2 (hence *BSD).
105241         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
105242           and its variants.
105243         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
105244         * modules/stat-time-test: New file.
105245         * tests/test-stat-time.c: New test, devised by Bruno Haible.
105247 2007-03-26  Bruno Haible  <bruno@clisp.org>
105249         Better support of signalling NaNs.
105250         * lib/atanl.c: Include isnanl.h.
105251         (atanl): Perform test for NaN at the beginning of the function and
105252         through a call to isnanl.
105253         * lib/cosl.c: Include isnanl.h.
105254         (cosl): Perform test for NaN at the beginning of the function and
105255         through a call to isnanl.
105256         * lib/ldexpl.c: Include isnanl.h.
105257         (ldexpl): Perform test for NaN through a call to isnanl.
105258         * lib/logl.c: Include isnanl.h.
105259         (logl): Perform test for NaN at the beginning of the function and
105260         through a call to isnanl.
105261         * lib/sinl.c: Include isnanl.h.
105262         (sinl): Perform test for NaN at the beginning of the function and
105263         through a call to isnanl.
105264         * lib/sqrtl.c: Include isnanl.h.
105265         (sqrtl): Perform test for NaN at the beginning of the function and
105266         through a call to isnanl.
105267         * lib/tanl.c: Include isnanl.h.
105268         (tanl): Perform test for NaN at the beginning of the function and
105269         through a call to isnanl.
105270         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
105271         * modules/mathl (Depends-on): Add isnanl.
105273 2007-03-26  Eric Blake  <ebb9@byu.net>
105275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
105276         regression in logic sense of previous patch.
105278 2007-03-26  Bruno Haible  <bruno@clisp.org>
105280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
105281         unportable shell command "if ! ...".
105282         Reported by Ralf Wildenhues.
105284 2007-03-25  Bruno Haible  <bruno@clisp.org>
105286         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
105287         <sysexits.h> file, and only add EX_CONFIG.
105288         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
105289         absolute file name and whether it is sufficient. Substitute also
105290         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
105291         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
105292         ABSOLUTE_SYSEXITS_H into sysexits.h.
105294 2007-03-25  Bruno Haible  <bruno@clisp.org>
105296         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
105297         hints is NULL.
105299 2007-03-25  Bruno Haible  <bruno@clisp.org>
105301         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
105302         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
105304 2007-03-25  Bruno Haible  <bruno@clisp.org>
105306         * lib/vasnprintf.c: Include langinfo.h.
105307         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
105308         multithread-safe.
105309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
105310         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
105311         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105312         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105313         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105314         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105315         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105316         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
105317         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105318         Reported by Simon Josefsson.
105320 2007-03-25  Bruno Haible  <bruno@clisp.org>
105322         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
105323         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
105324         * modules/vasnprintf (Depends-on): Add stdint.
105326 2007-03-25  Bruno Haible  <bruno@clisp.org>
105328         * modules/fpieee: New file.
105329         * m4/fpieee.m4: New file.
105330         * modules/isnan-nolibm (Depends-on): Add fpieee.
105331         * modules/isnanl-nolibm (Depends-on): Add fpieee.
105332         * modules/isnanl (Depends-on): Add fpieee.
105334 2007-03-25  Bruno Haible  <bruno@clisp.org>
105336         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
105338 2007-03-25  Bruno Haible  <bruno@clisp.org>
105340         Avoid test failures on IRIX 6.5.
105341         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
105342         (main): Use it.
105343         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
105344         macros.
105345         (main): Use them.
105347 2007-03-25  Bruno Haible  <bruno@clisp.org>
105349         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
105350         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
105351         exists but doesn't work.
105352         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
105353         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
105354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
105355         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
105356         math.h.
105358 2007-03-25  Bruno Haible  <bruno@clisp.org>
105360         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
105361         returns inf. Needed on IRIX 6.5.
105363 2007-03-25  Bruno Haible  <bruno@clisp.org>
105365         * tests/test-frexpl.c: Include isnanl-nolibm.h.
105366         (main): Use isnanl instead of x != x idiom.
105367         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
105369         * tests/test-frexp.c: Include isnan.h.
105370         (main): Use isnan instead of x != x idiom.
105371         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
105373 2007-03-25  Bruno Haible  <bruno@clisp.org>
105375         * tests/test-frexp.c (NaN): New function/macro.
105376         (main): Use it instead of 0.0 / 0.0.
105377         * tests/test-isnan.c (NaN): New function/macro.
105378         (main): Use it instead of 0.0 / 0.0.
105379         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
105380         (test_function): Use it instead of 0.0 / 0.0.
105381         * tests/test-vasprintf-posix.c (NaN): New function/macro.
105382         (test_function): Use it instead of 0.0 / 0.0.
105383         * tests/test-snprintf-posix.h (NaN): New function/macro.
105384         (test_function): Use it instead of 0.0 / 0.0.
105385         * tests/test-sprintf-posix.h (NaN): New function/macro.
105386         (test_function): Use it instead of 0.0 / 0.0.
105387         * tests/test-fprintf-posix.h (NaN): New function/macro.
105388         (test_function): Use it instead of 0.0 / 0.0.
105389         * tests/test-printf-posix.h (NaN): New function/macro.
105390         (test_function): Use it instead of 0.0 / 0.0.
105392         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
105394 2007-03-25  Bruno Haible  <bruno@clisp.org>
105396         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
105398 2007-03-25  Bruno Haible  <bruno@clisp.org>
105400         * lib/regexec.c (merge_state_with_log): Make static.
105402 2007-03-25  Bruno Haible  <bruno@clisp.org>
105404         * lib/trigl.c (kernel_rem_pio2): Make static.
105406 2007-03-25  Bruno Haible  <bruno@clisp.org>
105408         * lib/sincosl.c (sincosl_table): Make static.
105410 2007-03-25  Bruno Haible  <bruno@clisp.org>
105412         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
105413         if the compiler does not support C99.
105415 2007-03-25  Bruno Haible  <bruno@clisp.org>
105417         * modules/time (Makefile.am): Ensure all rule action lines start with a
105418         tab.
105420 2007-03-24  Bruno Haible  <bruno@clisp.org>
105422         * modules/tsearch-tests: New file.
105423         * tests/test-tsearch.sh: New file.
105424         * tests/test-tsearch.c: New file, mostly copied from glibc.
105426         * modules/search-tests: New file.
105427         * tests/test-search.c: New file.
105429         * modules/search: New file.
105430         * lib/search_.h: New file, incorporating lib/tsearch.h.
105431         * m4/search_h.m4: New file.
105432         * lib/tsearch.h: Remove file.
105433         * lib/tsearch.c: Include search.h instead of tsearch.h.
105434         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
105435         HAVE_TSEARCH.
105436         * modules/tsearch (Files): Remove lib/tsearch.h.
105437         (Depends-on): Add search.
105438         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
105439         (Include): Change tsearch.h into search.h.
105441 2007-03-24  Bruno Haible  <bruno@clisp.org>
105443         * modules/fpucw: New file.
105444         * lib/fpucw.h: New file.
105445         * lib/frexp.c: Include fpucw.h.
105446         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105447         (FUNC): Use them.
105448         * lib/printf-frexp.c: Include fpucw.h.
105449         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105450         (FUNC): Use them.
105451         * lib/vasnprintf.c: Include fpucw.h.
105452         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
105453         'long double' calculations.
105454         * tests/test-frexpl.c: Include fpucw.h.
105455         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105456         * tests/test-printf-frexpl.c: Include fpucw.h.
105457         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105458         * modules/frexpl (Depends-on): Add fpucw.
105459         * modules/printf-frexpl (Depends-on): Likewise.
105460         * modules/fprintf-posix (Depends-on): Likewise.
105461         * modules/snprintf-posix (Depends-on): Likewise.
105462         * modules/sprintf-posix (Depends-on): Likewise.
105463         * modules/vasnprintf-posix (Depends-on): Likewise.
105464         * modules/vasprintf-posix (Depends-on): Likewise.
105465         * modules/vfprintf-posix (Depends-on): Likewise.
105466         * modules/vsnprintf-posix (Depends-on): Likewise.
105467         * modules/vsprintf-posix (Depends-on): Likewise.
105468         * modules/frexpl-tests (Depends-on): Likewise.
105469         * modules/printf-frexpl-tests (Depends-on): Likewise.
105471 2007-03-24  Bruno Haible  <bruno@clisp.org>
105473         * lib/float+.h: New file.
105474         * lib/isnan.c: Include float+.h.
105475         (SIZE): New macro.
105476         (FUNC): Compare only SIZE bytes of the value.
105477         * lib/vasnprintf.c: Include float+.h.
105478         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
105479         SIZEOF_LDBL or SIZEOF_DBL bytes.
105480         * modules/isnan-nolibm (Files): Add lib/float+.h.
105481         * modules/isnanl-nolibm (Files): Add lib/float+.h.
105482         * modules/isnanl (Files): Add lib/float+.h.
105483         * modules/vasnprintf (Files): Add lib/float+.h.
105485 2007-03-24  Bruno Haible  <bruno@clisp.org>
105487         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
105488         include isnanl-nolibm.h.
105490 2007-03-24  Bruno Haible  <bruno@clisp.org>
105492         * tests/test-read-file.c (main): Don't produce spurious output for
105493         expected situations. Make the test fail if it encountered unexpected
105494         results.
105496 2007-03-24  Bruno Haible  <bruno@clisp.org>
105498         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
105499         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
105501 2007-03-24  Bruno Haible  <bruno@clisp.org>
105503         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
105505 2007-03-24  Bruno Haible  <bruno@clisp.org>
105507         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
105508         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
105510         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
105511         * modules/utf8-ucs4: Turn into a symbolic link to module
105512         unistr/u8-mbtouc.
105514         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
105515         utf8-ucs4-unsafe.
105516         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
105517         unistr/u8-mbtouc-unsafe.
105519         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
105520         * modules/utf16-ucs4: Turn into a symbolic link to module
105521         unistr/u16-mbtouc.
105523         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
105524         utf16-ucs4-unsafe.
105525         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
105526         unistr/u16-mbtouc-unsafe.
105528         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
105529         * modules/ucs4-utf8: Turn into a symbolic link to module
105530         unistr/u8-ubtomb.
105532         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
105533         * modules/ucs4-utf16: Turn into a symbolic link to module
105534         unistr/u16-ubtomb.
105536 2007-03-24  Bruno Haible  <bruno@clisp.org>
105538         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
105539         Enable the function only if HAVE_INLINE.
105540         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
105541         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105542         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
105543         Enable the function only if HAVE_INLINE.
105544         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
105545         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
105546         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
105547         Enable the function only if HAVE_INLINE.
105548         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
105549         Enable the function only if HAVE_INLINE.
105550         * modules/utf8-ucs4: Update.
105551         * modules/utf8-ucs4-unsafe: Update.
105552         * modules/utf16-ucs4: Update.
105553         * modules/utf16-ucs4-unsafe: Update.
105554         * modules/ucs4-utf8: Update.
105555         * modules/ucs4-utf16: Update.
105557 2007-03-24  Bruno Haible  <bruno@clisp.org>
105559         * lib/utf8-ucs4.h: Remove file.
105560         * lib/utf8-ucs4-unsafe.h: Remove file.
105561         * lib/utf16-ucs4.h: Remove file.
105562         * lib/utf16-ucs4-unsafe.h: Remove file.
105563         * lib/ucs4-utf8.h: Remove file.
105564         * lib/ucs4-utf16.h: Remove file.
105565         * lib/unistr.h: Include their previous contents.
105566         * m4/utf-ucs4.m4: Remove file.
105567         * m4/ucs4-utf.m4: Remove file.
105568         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
105569         (Depends-on): Add unistr/base.
105570         (configure.ac): Remove gl_UTF_UCS4.
105571         (Makefile.am): Update.
105572         (Include): Change to unistr.h.
105573         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
105574         (Depends-on): Add unistr/base.
105575         (configure.ac): Remove gl_UTF_UCS4.
105576         (Makefile.am): Update.
105577         (Include): Change to unistr.h.
105578         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
105579         (Depends-on): Add unistr/base.
105580         (configure.ac): Remove gl_UTF_UCS4.
105581         (Makefile.am): Update.
105582         (Include): Change to unistr.h.
105583         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
105584         (Depends-on): Add unistr/base.
105585         (configure.ac): Remove gl_UTF_UCS4.
105586         (Makefile.am): Update.
105587         (Include): Change to unistr.h.
105588         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
105589         (Depends-on): Add unistr/base.
105590         (configure.ac): Remove gl_UCS4_UTF.
105591         (Makefile.am): Update.
105592         (Include): Change to unistr.h.
105593         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
105594         (Depends-on): Add unistr/base.
105595         (configure.ac): Remove gl_UCS4_UTF.
105596         (Makefile.am): Update.
105597         (Include): Change to unistr.h.
105598         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
105599         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
105600         utf8-ucs4-unsafe.h.
105601         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
105602         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
105603         utf16-ucs4-unsafe.h.
105604         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
105605         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
105606         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
105607         * lib/unistr/u8-strchr.c: Likewise.
105608         * lib/unistr/u8-strrchr.c: Likewise.
105609         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
105610         * lib/unistr/u16-strchr.c: Likewise.
105611         * lib/unistr/u16-strrchr.c: Likewise.
105612         * lib/striconveh.c: Update.
105613         * lib/linebreak.c: Update.
105615 2007-03-24  Bruno Haible  <bruno@clisp.org>
105617         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
105618         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
105620 2007-03-22  Bruno Haible  <bruno@clisp.org>
105622         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
105624 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105626         * MODULES.html.sh (File system functions): New module write-any-file.
105627         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
105628         * m4/write-any-file.m4: New files.
105630 2007-03-23  Eric Blake  <ebb9@byu.net>
105632         * gnulib-tool: Rearrange space-tab sequences, since some editors
105633         like to eat them.
105635 2007-03-23  Eric Blake  <ebb9@byu.net>
105637         * lib/version-etc.c (version_etc_va): Update license wording to
105638         be more concise.  Recommended by Richard Stallman.
105640 2007-03-22  Bruno Haible  <bruno@clisp.org>
105642         * lib/poll.c (MSG_PEEK): New fallback definition.
105644 2007-03-22  Bruno Haible  <bruno@clisp.org>
105646         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
105647         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
105648         (main): Update.
105649         Fixes a compilation error on BeOS.
105651 2007-03-22  Bruno Haible  <bruno@clisp.org>
105653         * modules/frexpl-tests: New file.
105654         * tests/test-frexpl.c: New file.
105656         * modules/frexpl: New file.
105657         * m4/frexpl.m4: New file.
105658         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
105659         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
105660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
105661         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
105662         (Depends-on): Add frexpl. Remove isnanl-nolibm.
105663         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
105665 2007-03-22  Bruno Haible  <bruno@clisp.org>
105667         * lib/frexpl.c: Share code with lib/frexp.c.
105668         * modules/mathl (Files): Add lib/frexp.c.
105669         (Depends-on): Add isnanl-nolibm.
105671 2007-03-22  Bruno Haible  <bruno@clisp.org>
105673         * modules/printf-frexp (Files): Add m4/frexp.m4.
105674         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
105675         only if the found frexp function actually works.
105677 2007-03-22  Bruno Haible  <bruno@clisp.org>
105679         * lib/frexp.c: Remove older implementation that uses divisions.
105681 2007-03-21  Bruno Haible  <bruno@clisp.org>
105683         * modules/frexp-tests: New file.
105684         * tests/test-frexp.c: New file.
105686         * modules/frexp: New file.
105687         * lib/frexp.c: New file.
105688         * m4/frexp.m4: New file.
105689         * lib/math_.h (frexp): New declaration.
105690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
105691         REPLACE_FREXP.
105692         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
105694 2007-03-21  Bruno Haible  <bruno@clisp.org>
105696         * modules/isnanl-tests: New file.
105697         * tests/test-isnanl.c: New file.
105699         * modules/isnanl: New file.
105700         * lib/isnanl.h: New file.
105701         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
105702         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
105703         gl_FUNC_ISNANL_WORKS.
105704         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
105705         New macros.
105707 2007-03-21  Bruno Haible  <bruno@clisp.org>
105709         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
105710         lib/isnanl.h.
105711         (Include): Update.
105712         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
105713         * lib/vasnprintf.c: Update.
105714         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
105715         tests/test-isnanl.h, remove tests/test-isnanl.c.
105716         (Makefile.am): Update.
105717         * tests/test-isnanl-nolibm.c: New file.
105718         * tests/test-isnanl.h: New file.
105719         * tests/test-isnanl.c: Remove file.
105721 2007-03-21  Jim Meyering  <jim@meyering.net>
105723         When trying to open ".", treat ESTALE like EACCES.
105724         * lib/savewd.c (savewd_save): Resort to forking not just upon
105725         failure with EACCES, but also when errno is ESTALE.
105727 2007-03-20  Bruno Haible  <bruno@clisp.org>
105729         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
105730         Needed on AIX 5.1. Reported by Matthew Woehlke.
105732 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105734         Suggestions by Bruno Haible:
105735         * lib/acl-internal.h: Include "gettext.h" rather than rolling
105736         our own.
105737         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
105738         * modules/acl (Depends-on): Add gettext.
105740 2007-03-19  Bruno Haible  <bruno@clisp.org>
105742         * modules/iconvme: Remove file.
105743         * lib/iconvme.h: Remove file.
105744         * lib/iconvme.c: Remove file.
105745         * m4/iconvme.m4: Remove file.
105747 2007-03-19  Bruno Haible  <bruno@clisp.org>
105749         * doc/relocatable-maint.texi: Break long shell script line.
105750         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
105752 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105754         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
105755         handle file_has_acl.
105756         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
105757         * lib/acl.c: Move header inclusions and related macro defns into
105758         lib/acl-internal.h.
105759         (S_ISLNK): Remove defn, since that's now done for us.
105760         (file_has_acl): Move to lib/file-has-acl.c.
105761         Call acl_trivial if available.  This is the crucial part of the fix.
105762         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
105763         shared within the library.  Rewrite a bit, partly to make it compatible
105764         with the GNU coding style.
105765         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
105766         Remove unnecessary double-quotes.
105767         Don't test for acl_to_text; the build will catch that.
105768         Replace acl_entries if it doesn't exist and it is needed.
105769         Check for -lsec and acl_trivial (as used on Solaris 10).
105770         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
105771         lib/file-has-acl.c.
105772         (Depends-on): Add sys_stat, for S_ISLNK.
105774 2007-03-19  Ben Pfaff  <blp@gnu.org>
105776         * doc/gnulib.texi: Fix typos.
105777         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
105779 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
105781         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
105782         If size is zero here, buf must be zero.
105784 2007-03-19  Simon Josefsson  <simon@josefsson.org>
105786         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
105787         <bruno@clisp.org>.
105789 2007-03-18  Bruno Haible  <bruno@clisp.org>
105791         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
105792         Suggested by Eric Blake.
105794 2007-03-18  Ben Pfaff  <blp@gnu.org>
105796         * doc/relocatable.texi: Recommend using as prefix a directory
105797         that does not exist and will never be created.  Based on
105798         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
105799         and others.
105801 2007-03-17  Bruno Haible  <bruno@clisp.org>
105803         * lib/fchownat.c: Include lchown.h.
105805 2007-03-17  Bruno Haible  <bruno@clisp.org>
105807         Fix endless loop when the given allocated size was > INT_MAX.
105808         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
105809         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
105810         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
105811         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
105812         * lib/sprintf.c (sprintf): Likewise.
105814 2007-03-17  Bruno Haible  <bruno@clisp.org>
105816         * tests/test-argp-2.sh (func_compare): Output a context diff.
105818 2007-03-17  Bruno Haible  <bruno@clisp.org>
105820         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
105821         locale's decimal-point character.
105823 2007-03-17  Bruno Haible  <bruno@clisp.org>
105825         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
105826         before comparing it. Needed because on some platforms (e.g. x86) a
105827         'long double' occupies less bytes than sizeof (long double).
105829 2007-03-17  Bruno Haible  <bruno@clisp.org>
105831         * tests/test-crc.c (main): Make printf statements 64-bit clean.
105832         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
105833         * tests/test-getaddrinfo.c (simple): Likewise.
105834         * tests/test-read-file.c (main): Likewise.
105836 2007-03-17  Bruno Haible  <bruno@clisp.org>
105838         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
105840 2007-03-17  Bruno Haible  <bruno@clisp.org>
105842         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
105843         unused variable.
105845 2007-03-17  Bruno Haible  <bruno@clisp.org>
105847         * tests/test-c-strcasecmp.c: Include c-strcase.h.
105848         * tests/test-c-strncasecmp.c: Likewise.
105850 2007-03-17  Bruno Haible  <bruno@clisp.org>
105852         * modules/stdlib (Depends-on): Add unistd.
105853         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
105854         Needed for MacOS X 10.3.
105856 2007-03-17  Bruno Haible  <bruno@clisp.org>
105858         * lib/unistr/u-strdup.h: Include <stdlib.h>.
105860 2007-03-17  Bruno Haible  <bruno@clisp.org>
105862         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
105864 2007-03-17  Bruno Haible  <bruno@clisp.org>
105866         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
105867         to reflect files copied from gnulib (with or without modifications).
105868         Suggested by Jim Meyering.
105870 2007-03-17  Eric Blake  <ebb9@byu.net>
105872         * NEWS: Document stdlib change from 2007-02-18.
105874 2007-03-17  Jim Meyering  <jim@meyering.net>
105876         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
105877         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
105878         someone uses a name containing shell meta-characters.
105879         Reported by Alfred M. Szmidt.
105881         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
105883 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
105885         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
105886         and copy gettext configuration files only if configure.ac contains
105887         a use of AM_GNU_GETTEXT_VERSION.
105889 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
105891         * build-aux/bootstrap (gnulib_name): New variable.
105892         (gnulib_tool_options): Use it.
105894 2007-03-13  Simon Josefsson  <simon@josefsson.org>
105896         * tests/test-des.c: Use new namespace.
105898 2007-03-15  Bruno Haible  <bruno@clisp.org>
105900         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
105901         Reported by James Youngman <jay@gnu.org>.
105903 2007-03-15  Bruno Haible  <bruno@clisp.org>
105905         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
105906         declared prototype. Needed with cc on OSF/1 5.1.
105908 2007-03-15  Bruno Haible  <bruno@clisp.org>
105910         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
105911         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
105912         (struct gl_list_implementation): Add dispose_fn argument to the
105913         'create_empty', 'create' methods.
105914         (struct gl_list_impl_base): Add field 'dispose_fn'.
105915         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
105916         argument.
105917         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
105918         dispose_fn argument.
105919         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
105920         dispose_fn on the dropped values.
105921         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
105922         dispose_fn argument.
105923         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
105924         dropped values.
105925         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
105926         (gl_tree_remove_node): Call dispose_fn on the dropped value.
105927         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
105928         (gl_tree_remove_node): Call dispose_fn on the dropped value.
105929         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
105930         argument.
105931         (gl_tree_list_free): Call dispose_fn on the dropped values.
105932         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
105933         the dropped values.
105934         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
105935         Add dispose_fn argument.
105936         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
105937         Call dispose_fn on the dropped values.
105938         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
105939         Add dispose_fn argument.
105940         (gl_sublist_create): Initialize the 'dispose_fn' field.
105941         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
105942         * tests/test-array_list.c (main): Update.
105943         * tests/test-carray_list.c (main): Update.
105944         * tests/test-avltree_list.c (main): Update.
105945         * tests/test-rbtree_list.c (main): Update.
105946         * tests/test-avltreehash_list.c (main): Update.
105947         * tests/test-rbtreehash_list.c (main): Update.
105948         * tests/test-linked_list.c (main): Update.
105949         * tests/test-linkedhash_list.c (main): Update.
105950         * tests/test-array_oset.c (main): Update.
105952 2007-03-15  Bruno Haible  <bruno@clisp.org>
105954         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
105955         (gl_oset_create_empty): Add dispose_fn argument.
105956         (struct gl_oset_implementation): Add dispose_fn argument to
105957         'create_empty' method.
105958         (struct gl_oset_impl_base): Add dispose_fn field.
105959         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
105960         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
105961         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
105962         values.
105963         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
105964         (gl_tree_oset_free): Call dispose_fn on the dropped values.
105965         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
105966         dropped value.
105967         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
105968         dropped value.
105969         * tests/test-array_oset.c (main): Update.
105970         * tests/test-avltree_oset.c (main): Update.
105971         * tests/test-rbtree_oset.c (main): Update.
105972         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
105974 2007-03-13  Bruno Haible  <bruno@clisp.org>
105976         * tests/test-stdbool.c (i): Update after last patch.
105978 2007-03-12  Bruno Haible  <bruno@clisp.org>
105980         * lib/quotearg.c: Include <wctype.h> early, before the definition of
105981         the iswprint macro. Needed on Solaris 2.5.1.
105983 2007-03-12  Bruno Haible  <bruno@clisp.org>
105985         * tests/test-printf-frexp.c (main): Declare x as volatile.
105987 2007-03-12  Simon Josefsson  <simon@josefsson.org>
105989         * doc/gnulib.texi (Build robot for gnulib): New section.
105991 2007-03-12  Jim Meyering  <jim@meyering.net>
105993         * build-aux/bootstrap: New file.
105994         * build-aux/bootstrap.conf: New file, from coreutils.
105996 2007-03-11  Bruno Haible  <bruno@clisp.org>
105998         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
106000 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106002         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
106003         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
106004         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
106006 2007-03-11  Bruno Haible  <bruno@clisp.org>
106008         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
106009         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
106011 2007-03-11  Bruno Haible  <bruno@clisp.org>
106013         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
106014         formula. Needed for SunPRO C 5.0.
106016 2007-03-11  Bruno Haible  <bruno@clisp.org>
106018         * modules/long-options (Depends-on): Add getopt.
106020 2007-03-11  Bruno Haible  <bruno@clisp.org>
106022         * modules/modechange (Depends-on): Add stdbool.
106024 2007-03-11  Bruno Haible  <bruno@clisp.org>
106026         * modules/i-ring (Depends-on): Add stdbool.
106028 2007-03-11  Bruno Haible  <bruno@clisp.org>
106030         * modules/gc-des (Depends-on): Add stdbool.
106032 2007-03-11  Bruno Haible  <bruno@clisp.org>
106034         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
106036 2007-03-11  Bruno Haible  <bruno@clisp.org>
106038         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
106040 2007-03-11  Bruno Haible  <bruno@clisp.org>
106042         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
106044 2007-03-11  Bruno Haible  <bruno@clisp.org>
106046         * lib/vasnprintf.c (sprintf): Undefine.
106048 2007-03-11  Bruno Haible  <bruno@clisp.org>
106050         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
106051         initializers in SunPRO C and Compaq C compilers.
106053 2007-03-11  Bruno Haible  <bruno@clisp.org>
106055         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
106056         decrementing code ANSI C compliant.
106058 2007-03-11  Bruno Haible  <bruno@clisp.org>
106060         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
106061         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
106063 2007-03-11  Bruno Haible  <bruno@clisp.org>
106065         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
106066         <stdbool.h> substitute doesn't pass.
106068 2007-03-11  Bruno Haible  <bruno@clisp.org>
106070         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
106072 2007-03-11  Bruno Haible  <bruno@clisp.org>
106074         * gnulib-tool (func_create_megatestdir): Create also an autobuild
106075         script, for submission to autobuild.josefsson.org.
106077 2007-03-10  Bruno Haible  <bruno@clisp.org>
106079         * modules/canonicalize-lgpl-tests: New file.
106080         * tests/test-canonicalize-lgpl.sh: New file.
106081         * tests/test-canonicalize-lgpl.c: New file.
106083         * modules/c-strcase-tests: New file.
106084         * tests/test-c-strcase.sh: New file.
106085         * tests/test-c-strcasecmp.c: New file.
106086         * tests/test-c-strncasecmp.c: New file.
106088         * modules/atexit-tests: New file.
106089         * tests/test-atexit.sh: New file.
106090         * tests/test-atexit.c: New file.
106092 2007-03-10  Bruno Haible  <bruno@clisp.org>
106094         * tests/test-binary-io.sh: Use temporary filenames that are not so
106095         likely to clash with those of other tests (in a parallel make).
106096         * tests/test-binary-io.c: Likewise.
106098 2007-03-10  Bruno Haible  <bruno@clisp.org>
106100         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
106101         fallback; use #error instead.
106102         Suggested by Simon Josefsson.
106104 2007-03-10  Bruno Haible  <bruno@clisp.org>
106106         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
106107         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
106108         first and the last.
106110 2007-03-10  Bruno Haible  <bruno@clisp.org>
106112         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
106114 2007-03-10  Bruno Haible  <bruno@clisp.org>
106116         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
106117         "make distcheck".
106118         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
106119         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
106120         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
106122 2007-03-10  Bruno Haible  <bruno@clisp.org>
106124         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
106125         variable.
106126         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
106127         variable.
106129 2007-03-09  Eric Blake  <ebb9@byu.net>
106130         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
106132         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106133         types are not being provided by gnulib.
106134         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
106135         types are supported.
106137 2007-03-10  Bruno Haible  <bruno@clisp.org>
106139         * lib/stdio_.h (__attribute__): New macro.
106140         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
106141         vsprintf): Specify __attribute__ __format__ for GCC.
106142         Suggested by Eric Blake.
106144 2007-03-09  Bruno Haible  <bruno@clisp.org>
106146         * modules/printf-posix-tests: New file.
106147         * tests/test-printf-posix.sh: New file.
106148         * tests/test-printf-posix.c: New file.
106150         * modules/printf-posix: New file.
106151         * lib/printf.c: New file.
106152         * m4/printf-posix-rpl.m4: New file.
106153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
106154         REPLACE_PRINTF.
106155         * lib/stdio_.h (printf): New declaration.
106156         (format, __format__, ____printf____, ____scanf____, ____strftime____,
106157         ____strfmon____): New macros.
106158         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
106159         REPLACE_PRINTF.
106161 2007-03-09  Bruno Haible  <bruno@clisp.org>
106163         * tests/test-vasnprintf-posix2.sh: New file.
106164         * tests/test-vasnprintf-posix2.c: New file.
106165         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
106166         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
106167         (Makefile.am): Activate test-vasnprintf-posix2.sh.
106169         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
106170         a locale dependent decimal point, rather than always '.'.
106172 2007-03-09  Eric Blake  <ebb9@byu.net>
106174         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
106175         spite of platforms like Tandem/NSK that define it to -1.
106177 2007-03-08  Bruno Haible  <bruno@clisp.org>
106179         * modules/vprintf-posix-tests: New file.
106180         * tests/test-vprintf-posix.sh: New file.
106181         * tests/test-vprintf-posix.c: New file.
106182         * tests/test-printf-posix.h: New file.
106184         * modules/vprintf-posix: New file.
106185         * lib/vprintf.c: New file.
106186         * m4/vprintf-posix.m4: New file.
106187         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
106188         REPLACE_VPRINTF.
106189         * lib/stdio_.h (vprintf): New declaration.
106190         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
106191         REPLACE_VPRINTF.
106193 2007-03-08  Bruno Haible  <bruno@clisp.org>
106195         * modules/fprintf-posix-tests: New file.
106196         * tests/test-fprintf-posix.sh: New file.
106197         * tests/test-fprintf-posix.c: New file.
106199         * modules/fprintf-posix: New file.
106200         * lib/fprintf.c: New file.
106201         * m4/fprintf-posix.m4: New file.
106202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
106203         REPLACE_FPRINTF.
106204         * lib/stdio_.h (fprintf): New declaration.
106205         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
106206         REPLACE_FPRINTF.
106208 2007-03-08  Bruno Haible  <bruno@clisp.org>
106210         * modules/vfprintf-posix-tests: New file.
106211         * tests/test-vfprintf-posix.sh: New file.
106212         * tests/test-vfprintf-posix.c: New file.
106213         * tests/test-fprintf-posix.h: New file.
106214         * tests/test-fprintf-posix.out: New file.
106216         * modules/vfprintf-posix: New file.
106217         * lib/vfprintf.c: New file.
106218         * m4/vfprintf-posix.m4: New file.
106219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
106220         REPLACE_VFPRINTF.
106221         * lib/stdio_.h (vfprintf): New declaration.
106222         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
106223         REPLACE_VFPRINTF.
106225 2007-03-08  Bruno Haible  <bruno@clisp.org>
106227         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
106229 2007-03-08  Bruno Haible  <bruno@clisp.org>
106231         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
106232         instead of 'expr' invocations.
106233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106234         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106235         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
106237         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106238         Suggested by Paul Eggert.
106240 2007-03-08  Bruno Haible  <bruno@clisp.org>
106242         * modules/fseterr-tests: New file.
106243         * tests/test-fseterr.c: New file.
106245         * modules/fseterr: New file.
106246         * lib/fseterr.h: New file.
106247         * lib/fseterr.c: New file.
106249 2007-03-08  Bruno Haible  <bruno@clisp.org>
106251         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
106252         * lib/getopt_.h: Likewise.
106253         * lib/mbswidth.h: Likewise.
106254         * lib/setenv.h: Likewise.
106255         * lib/vasnprintf.h: Likewise.
106256         * lib/vasprintf.h: Likewise.
106257         * lib/verror.h: Likewise.
106258         * lib/xsetenv.h: Likewise.
106259         * lib/xvasprintf.h: Likewise.
106261 2007-03-08  Jim Meyering  <jim@meyering.net>
106263         * users.txt: Add parted.
106265         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
106267 2007-03-07  Bruno Haible  <bruno@clisp.org>
106269         * m4/printf.m4: Make the shell script snippets copy&pastable.
106271 2007-03-02  Bruno Haible  <bruno@clisp.org>
106273         * lib/netinet_in_.h: New file.
106274         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
106275         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
106276         * modules/netinet_in (Files): Add lib/netinet_in_.h.
106277         (Depends-on): Add absolute-header.
106278         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
106279         into netinet/in.h.
106281 2007-03-03  Bruno Haible  <bruno@clisp.org>
106283         * lib/sys_select_.h: New file.
106284         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
106285         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
106286         * modules/sys_select (Files): Add lib/sys_select_.h.
106287         (Depends-on): Add absolute-header.
106288         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
106289         into sys/select.h.
106291 2007-03-02  Bruno Haible  <bruno@clisp.org>
106293         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
106294         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
106295         values.
106296         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
106297         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
106298         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
106299         * modules/sys_socket (Depends-on): Add absolute-header.
106300         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
106301         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
106302         (Include): Remove requirement of inclusion of <sys/types.h>.
106304 2007-03-02  Bruno Haible  <bruno@clisp.org>
106306         * lib/byteswap_.h (bswap_32): Fix formula.
106308 2007-03-06  Bruno Haible  <bruno@clisp.org>
106310         * modules/sprintf-posix-tests: New file.
106311         * tests/test-sprintf-posix.c: New file.
106313         * modules/sprintf-posix: New file.
106314         * lib/sprintf.c: New file.
106315         * m4/sprintf-posix.m4: New file.
106316         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
106317         REPLACE_SPRINTF.
106318         * lib/stdio_.h (sprintf): New declaration.
106319         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
106320         REPLACE_SPRINTF.
106322 2007-03-06  Bruno Haible  <bruno@clisp.org>
106324         * modules/vsprintf-posix-tests: New file.
106325         * tests/test-vsprintf-posix.c: New file.
106326         * tests/test-sprintf-posix.h: New file.
106328         * modules/vsprintf-posix: New file.
106329         * lib/vsprintf.c: New file.
106330         * m4/vsprintf-posix.m4: New file.
106331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
106332         REPLACE_VSPRINTF.
106333         * lib/stdio_.h (vsprintf): New declaration.
106334         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
106335         REPLACE_VSPRINTF.
106337 2007-03-06  Bruno Haible  <bruno@clisp.org>
106339         * modules/vsnprintf (Depend-on): Remove minmax.
106341 2007-03-06  Bruno Haible  <bruno@clisp.org>
106343         * modules/snprintf-posix-tests: New file.
106344         * tests/test-snprintf-posix.c: New file.
106346         * modules/snprintf-posix: New file.
106347         * m4/snprintf-posix.m4: New file.
106348         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
106349         gl_FUNC_SNPRINTF.
106350         (gl_FUNC_SNPRINTF): Invoke it.
106351         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
106352         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
106353         is set.
106354         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
106356 2007-03-06  Bruno Haible  <bruno@clisp.org>
106358         * modules/vsnprintf-posix-tests: New file.
106359         * tests/test-vsnprintf-posix.c: New file.
106360         * tests/test-snprintf-posix.h: New file.
106362         * modules/vsnprintf-posix: New file.
106363         * m4/vsnprintf-posix.m4: New file.
106364         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
106365         gl_FUNC_VSNPRINTF.
106366         (gl_FUNC_VSNPRINTF): Invoke it.
106367         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
106368         * lib/stdio_.h (vsnprintf): Define as a replacement if
106369         REPLACE_VSNPRINTF is set.
106370         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
106372 2007-03-06  Bruno Haible  <bruno@clisp.org>
106374         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
106375         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
106377 2007-03-06  Bruno Haible  <bruno@clisp.org>
106379         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
106380         (asinl): Declare also if HAVE_DECL_ASINL is set.
106381         (atanl): Declare also if HAVE_DECL_ATANL is set.
106382         (ceill): Declare also if HAVE_DECL_CEILL is set.
106383         (cosl): Declare also if HAVE_DECL_COSL is set.
106384         (expl): Declare also if HAVE_DECL_EXPL is set.
106385         (floorl): Declare also if HAVE_DECL_FLOORL is set.
106386         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
106387         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
106388         (logl): Declare also if HAVE_DECL_LOGL is set.
106389         (sinl): Declare also if HAVE_DECL_SINL is set.
106390         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
106391         (tanl): Declare also if HAVE_DECL_TANL is set.
106392         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
106393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
106394         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
106395         declaration of frexpl, ldexpl.
106396         * modules/printf-frexpl (Depends-on): Add math.
106397         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
106399 2007-03-05  Bruno Haible  <bruno@clisp.org>
106401         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
106402         frexpl and ldexpl are declared.
106403         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
106405 2007-03-05  Bruno Haible  <bruno@clisp.org>
106407         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
106408         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
106410 2007-03-05  Bruno Haible  <bruno@clisp.org>
106412         * lib/stdio_.h: Include <stddef.h>.
106414 2007-03-05  Bruno Haible  <bruno@clisp.org>
106416         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
106418 2007-03-05  Bruno Haible  <bruno@clisp.org>
106420         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
106421         NetBSD 4, from Ralf Wildenhues.
106423 2007-03-04  Bruno Haible  <bruno@clisp.org>
106425         * lib/vasprintf.h: Update #if logic for the case when the functions
106426         exist but are overridden.
106428 2007-03-04  Bruno Haible  <bruno@clisp.org>
106430         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
106431         implementations: glibc-2.4 and MacOS X 10.3.
106432         * tests/test-vasnprintf-posix.c (test_function): Test also the case
106433         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
106434         * tests/test-vasprintf-posix.c (test_function): Likewise.
106436 2007-03-04  Bruno Haible  <bruno@clisp.org>
106438         * modules/vasprintf-posix-tests: New file.
106439         * tests/test-vasprintf-posix.c: New file.
106441         * modules/vasprintf-posix: New file.
106442         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
106443         defined.
106444         * m4/vasprintf-posix.m4: New file.
106445         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
106446         gl_FUNC_VASPRINTF.
106447         (gl_FUNC_VASPRINTF): Invoke it.
106448         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
106449         here.
106450         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
106452 2007-03-04  Bruno Haible  <bruno@clisp.org>
106454         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
106455         REPLACE_GETTIMEOFDAY.
106456         * modules/sys_time (Makefile.am): Likewise.
106457         * m4/sys_time_h.m4: Likewise.
106458         * m4/gettimeofday.m4: Likewise.
106460 2007-03-04  Bruno Haible  <bruno@clisp.org>
106462         * modules/vasnprintf-posix-tests: New file.
106463         * tests/test-vasnprintf-posix.c: New file.
106465         * modules/vasnprintf-posix: New file.
106466         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
106467         printf-frexpl.h.
106468         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
106469         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
106470         REPLACE_VASNPRINTF is defined.
106471         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
106472         gl_FUNC_VASNPRINTF.
106473         (gl_FUNC_VASNPRINTF): Invoke it.
106474         * m4/vasnprintf-posix.m4: New file.
106475         * m4/printf.m4: New file.
106477 2007-03-04  Bruno Haible  <bruno@clisp.org>
106479         Compile progreloc.c only if --enable-relocatable is specified.
106480         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
106481         if --enable-relocatable was specified.
106482         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
106483         lib_SOURCES.
106485 2007-03-04  Jim Meyering  <jim@meyering.net>
106487         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
106488         Use it consistently, rather than enumerating errno constants.
106490 2007-03-04  Bruno Haible  <bruno@clisp.org>
106492         * modules/xvasprintf-tests: New file.
106493         * tests/test-xvasprintf.c: New file.
106495         * modules/vasprintf-tests: New file.
106496         * tests/test-vasprintf.c: New file.
106498         * modules/vasnprintf-tests: New file.
106499         * tests/test-vasnprintf.c: New file.
106501         * modules/vsnprintf-tests: New file.
106502         * tests/test-vsnprintf.c: New file.
106504         * modules/snprintf-tests: New file.
106505         * tests/test-snprintf.c: New file.
106507 2007-03-04  Bruno Haible  <bruno@clisp.org>
106509         Compile relocatable.c only if --enable-relocatable is specified.
106510         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
106511         gl_RELOCATABLE_LIBRARY.
106512         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
106513         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
106514         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
106515         gl_RELOCATABLE_LIBRARY.
106516         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
106517         (Makefile.am): Remove lib_SOURCES.
106518         * modules/relocatable-lib-lgpl (configure.ac): Invoke
106519         gl_RELOCATABLE_LIBRARY.
106520         (Makefile.am): Remove lib_SOURCES.
106521         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
106522         always.
106523         * modules/relocatable-prog-wrapper (configure.ac): Invoke
106524         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
106526 2007-03-04  Bruno Haible  <bruno@clisp.org>
106528         * modules/argmatch-tests: New file.
106529         * tests/test-argmatch.c: New file.
106531         * tests/test-allocsa.c (main): Halve the number of loop runs.
106533         * modules/alloca-opt-tests: New file.
106534         * tests/test-alloca-opt.c: New file.
106536 2007-03-04  Jim Meyering  <jim@meyering.net>
106538         Work around difference between Linux ACLs and Solaris 10 ZFS.
106539         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
106540         for EINVAL.
106542 2007-03-03  Bruno Haible  <bruno@clisp.org>
106544         * modules/relocatable-prog (Depends-on): Add back progreloc's
106545         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
106547 2007-03-03  Bruno Haible  <bruno@clisp.org>
106549         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
106550         * modules/relocatable-lib: New file.
106552 2007-03-03  Bruno Haible  <bruno@clisp.org>
106554         * modules/relocatable-prog: Renamed from modules/relocatable.
106555         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
106557 2007-03-03  Bruno Haible  <bruno@clisp.org>
106559         * modules/relocatable-script (Files): Add doc/relocatable.texi,
106560         m4/relocatable-lib.m4.
106561         (Depends-on): Remove 'relocatable'.
106562         (configure.ac): Add gl_RELOCATABLE_NOP.
106564 2007-03-03  Bruno Haible  <bruno@clisp.org>
106566         * modules/relocatable-prog-wrapper: New file.
106567         * modules/relocatable (Depends-on): Add it. Remove all other
106568         dependencies except progname.
106569         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
106571         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
106572         (gl_FUNC_STRERROR): Nop.
106573         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
106575         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
106576         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
106578         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
106579         (gl_FUNC_READLINK): Update.
106581         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
106583 2007-03-03  Bruno Haible  <bruno@clisp.org>
106585         * lib/xreadlink.c: Include <unistd.h> unconditionally.
106586         * modules/xreadlink (Depends-on): Add unistd.
106587         * modules/xreadlink-with-size (Depends-on): Likewise.
106589 2007-03-03  Bruno Haible  <bruno@clisp.org>
106591         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
106592         extracted from gt_FUNC_SETENV.
106593         (gt_FUNC_SETENV): Remove macro.
106594         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
106595         remove gt_FUNC_SETENV.
106597 2007-03-03  Bruno Haible  <bruno@clisp.org>
106599         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
106600         ENABLE_RELOCATABLE here.
106601         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
106603 2007-03-03  Bruno Haible  <bruno@clisp.org>
106605         * modules/rbtreehash-list-tests (Depends-on): Add progname.
106606         * tests/test-rbtreehash_list.c: Include progname.h.
106607         (main): Call set_program_name.
106609         * modules/rbtree-oset-tests (Depends-on): Add progname.
106610         * tests/test-rbtree_oset.c: Include progname.h.
106611         (main): Call set_program_name.
106613         * modules/rbtree-list-tests (Depends-on): Add progname.
106614         * tests/test-rbtree_list.c: Include progname.h.
106615         (main): Call set_program_name.
106617         * modules/linked-list-tests (Depends-on): Add progname.
106618         * tests/test-linked_list.c: Include progname.h.
106619         (main): Call set_program_name.
106621 2007-03-03  Bruno Haible  <bruno@clisp.org>
106623         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
106624         All uses of __restrict changed to _Restrict_.
106625         * lib/glob_.h (__restrict): Remove macro.
106627 2007-03-02  Bruno Haible  <bruno@clisp.org>
106629         * modules/gettext (configure.ac): Require gettext infrastructure
106630         from version 0.16.1.
106632 2007-03-02  Bruno Haible  <bruno@clisp.org>
106634         * modules/linkedhash-list-tests (Depends-on): Add progname.
106635         * tests/test-linkedhash_list.c: Include progname.h.
106636         (main): Call set_program_name.
106638         * modules/carray-list-tests (Depends-on): Add progname.
106639         * tests/test-carray_list.c: Include progname.h.
106640         (main): Call set_program_name.
106642         * modules/avltreehash-list-tests (Depends-on): Add progname.
106643         * tests/test-avltreehash_list.c: Include progname.h.
106644         (main): Call set_program_name.
106646         * modules/avltree-oset-tests (Depends-on): Add progname.
106647         * tests/test-avltree_oset.c: Include progname.h.
106648         (main): Call set_program_name.
106650         * modules/avltree-list-tests (Depends-on): Add progname.
106651         * tests/test-avltree_list.c: Include progname.h.
106652         (main): Call set_program_name.
106654         * modules/array-oset-tests (Depends-on): Add progname.
106655         * tests/test-array_oset.c: Include progname.h.
106656         (main): Call set_program_name.
106658         * modules/array-list-tests (Depends-on): Add progname.
106659         * tests/test-array_list.c: Include progname.h.
106660         (main): Call set_program_name.
106662         * modules/argp-tests (Depends-on): Add progname.
106663         * tests/test-argp.c: Include argp.h first. Include progname.h.
106664         (main): Call set_program_name.
106666 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
106668         * doc/gnulib-tool.texi (Initial import): Reword description of
106669         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
106670         limited effect even if defined after the first system include.
106672 2007-03-01  Bruno Haible  <bruno@clisp.org>
106674         * build-aux/config.libpath: Update to libtool-1.5.22.
106675         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
106677 2007-03-01  Bruno Haible  <bruno@clisp.org>
106679         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
106680         foo_CFLAGS.
106681         Reported by Ralf Wildenhues.
106683 2007-03-01  Bruno Haible  <bruno@clisp.org>
106685         * build-aux/install-reloc: Remove object files left over by some
106686         compilers.
106687         Reported by Ralf Wildenhues.
106689 2007-03-01  Bruno Haible  <bruno@clisp.org>
106691         * build-aux/install-reloc: Break long lines.
106693 2007-03-01  Bruno Haible  <bruno@clisp.org>
106695         * doc/relocatable.texi: Document that it may not work on OpenBSD.
106696         Reported by Ralf Wildenhues.
106698 2007-03-01  Bruno Haible  <bruno@clisp.org>
106700         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
106701         include ordering constraints.
106703 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106705         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
106706         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
106707         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
106708         as another example.
106709         * lib/time_.h: Fix misspelling.
106710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
106711         Require gl_HEADER_TIME_H_DEFAULTS.
106712         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
106713         * m4/time_r.m4 (gl_TIME_R): Likewise.
106714         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
106716 2007-03-01  Bruno Haible  <bruno@clisp.org>
106718         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
106719         * m4/utimens.m4 (gl_UTIMENS): Likewise.
106721 2007-03-01  Jim Meyering  <jim@meyering.net>
106723         * modules/xreadlink (Maintainer): Add my name.
106724         * modules/xreadlink-with-size (Depends-on): Alphabetize.
106726 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
106727             Bruno Haible  <bruno@clisp.org>
106729         * build-aux/install-reloc: Compile also c-ctype.c.
106730         * build-aux/relocatable.sh.in: New file.
106731         * doc/relocatable.texi: New file.
106732         * doc/relocatable-maint.texi: New file.
106733         * doc/gnulib.texi: Include relocatable-maint.texi.
106734         * lib/progreloc.c: Include unistd.h unconditionally.
106735         * lib/relocwrapper.c: Include unistd.h unconditionally.
106736         Include c-ctype.h.
106737         (add_dotbin): Use c_tolower.
106738         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
106739         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
106740         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
106741         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
106742         to m4/relocatable-lib.m4.
106743         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
106744         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
106745         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
106746         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
106747         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
106748         * modules/relocatable: New file.
106749         * modules/relocatable-lib: New file.
106750         * modules/relocatable-script: New file.
106752 2007-02-28  Bruno Haible  <bruno@clisp.org>
106754         Import --enable-relocatable infrastructure.
106755         * build-aux/config.libpath: New file, from GNU gettext.
106756         * build-aux/install-reloc: New file, from GNU gettext.
106757         * build-aux/reloc-ldflags: New file, from GNU gettext.
106758         * lib/relocatable.h: New file, from GNU gettext.
106759         * lib/relocatable.c: New file, from GNU gettext.
106760         * lib/relocwrapper.c: New file, from GNU gettext.
106761         * m4/relocatable.m4: New file, from GNU gettext.
106763 2007-02-28  Bruno Haible  <bruno@clisp.org>
106765         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
106767         * modules/xreadlink: New file, from GNU gettext with modifications.
106768         * lib/xreadlink.c: New file, from GNU gettext.
106769         * lib/xreadlink.h: Add comments.
106770         (xreadlink): New declaration.
106772         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
106773         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
106774         lib/xreadlink-with-size.c.
106775         (configure.ac): Remove gl_XREADLINK invocation.
106776         (Makefile.am): Augment lib_SOURCES.
106777         * m4/xreadlink.m4: Remove file.
106778         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
106779         (xreadlink_with_size): Renamed from xreadink.
106780         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
106781         * modules/canonicalize (Depends-on): Replace xreadlink with
106782         xreadlink-with-size.
106783         * lib/canonicalize.c (canonicalize_filename_mode): Update.
106785 2007-02-25  Jim Meyering  <jim@meyering.net>
106787         * build-aux/announce-gen: When complaining about excess arguments,
106788         list them.
106790 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106792         * README: Document signed integer overflow situation more
106793         accurately.
106795 2007-02-25  Bruno Haible  <bruno@clisp.org>
106797         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
106798         'a' or 'A' conversion.
106800 2007-02-25  Bruno Haible  <bruno@clisp.org>
106802         * modules/filename: Renamed from modules/pathname.
106803         (Files): Replace lib/pathname.h with lib/filename.h. Replace
106804         lib/concatpath.c with lib/concat-filename.c.
106805         (Makefile.am): Update.
106806         (Include): Replace pathname.h with filename.h.
106807         * lib/filename.h: Renamed from lib/pathname.h.
106808         (concatenated_filename): Renamed from concatenated_pathname.
106809         * lib/concat-filename.c: Renamed from lib/concatpath.c.
106810         (concatenated_filename): Renamed from concatenated_pathname.
106811         * lib/findprog.c: Include filename.h instead of pathname.h.
106812         (find_in_path): Update.
106813         * lib/javacomp.c: Include filename.h instead of pathname.h.
106814         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
106815         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
106816         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
106817         is_oldgcj_14_13_usable, is_javac_usable): Update.
106818         * lib/javaexec.c: Include filename.h instead of pathname.h.
106819         (execute_java_class): Update.
106820         * modules/findprog: Update.
106821         * modules/javacomp: Update.
106822         * modules/javaexec: Update.
106823         * MODULES.html.sh (File system functions): Add 'filename', remove
106824         'pathname'.
106826 2007-02-25  Bruno Haible  <bruno@clisp.org>
106828         * modules/printf-frexpl-tests: New file.
106829         * tests/test-printf-frexpl.c: New file.
106831         * modules/printf-frexpl: New file.
106832         * lib/printf-frexpl.h: New file.
106833         * lib/printf-frexpl.c: New file.
106834         * m4/printf-frexpl.m4: New file.
106836 2007-02-25  Bruno Haible  <bruno@clisp.org>
106838         * modules/printf-frexp-tests: New file.
106839         * tests/test-printf-frexp.c: New file.
106841         * modules/printf-frexp: New file.
106842         * lib/printf-frexp.h: New file.
106843         * lib/printf-frexp.c: New file.
106844         * m4/printf-frexp.m4: New file.
106846 2007-02-25  Bruno Haible  <bruno@clisp.org>
106848         Assume automake >= 1.10 for the tests.
106849         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
106850         * modules/arctwo-tests: Likewise.
106851         * modules/argp-tests: Likewise.
106852         * modules/avltree-list-tests: Likewise.
106853         * modules/avltree-oset-tests: Likewise.
106854         * modules/avltreehash-list-tests: Likewise.
106855         * modules/carray-list-tests: Likewise.
106856         * modules/crc-tests: Likewise.
106857         * modules/des-tests: Likewise.
106858         * modules/gc-arcfour-tests: Likewise.
106859         * modules/gc-arctwo-tests: Likewise.
106860         * modules/gc-des-tests: Likewise.
106861         * modules/gc-hmac-md5-tests: Likewise.
106862         * modules/gc-hmac-sha1-tests: Likewise.
106863         * modules/gc-md2-tests: Likewise.
106864         * modules/gc-md4-tests: Likewise.
106865         * modules/gc-md5-tests: Likewise.
106866         * modules/gc-pbkdf2-sha1-tests: Likewise.
106867         * modules/gc-rijndael-tests: Likewise.
106868         * modules/gc-sha1-tests: Likewise.
106869         * modules/gc-tests: Likewise.
106870         * modules/getaddrinfo-tests: Likewise.
106871         * modules/hmac-md5-tests: Likewise.
106872         * modules/hmac-sha1-tests: Likewise.
106873         * modules/linked-list-tests: Likewise.
106874         * modules/linkedhash-list-tests: Likewise.
106875         * modules/lock-tests: Likewise.
106876         * modules/md2-tests: Likewise.
106877         * modules/md4-tests: Likewise.
106878         * modules/md5-tests: Likewise.
106879         * modules/rbtree-list-tests: Likewise.
106880         * modules/rbtree-oset-tests: Likewise.
106881         * modules/rbtreehash-list-tests: Likewise.
106882         * modules/read-file-tests: Likewise.
106883         * modules/rijndael-tests: Likewise.
106884         * modules/stdint-tests: Likewise.
106885         * modules/tls-tests: Likewise.
106887 2007-02-24  Bruno Haible  <bruno@clisp.org>
106889         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
106890         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
106891         function; instead check whether isnan with a double argument links.
106892         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
106893         function; instead check whether isnan with a 'long double' argument
106894         links.
106895         Reported by Eric Blake <ebb9@byu.net>.
106897 2007-02-24  Bruno Haible  <bruno@clisp.org>
106899         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
106900         defined.
106901         * lib/isnanl.c: Remove all code. Just include isnan.c.
106902         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
106904 2007-02-25  Jim Meyering  <jim@meyering.net>
106906         Avoid conflicting types for 'unsetenv' on FreeBSD.
106907         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
106908         conflicting with FreeBSD's (5.0 and 6.1) function declaration
106909         in stdlib.h.
106911 2007-02-24  Bruno Haible  <bruno@clisp.org>
106913         * modules/isnanl-nolibm-tests: New file.
106914         * tests/test-isnanl.c: New file.
106916         * modules/isnanl-nolibm: New file.
106917         * lib/isnanl.h: New file.
106918         * lib/isnanl.c: New file.
106919         * m4/isnanl.m4: New file.
106921 2007-02-24  Bruno Haible  <bruno@clisp.org>
106923         * modules/isnan-nolibm-tests: New file.
106924         * tests/test-isnan.c: New file.
106926         * modules/isnan-nolibm: New file.
106927         * lib/isnan.h: New file.
106928         * lib/isnan.c: New file.
106929         * m4/isnan.m4: New file.
106931 2007-02-24  Bruno Haible  <bruno@clisp.org>
106933         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
106934         assume that an exponent fits in 20 bits.
106936 2007-02-24  Jim Meyering  <jim@meyering.net>
106938         * m4/regex.m4: Update the description of the configure-time option,
106939         --without-included-regex, to state accurately what the defaults are,
106940         and perhaps to give people an idea why using this option is risky.
106942 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
106944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
106945         loops on small arguments.  This attempts to avoid the problem
106946         Bruno Haible reported for AIX 4.3.2 in
106947         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
106949 2007-02-23  Bruno Haible  <bruno@clisp.org>
106951         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
106952         Needed for help2man.
106954 2007-02-23  Karl Berry  <karl@gnu.org>
106956         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
106957         exists, foo.h should be cvs-ignored, not committed.
106959 2007-02-23  Eric Blake  <ebb9@byu.net>
106961         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
106962         * lib/stat-time.h (includes): Likewise.
106963         * lib/utimecmp.c (includes): Likewise.
106964         * lib/utimens.h (includes): Likewise.
106965         * lib/getdate.y (includes): Also include "timespec.h" for use
106966         internal to the module.
106967         * modules/utimens (Depends-on): Revert yesterday's patch.
106968         * modules/nanosleep (Depends-on): Add missing dependency.
106970 2007-02-22  Bruno Haible  <bruno@clisp.org>
106972         * lib/glob.c: Don't include getlogin_r.h.
106974 2007-02-22  Jim Meyering  <jim@meyering.net>
106976         * modules/utimens (Depends-on): Add timespec, required for
106977         utimens.h's inclusion of timespec.h.
106979 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
106981         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
106982         long unreadable paths in GNU/Linux.  Problem reported by Andreas
106983         Schwab in
106984         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
106985         I'll try to think of a better way to fix the Solaris problem.
106987         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
106988         like glibc; on Solaris 10, it fails with errno == EINVAL.
106989         POSIX says the behavior is unspecified if the first argument is NULL,
106990         so play it safe and never pass NULL to the system getcwd.
106992 2007-02-21  Jim Meyering  <jim@meyering.net>
106994         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
106995         of gettimeofday.  It would conflict with the one now always
106996         provided via sys_time_.h.  Reported by Matthew Woehlke, as
106997         an IRIX 6.5 build failure.
106999 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
107001         Minor fixups to port to Solaris 10 with Sun C 5.8.
107002         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
107003         * modules/getcwd (Depends-on): Add dirfd.
107004         * lib/putenv.c (putenv): #undef it.
107005         (rpl_putenv): New decl.
107006         (malloc, free): Include <stdlib.h> rather than prototyping separately.
107008 2007-02-20  Bruno Haible  <bruno@clisp.org>
107010         * modules/stdio-tests: New file.
107011         * tests/test-stdio.c: New file.
107013         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
107014         (Depends-on): Add stdio.
107015         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107016         (Include): Use <stdio.h> instead of vsnprintf.h.
107017         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107018         HAVE_DECL_VSNPRINTF.
107019         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
107021         * modules/snprintf (Files): Remove lib/snprintf.h.
107022         (Depends-on): Add stdio.
107023         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107024         (Include): Use <stdio.h> instead of snprintf.h.
107025         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107026         HAVE_DECL_SNPRINTF.
107027         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
107028         * lib/getaddrinfo.c: Likewise.
107030         * modules/stdio: New file.
107031         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
107032         * lib/snprintf.h: Remove file.
107033         * lib/vsnprintf.h: Remove file.
107034         * lib/.cppi-disable: Remove snprintf.h.
107035         * m4/stdio_h.m4: New file.
107036         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
107038 2007-02-20  Jim Meyering  <jim@meyering.net>
107040         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
107041         used by e.g., mingw.  From Bruno Haible.
107043 2007-02-19  Bruno Haible  <bruno@clisp.org>
107045         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
107046         warnings.
107047         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107049 2007-02-19  Bruno Haible  <bruno@clisp.org>
107051         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
107052         from mingw users.
107054 2007-02-19  Bruno Haible  <bruno@clisp.org>
107056         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
107057         warnings.
107058         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
107060 2007-02-19  Jim Meyering  <jim@meyering.net>
107062         Don't use FD after a successful "fdopendir (fd)".
107063         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
107064         Reset it by calling dirfd on the just-obtained DIR*.
107066         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
107067         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
107069 2007-02-18  Bruno Haible  <bruno@clisp.org>
107071         * lib/readlink.c: Include <unistd.h>.
107072         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
107073         HAVE_READLINK.
107074         * modules/readlink (Depends-on): Add unistd.
107075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107076         (Include): Add <unistd.h>.
107078         * lib/getlogin_r.h: Remove file.
107079         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
107080         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
107081         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
107082         HAVE_DECL_GETLOGIN_R.
107083         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
107084         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107085         (Include): Use <unistd.h> instead of getlogin_r.h.
107087         * lib/getcwd.h: Remove file.
107088         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
107089         * lib/xgetcwd.c: Likewise.
107090         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
107091         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
107092         * modules/getcwd (Files): Remove lib/getcwd.h.
107093         (Depends-on): Add unistd.
107094         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107095         (Include): Use <unistd.h> instad of getcwd.h.
107097         * lib/ftruncate.c: Include <unistd.h> first.
107098         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
107099         Set HAVE_FTRUNCATE.
107100         * modules/ftruncate (Depends-on): Add unistd.
107101         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107103         * lib/fchdir.c: Include <unistd.h> first.
107104         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
107105         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
107106         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
107107         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107108         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
107110         * lib/dup2.c: Include <unistd.h> first.
107111         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
107112         HAVE_DUP2.
107113         * modules/dup2 (Depends-on): Add unistd.
107114         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107116         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
107117         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
107118         REPLACE_CHOWN. Don't define chown as a macro here.
107119         * modules/chown (Depends-on): Add unistd.
107120         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107122         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
107123         Add definition for GL_LINK_WARNING.
107124         (chown, dup2): New declarations.
107125         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
107126         link warning.
107127         (ftruncate): New declaration.
107128         (getcwd): New declaration, taken from old getcwd.h.
107129         (getlogin_r): New declaration, taken from old getlogin_r.h.
107130         (readlink): New declaration.
107131         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
107132         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
107133         (gl_PREREQ_UNISTD): Remove macro.
107134         (gl_UNISTD_MODULE_INDICATOR): New macro.
107135         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
107136         many new variables. Don't set UNISTD_H.
107137         * modules/unistd (Description): Change.
107138         (Depends-on): Add link-warning.
107139         (configure.ac): Update.
107140         (Makefile.am): Create unistd.h always. Substitute many new variables
107141         into it.
107143 2007-02-18  Bruno Haible  <bruno@clisp.org>
107145         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
107146         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
107147         HAVE_GETSUBOPT.
107148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
107149         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
107150         * lib/getsubopt.h: Remove file.
107151         * modules/getsubopt (Files): Remove lib/getsubopt.h.
107152         (Depends-on): Add stdlib.
107153         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107154         (Includes): Use <stdlib.h> instead of getsubopt.h.
107155         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
107156         Set HAVE_GETSUBOPT.
107157         * lib/getsubopt.c: Don't include getsubopt.h.
107159 2007-02-18  Bruno Haible  <bruno@clisp.org>
107161         * modules/fchdir (Depends-on): Add dup2.
107163 2007-02-18  Bruno Haible  <bruno@clisp.org>
107165         * lib/stdlib_.h: Handle glibc's special invocation convention
107166         specially.
107168 2007-02-18  Bruno Haible  <bruno@clisp.org>
107170         * modules/stdlib-tests: New file.
107171         * tests/test-stdlib.c: New file.
107173         * modules/mkstemp (Files): Remove lib/mkstemp.h.
107174         (Depends-on): Add stdlib.
107175         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107176         (Includes): Use <stdlib.h> instead of mkstemp.h.
107177         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107178         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
107179         * lib/mkstemp.c: Don't include mkstemp.h.
107180         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
107181         * lib/stdlib--.h: Don't include mkstemp.h.
107183         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
107184         (Depends-on): Add stdlib.
107185         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107186         (Includes): Use <stdlib.h> instead of mkdtemp.h.
107187         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107188         HAVE_MKDTEMP.
107189         * lib/mkdtemp.c: Don't include mkdtemp.h.
107190         * lib/clean-temp.c: Don't include mkdtemp.h.
107192         * modules/exit (Files): Remove lib/exit.h.
107193         (Depends-on): Add stdlib.
107194         (Makefile.am): Remove lib_SOURCES.
107195         (Include): Use <stdlib.h> instead of exit.h.
107196         * lib/argmatch.c: Don't include exit.h.
107197         * lib/execute.c: Likewise.
107198         * lib/pagealign_alloc.c: Likewise.
107199         * lib/pipe.c: Likewise.
107200         * lib/wait-process.c: Likewise.
107201         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
107202         * lib/exitfail.c: Likewise.
107203         * lib/savewd.c: Likewise.
107204         * lib/xsetenv.c: Likewise.
107206         * modules/stdlib: New file.
107207         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
107208         and extra comments about mkstemp().
107209         * lib/exit.h: Remove file.
107210         * lib/mkdtemp.h: Remove file.
107211         * lib/mkstemp.h: Remove file.
107212         * m4/stdlib_h.m4: New file.
107213         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
107215 2007-02-18  Bruno Haible  <bruno@clisp.org>
107217         * modules/math-tests: New file.
107218         * tests/test-math.c: New file.
107220         * modules/math: New file.
107221         * modules/mathl (Files): Remove lib/mathl.h.
107222         (Depends-on): Add math.
107223         (Makefile.am): Don't mention mathl.h.
107224         (Include): Use <math.h> instead of mathl.h.
107225         * lib/math_.h: New file.
107226         * lib/mathl.h: Remove file.
107227         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
107228         mathl.h.
107229         * lib/asinl.c: Likewise.
107230         * lib/atanl.c: Likewise.
107231         * lib/ceill.c: Likewise.
107232         * lib/cosl.c: Likewise.
107233         * lib/expl.c: Likewise.
107234         * lib/floorl.c: Likewise.
107235         * lib/frexpl.c: Likewise.
107236         * lib/ldexpl.c: Likewise.
107237         * lib/logl.c: Likewise.
107238         * lib/sincosl.c: Likewise.
107239         * lib/sinl.c: Likewise.
107240         * lib/sqrtl.c: Likewise.
107241         * lib/tanl.c: Likewise.
107242         * lib/trigl.c: Likewise.
107243         * m4/math_h.m4: New file.
107244         * MODULES.html.sh (Mathematics): Add math.
107246 2007-02-17  Bruno Haible  <bruno@clisp.org>
107248         * modules/wctype-tests: New file.
107249         * tests/test-wctype.c: New file.
107251         * modules/wchar-tests: New file.
107252         * tests/test-wchar.c: New file.
107254         * modules/unistd-tests: New file.
107255         * tests/test-unistd.c: New file.
107257         * modules/time-tests: New file.
107258         * tests/test-time.c: New file.
107260         * modules/sysexits-tests: New file.
107261         * tests/test-sysexits.c: New file.
107263         * modules/sys_time-tests: New file.
107264         * tests/test-sys_time.c: New file.
107266         * modules/sys_stat-tests: New file.
107267         * tests/test-sys_stat.c: New file.
107269         * modules/sys_socket-tests: New file.
107270         * tests/test-sys_socket.c: New file.
107272         * modules/sys_select-tests: New file.
107273         * tests/test-sys_select.c: New file.
107275         * modules/string-tests: New file.
107276         * tests/test-string.c: New file.
107278         * modules/stdbool-tests: New file.
107279         * tests/test-stdbool.c: New file.
107281         * modules/netinet_in-tests: New file.
107282         * tests/test-netinet_in.c: New file.
107284         * modules/inttypes-tests: New file.
107285         * tests/test-inttypes.c: New file.
107287         * modules/fcntl-tests: New file.
107288         * tests/test-fcntl.c: New file.
107290         * modules/byteswap-tests: New file.
107291         * tests/test-byteswap.c: New file.
107293         * modules/arpa_inet-tests: New file.
107294         * tests/test-arpa_inet.c: New file.
107296 2007-02-17  Bruno Haible  <bruno@clisp.org>
107298         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
107299         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
107300         if the corresponding module is not enabled. Emit link warnings if
107301         the function is used nevertheless.
107302         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
107303         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
107304         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
107305         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
107306         * modules/inttypes (Depends-on): Add link-warning.
107307         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107308         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
107309         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
107310         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
107311         * modules/imaxdiv (configure.ac): Likewise.
107312         * modules/strtoimax (configure.ac): Likewise.
107313         * modules/strtoumax (configure.ac): Likewise.
107315 2007-02-17  Bruno Haible  <bruno@clisp.org>
107317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
107318         gl_STRING_MODULE_INDICATOR_DEFAULTS.
107319         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
107320         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
107322 2007-02-17  Bruno Haible  <bruno@clisp.org>
107324         * modules/link-warning: New file.
107325         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
107326         * lib/string_.h (GL_LINK_WARNING): Remove definition.
107327         * modules/string (Depends-on): Add link-warning.
107328         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107329         string.h.
107330         * MODULES.html.sh (Support for building libraries and executables): Add
107331         link-warning.
107333 2007-02-17  Bruno Haible  <bruno@clisp.org>
107335         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
107336         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
107337         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
107338         long lines.
107340 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
107341             Bruno Haible  <bruno@clisp.org>
107343         * modules/tmpfile: New file.
107344         * lib/tmpfile.c: New file.
107345         * m4/tmpfile.m4: New file.
107346         * MODULES.html.sh (func_all_modules): New section "Input/output".
107348 2007-02-15  Bruno Haible  <bruno@clisp.org>
107350         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
107351         (supports_delete_on_close): New function.
107352         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
107354 2007-02-14  Bruno Haible  <bruno@clisp.org>
107356         * modules/mbspcasecmp-tests: New file.
107357         * tests/test-mbspcasecmp.sh: New file.
107358         * tests/test-mbspcasecmp.c: New file.
107360         New module mbspcasecmp.
107361         * modules/mbspcasecmp: New file.
107362         * lib/mbspcasecmp.c: New file.
107363         * lib/string_.h (strncasecmp): Change warning message.
107364         (mbspcasecmp): New declaration.
107365         * m4/mbspcasecmp.m4: New file.
107366         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107367         GNULIB_MBSPCASECMP.
107368         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
107369         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
107371 2007-02-14  Bruno Haible  <bruno@clisp.org>
107373         * modules/mbsncasecmp-tests: New file.
107374         * tests/test-mbsncasecmp.sh: New file.
107375         * tests/test-mbsncasecmp.c: New file.
107377         New module mbsncasecmp.
107378         * modules/mbsncasecmp: New file.
107379         * lib/mbsncasecmp.c: New file.
107380         * lib/string_.h (mbsncasecmp): New declaration.
107381         * m4/mbsncasecmp.m4: New file.
107382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107383         GNULIB_MBSNCASECMP.
107384         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
107385         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
107387 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
107389         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
107390         Verify that it doesn't overlap with our flags.
107391         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
107392         do not have the desired effect in multibyte locales; instead, use
107393         mbscasecmp.
107394         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
107395         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
107396         we don't require GNU fnmatch ourselves (if our users require it, they
107397         should do so explicitly).
107399         Fix regex code so it doesn't rely on strcasecmp.
107400         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
107401         Otherwise, include gnulib's langinfo.h.
107402         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
107403         undesirable behavior in non-C locales.  Instead, rely on localecharset.
107404         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
107405         * modules/regex (FILES): Remove m4/codeset.m4.
107406         (Depends-on): Add localcharset.  Remove strcase.
107408 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107410         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
107411         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
107413 2007-02-13  Bruno Haible  <bruno@clisp.org>
107415         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
107416         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107418 2007-02-12  Bruno Haible  <bruno@clisp.org>
107420         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107421         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
107422         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
107423         time warning rather than a link error.
107425 2007-02-12  Bruno Haible  <bruno@clisp.org>
107427         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
107428         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
107429         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107431 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107433         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
107434         args, not 2.
107436 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107438         New module 'time', so that apps can include <time.h> as per
107439         POSIX and GNU instead of separate include files like time_r.h
107440         and timegm.h.  This implementation tries out a simpler approach
107441         for replacing decls in standard include files (as compared to
107442         the string module), somewhat as an experiment.
107444         * config/srclist.txt: Comment out mktime.c for now.
107445         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
107446         since it doesn't apply any more.  Use generic wording instead.
107447         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
107448         'time'.
107449         * lib/time_.h, m4/time_h.m4, modules/time: New files.
107450         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
107451         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
107452         Don't include <sys/types.h>; no longer needed since we assume C89.
107453         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
107454         * lib/strftime.c: Likewise.
107455         * lib/time_r.c: Likewise.
107456         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
107457         * lib/nanosleep.c: Include <time.h> first, to check interface.
107458         * lib/strptime.c: Likewise.
107459         * lib/time_r.c: Likewise.
107460         * lib/timegm.c: Likewise.
107461         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
107462         needed.
107463         * lib/timegm.c: Don't include timegm.h; no longer needed.
107464         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
107465         time.h now handles any problems in that area.
107466         (struct timespec, nanosleep): Remove; time.h now arranges for these.
107467         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
107468         that time.h defines struct timespec.
107469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
107470         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
107471         handles that.
107472         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
107473         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
107474         needed.  Set REPLACE_LOCALTIME.
107475         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
107476         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
107477         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
107478         nanosleep; time_h.m4 now does that.  Don't require
107479         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
107480         module handles this now.
107481         * modules/getdate (Depends-on): Remove timespec.  Add time.
107482         * modules/nanosleep (Depends-on): Likewise.
107483         * modules/stat-time (Depends-on): Likewise.
107484         * modules/nanosleep (Include): Include time.h, not timespec.h.
107485         * modules/strptime (Files): Remove lib/strptime.h.
107486         (Depends-on): Add extensions, time.
107487         (Include): Include time.h, not strptime.h.
107488         * modules/time_r (Files): Remove lib/time_r.h.
107489         (Depends-on): Add time.
107490         (Include): Include time.h, not time_r.h.
107491         * modules/timegm: Likewise.
107492         * modules/timespec (Description): Now does timespec-related decls
107493         of our own, instead of struct timespec itself.
107494         (Depends-on): Add time; remove extensions.
107495         (Maintainer): Add self.
107496         * modules/utimecmp (Depends-on): Add time; remove timespec.
107497         * modules/utimens (Depends-on): Likewise.
107498         * modules/xnanosleep (Depends-on): Likewise.
107500 2007-02-11  Bruno Haible  <bruno@clisp.org>
107502         * lib/c-strstr.c: Include allocsa.h.
107503         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107504         * lib/c-strcasestr.c: Include allocsa.h.
107505         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107506         * lib/strcasestr.c: Include allocsa.h.
107507         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
107508         * lib/mbsstr.c: Include allocsa.h.
107509         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107510         allocsa/freesa instead of malloc/free.
107511         * lib/mbscasestr.c: Include allocsa.h.
107512         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
107513         allocsa/freesa instead of malloc/free.
107514         * modules/c-strstr (Depends-on): Add allocsa.
107515         * modules/c-strcasestr (Depends-on): Likewise.
107516         * modules/strcasestr (Depends-on): Likewise.
107517         * modules/mbsstr (Depends-on): Likewise.
107518         * modules/mbscasestr (Depends-on): Likewise.
107520 2007-02-11  Bruno Haible  <bruno@clisp.org>
107522         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
107524         * modules/mbsspn-tests: New file.
107525         * tests/test-mbsspn.sh: New file.
107526         * tests/test-mbsspn.c: New file.
107528 2007-02-11  Bruno Haible  <bruno@clisp.org>
107530         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
107532         * modules/mbspbrk-tests: New file.
107533         * tests/test-mbspbrk.sh: New file.
107534         * tests/test-mbspbrk.c: New file.
107536 2007-02-11  Bruno Haible  <bruno@clisp.org>
107538         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
107539         unneeded cast.
107541         * modules/mbscspn-tests: New file.
107542         * tests/test-mbscspn.sh: New file.
107543         * tests/test-mbscspn.c: New file.
107545 2007-02-11  Bruno Haible  <bruno@clisp.org>
107547         * modules/mbscasecmp-tests: New file.
107548         * tests/test-mbscasecmp.sh: New file.
107549         * tests/test-mbscasecmp.c: New file.
107551 2007-02-11  Bruno Haible  <bruno@clisp.org>
107553         Ensure O(n) worst-case complexity of mbscasestr.
107554         * lib/mbscasestr.c: Include stdbool.h.
107555         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
107556         functions.
107557         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
107558         the bookkeeping indicates that it's worth it.
107559         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
107561         * modules/mbscasestr-tests: New file.
107562         * tests/test-mbscasestr1.c: New file.
107563         * tests/test-mbscasestr2.sh: New file.
107564         * tests/test-mbscasestr2.c: New file.
107565         * tests/test-mbscasestr3.sh: New file.
107566         * tests/test-mbscasestr3.c: New file.
107567         * tests/test-mbscasestr4.sh: New file.
107568         * tests/test-mbscasestr4.c: New file.
107569         * m4/locale-tr.m4: New file.
107571 2007-02-11  Bruno Haible  <bruno@clisp.org>
107573         Ensure O(n) worst-case complexity of mbsstr.
107574         * lib/mbsstr.c: Include stdbool.h.
107575         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
107576         functions.
107577         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
107578         bookkeeping indicates that it's worth it.
107579         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
107581         * modules/mbsstr-tests: New file.
107582         * tests/test-mbsstr1.c: New file.
107583         * tests/test-mbsstr2.sh: New file.
107584         * tests/test-mbsstr2.c: New file.
107585         * tests/test-mbsstr3.sh: New file.
107586         * tests/test-mbsstr3.c: New file.
107587         * m4/locale-fr.m4: New file.
107589 2007-02-11  Bruno Haible  <bruno@clisp.org>
107591         * lib/mbsrchr.c (mbsrchr): Fix bug.
107593         * modules/mbsrchr-tests: New file.
107594         * tests/test-mbsrchr.sh: New file.
107595         * tests/test-mbsrchr.c: New file.
107597 2007-02-11  Bruno Haible  <bruno@clisp.org>
107599         * lib/mbschr.c (mbschr): Fix bug.
107601         * modules/mbschr-tests: New file.
107602         * tests/test-mbschr.sh: New file.
107603         * tests/test-mbschr.c: New file.
107604         * m4/locale-zh.m4: New file.
107606 2007-02-11  Bruno Haible  <bruno@clisp.org>
107608         Support for copying multibyte string iterators.
107609         * lib/mbiter.h: Include <string.h>.
107610         (mbiter_multi_copy): New function.
107611         (mbi_copy): New macro.
107612         * lib/mbuiter.h: Include <string.h>.
107613         (mbuiter_multi_copy): New function.
107614         (mbui_copy): New macro.
107616 2007-02-11  Bruno Haible  <bruno@clisp.org>
107618         New module mbslen.
107619         * modules/mbslen: New file.
107620         * lib/mbslen.c: New file.
107621         * lib/string_.h (mbslen): New declaration.
107622         * m4/mbslen.m4: New file.
107623         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107624         GNULIB_MBSLEN.
107625         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
107626         * MODULES.html.sh (Internationalization functions): Add mbslen.
107628 2007-02-11  Bruno Haible  <bruno@clisp.org>
107630         Ensure O(n) worst-case complexity of strcasestr substitute.
107631         * lib/strcasestr.c: Include stdbool.h.
107632         (knuth_morris_pratt): New function.
107633         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
107634         bookkeeping indicates that it's worth it.
107635         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
107637         * modules/strcasestr-tests: New file.
107638         * tests/test-strcasestr.c: New file.
107640 2007-02-11  Bruno Haible  <bruno@clisp.org>
107642         Ensure O(n) worst-case complexity of c_strcasestr.
107643         * lib/c-strcasestr.c: Include stdbool.h, string.h.
107644         (knuth_morris_pratt): New function.
107645         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
107646         the bookkeeping indicates that it's worth it.
107647         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
107649         * modules/c-strcasestr-tests: New file.
107650         * tests/test-c-strcasestr.c: New file.
107652 2007-02-11  Bruno Haible  <bruno@clisp.org>
107654         Ensure O(n) worst-case complexity of c_strstr.
107655         * lib/c-strstr.c: Include stdbool.h, string.h.
107656         (knuth_morris_pratt): New function.
107657         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
107658         bookkeeping indicates that it's worth it.
107659         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
107661         * lib/c-strstr.c: Complete rewrite for maintainability.
107663         * modules/c-strstr-tests: New file.
107664         * tests/test-c-strstr.c: New file.
107666 2007-02-11  Bruno Haible  <bruno@clisp.org>
107668         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
107669         5.2.1 and earlier, whereby \055 was treated just like the range
107670         delimiter '-'.
107671         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
107673 2007-02-08  Bruno Haible  <bruno@clisp.org>
107675         * modules/regex (Depends-on): Add stdbool.
107676         Reported by Dalibor Topic <robilad@kaffe.org>.
107678 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
107680         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
107681         Prefer returning from main to exiting from it.
107682         Remove unnecessary parens after sizeof.
107684 2007-02-05  Bruno Haible  <bruno@clisp.org>
107686         New module mbssep.
107687         * modules/mbssep: New file.
107688         * lib/mbssep.c: New file.
107689         * lib/string_.h (strsep): Add a conditional link warning.
107690         (mbssep): New declaration.
107691         * m4/mbssep.m4: New file.
107692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107693         GNULIB_MBSSEP.
107694         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
107695         * MODULES.html.sh (Internationalization functions): Add mbssep.
107697 2007-02-05  Bruno Haible  <bruno@clisp.org>
107699         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
107700         Optimize search in case of 1 delimiter.
107702 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
107704         * lib/acl.h: Include sys/types.h before sys/acl.h.
107706 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
107708         Merge upstream fix for glibc bugzilla #3957:
107710         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
107712         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
107713         bit for RE_HAT_LISTS_NOT_NEWLINE.
107714         (build_charclass_op): Remove bogus comment.
107716 2007-02-05  Simon Josefsson  <simon@josefsson.org>
107718         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
107720 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
107722         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
107723         * lib/memmem.c [!defined _LIBC]: Include config.h.
107725 2007-02-04  Bruno Haible  <bruno@clisp.org>
107727         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
107728         warning message.
107730 2007-02-04  Bruno Haible  <bruno@clisp.org>
107732         New module mbstok_r.
107733         * modules/mbstok_r: New file.
107734         * lib/mbstok_r.c: New file.
107735         * lib/string_.h (strtok_r): Change argument names to match the
107736         comments. Add a conditional link warning.
107737         (mbstok_r): New declaration.
107738         * m4/mbstok_r.m4: New file.
107739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107740         GNULIB_MBSTOK_R.
107741         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
107742         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
107744 2007-02-04  Bruno Haible  <bruno@clisp.org>
107746         New module mbsspn.
107747         * modules/mbsspn: New file.
107748         * lib/mbsspn.c: New file.
107749         * lib/string_.h (strspn): Add a conditional link warning.
107750         (mbsspn): New declaration.
107751         * m4/mbsspn.m4: New file.
107752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107753         GNULIB_MBSSPN.
107754         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
107755         * MODULES.html.sh (Internationalization functions): Add mbsspn.
107757 2007-02-04  Bruno Haible  <bruno@clisp.org>
107759         New module mbspbrk.
107760         * modules/mbspbrk: New file.
107761         * lib/mbspbrk.c: New file.
107762         * lib/string_.h (strpbrk): Add a conditional link warning.
107763         (mbspbrk): New declaration.
107764         * m4/mbspbrk.m4: New file.
107765         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107766         GNULIB_MBSPBRK.
107767         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
107768         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
107770 2007-02-04  Bruno Haible  <bruno@clisp.org>
107772         New module mbscspn.
107773         * modules/mbscspn: New file.
107774         * lib/mbscspn.c: New file.
107775         * lib/string_.h (strcspn): Add a conditional link warning.
107776         (mbscspn): New declaration.
107777         * m4/mbscspn.m4: New file.
107778         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107779         GNULIB_MBSCSPN.
107780         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
107781         * MODULES.html.sh (Internationalization functions): Add mbscspn.
107783 2007-02-04  Bruno Haible  <bruno@clisp.org>
107785         New module mbscasestr, reduced goal of strcasestr.
107786         * modules/mbscasestr: New file.
107787         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
107788         (mbscasestr): Renamed from strcasestr.
107789         * lib/strcasestr.c: Don't include mbuiter.h.
107790         (strcasestr): Remove support for multibyte locales.
107791         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
107792         Change the conditional link warning.
107793         (mbscasestr): New declaration.
107794         * m4/mbscasestr.m4: New file.
107795         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
107796         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
107797         REPLACE_STRCASESTR.
107798         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
107799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
107800         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
107801         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
107802         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
107803         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
107804         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
107805         (Depends-on): Remove mbuiter.
107806         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
107808 2007-02-04  Bruno Haible  <bruno@clisp.org>
107810         Simplify handling of strncasecmp.
107811         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
107812         the conditional link warning.
107813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
107814         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
107815         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
107816         * modules/strcase (configure.ac): Don't invoke
107817         gl_STRING_MODULE_INDICATOR.
107818         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
107820 2007-02-04  Bruno Haible  <bruno@clisp.org>
107822         New module mbscasecmp, reduced goal of strcasecmp.
107823         * modules/mbscasecmp: New file.
107824         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
107825         (mbscasecmp): Renamed from strcasecmp.
107826         * lib/strcasecmp.c: Don't include mbuiter.h.
107827         (strcasecmp): Remove support for multibyte locales.
107828         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
107829         Change the conditional link warning.
107830         (mbscasecmp): New declaration.
107831         * m4/mbscasecmp.m4: New file.
107832         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
107833         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
107834         REPLACE_STRCASECMP.
107835         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
107836         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107837         GNULIB_MBSCASECMP.
107838         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
107839         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
107840         * modules/strcase (Files): Remove m4/mbrtowc.m4.
107841         (Depends-on): Remove mbuiter.
107842         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
107844 2007-02-04  Bruno Haible  <bruno@clisp.org>
107846         New module mbsstr. Remove module strstr.
107847         * modules/mbsstr: New file.
107848         * modules/strstr: Remove file.
107849         * lib/mbsstr.c: Renamed from lib/strstr.c.
107850         (mbsstr): Renamed from strstr.
107851         * lib/string_.h (strstr): Remove declaration. Change the conditional
107852         link warning.
107853         (mbsstr): New declaration.
107854         * m4/mbsstr.m4: New file.
107855         * m4/strstr.m4: Remove file.
107856         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
107857         REPLACE_STRSTR.
107858         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
107859         Don't initialize GNULIB_STRSTR.
107860         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
107861         substitute GNULIB_STRSTR and REPLACE_STRSTR.
107862         * MODULES.html.sh (Internationalization functions): Add mbsstr.
107863         (Support for systems lacking ANSI C 89): Remove strstr.
107865 2007-02-04  Bruno Haible  <bruno@clisp.org>
107867         New module mbsrchr.
107868         * modules/mbsrchr: New file.
107869         * lib/mbsrchr.c: New file.
107870         * lib/string_.h (strrchr): Add a conditional link warning.
107871         (mbsrchr): New declaration.
107872         * m4/mbsrchr.m4: New file.
107873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107874         GNULIB_MBSRCHR.
107875         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
107876         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
107878 2007-02-04  Bruno Haible  <bruno@clisp.org>
107880         New module mbschr.
107881         * modules/mbschr: New file.
107882         * lib/mbschr.c: New file.
107883         * lib/string_.h (strchr): Add a conditional link warning.
107884         (mbschr): New declaration.
107885         * m4/mbschr.m4: New file.
107886         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107887         GNULIB_MBSCHR.
107888         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
107889         * MODULES.html.sh (Internationalization functions): Add mbschr.
107891 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
107893         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
107895         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
107897 2007-02-04  Bruno Haible  <bruno@clisp.org>
107899         New module description section 'configure.ac-early'.
107900         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
107901         (func_get_autoconf_early_snippet): New function.
107902         (func_import, func_create_testdir): Use it. Remove special cases for
107903         modules 'extensions' and 'lock'.
107904         * modules/extensions (configure.ac-early): Require
107905         gl_USE_SYSTEM_EXTENSIONS.
107906         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
107908 2007-02-04  Bruno Haible  <bruno@clisp.org>
107910         Make use of gcj-4.3's -fsource and -ftarget option.
107911         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
107912         and if so try the options -fsource and -ftarget.
107913         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
107914         source_version, ftarget_option, target_version arguments.
107915         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
107916         (is_envjavac_oldgcj_14_14_usable): Renamed from
107917         is_envjavac_gcj_14_14_usable.
107918         (is_envjavac_oldgcj_14_13_usable): Renamed from
107919         is_envjavac_gcj_14_13_usable.
107920         (is_gcj_present): Update.
107921         (is_gcj_43, is_gcj43_usable): New functions.
107922         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
107923         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
107924         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
107925         try the options -fsource and -ftarget.
107927 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
107929         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
107930         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
107931         larger value.
107933 2007-02-03  Jim Meyering  <jim@meyering.net>
107935         Give tools a better chance to allocate space for very large buffers.
107936         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
107938         Make pwd and readlink work also when run with an unreadable parent dir
107939         on systems with openat support.
107940         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
107941         provided getcwd function, even when we have openat support.
107942         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
107944 2007-02-02  Bruno Haible  <bruno@clisp.org>
107946         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107947         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
107948         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
107949         portability problems if one of these functions is only used on specific
107950         platforms.
107951         Reported by Paul Eggert.
107953 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
107955         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
107956         is causing more trouble than it's curing.
107957         * lib/regex_internal.h (__mempcpy): Remove.
107958         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
107959         (and make the code a tad smaller to boot).
107960         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
107962 2007-02-02  Jim Meyering  <jim@meyering.net>
107964         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
107965         section, not in the Makefile.am: one.
107967 2007-02-02  Eric Blake  <ebb9@byu.net>
107969         * lib/strchrnul.c: Always include config.h first.
107971         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
107972         gnulib strstr is not necessary here.
107974 2007-02-02  Simon Josefsson  <simon@josefsson.org>
107976         * m4/socklen.m4: Fix typo.
107978 2007-02-02  Eric Blake  <ebb9@byu.net>
107980         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
107981         * modules/netinet_in (Makefile.am): Likewise.
107983 2007-02-01  Bruno Haible  <bruno@clisp.org>
107985         * lib/string_.h (GL_LINK_WARNING): New macro.
107986         (strcasecmp, strstr, strcasestr): If provided by the system,
107987         conditionally define as a macro that leads to a warning instead of to
107988         an error.
107989         (strncasecmp): Conditionally define as a macro that leads to a warning.
107991 2007-02-01  Karl Berry  <karl@gnu.org>
107993         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
107995 2007-02-01  Bruno Haible  <bruno@clisp.org>
107997         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
107998         renamings.
108000 2007-02-01  Eric Blake  <ebb9@byu.net>
108002         * modules/regex (Depends-on): Revert dependence on mempcpy.
108003         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
108004         module's definition of mempcpy.
108005         Reported by Paul Eggert.
108007 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
108009         * lib/string_.h: If the gnulib module XYZ is not present, undefine
108010         the symbol XYZ before redefining it.  This fixes a problem with
108011         programs that don't use XYZ, when compiled on systems that define
108012         XYZ to something else.
108014 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
108016         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
108017         occurs when "mkdir -m foo" creates a setgid directory that is (1)
108018         writeable to group or other and (2) is intended to have a special
108019         mode bit that is set or cleared.  In such a case, the directory
108020         should be neither group- nor other-writeable until the special
108021         mode bits are right.
108023 2007-01-31  Eric Blake  <ebb9@byu.net>
108025         * modules/mountlist (Depends-on): Add strstr.
108027         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
108028         bug.
108029         * modules/string (Makefile.am): Remove redundant replacement.
108030         * modules/regex (Depends-on): Add mempcpy.
108032 2007-01-31  Bruno Haible  <bruno@clisp.org>
108034         New module description field 'Link'.
108035         * gnulib-tool (func_usage): Document --extract-link-directive.
108036         (sed_extract_prog): Recognize 'Link' directive.
108037         (func_get_link_directive): New function.
108038         (func_import): Show summary of link directives.
108039         Handle --extract-link-directive option.
108040         * modules/acl (Link): New section.
108041         * modules/clock-time (Link): New section.
108042         * modules/euidaccess (Link): New section.
108043         * modules/gettext (Link): New section.
108044         * modules/iconv (Link): New section.
108045         * modules/lock (Link): New section.
108046         * modules/nanosleep (Link): New section.
108047         * modules/readline (Link): New section.
108049 2007-01-27  Bruno Haible  <bruno@clisp.org>
108051         Enforce the use of gnulib modules for unportable <string.h> functions.
108052         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
108053         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
108054         (gl_HEADER_STRING_H_BODY): Require it.
108055         * lib/string_.h: If the gnulib module XYZ is not present, redefine
108056         the symbol XYZ to one that gives a link error.
108057         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
108058         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
108059         * modules/mempcpy (configure.ac): Likewise.
108060         * modules/memrchr (configure.ac): Likewise.
108061         * modules/stpcpy (configure.ac): Likewise.
108062         * modules/stpncpy (configure.ac): Likewise.
108063         * modules/strcase (configure.ac): Likewise.
108064         * modules/strcasestr (configure.ac): Likewise.
108065         * modules/strchrnul (configure.ac): Likewise.
108066         * modules/strdup (configure.ac): Likewise.
108067         * modules/strndup (configure.ac): Likewise.
108068         * modules/strnlen (configure.ac): Likewise.
108069         * modules/strpbrk (configure.ac): Likewise.
108070         * modules/strsep (configure.ac): Likewise.
108071         * modules/strstr (configure.ac): Likewise.
108072         * modules/strtok_r (configure.ac): Likewise.
108074 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
108076         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
108078 2007-01-30  Jim Meyering  <jim@meyering.net>
108080         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
108082 2007-01-29  Bruno Haible  <bruno@clisp.org>
108084         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
108085         * lib/execute.c: Likewise.
108086         * lib/pipe.c: Likewise.
108087         * lib/printf-args.h: Likewise.
108088         * lib/printf-args.c: Likewise.
108089         * lib/printf-parse.c: Likewise.
108090         * lib/vasnprintf.c: Likewise.
108092 2007-01-29  Eric Blake  <ebb9@byu.net>
108094         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
108095         declaration.
108097 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
108099         * lib/strptime.h (strptime): Use 'restrict' for args where
108100         POSIX requires this.
108101         * lib/strptime.c (strptime): Likewise.
108102         Change license notice from LGPL to GPL, since gnulib-tool will
108103         change this as needed.
108104         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
108105         defined.
108106         Include "strptime.h" first, to check interface.
108107         Do not #undef _LIBC and _NL_CURRENT.
108108         Do not include <stdlib.h>; no longer needed.
108109         Include "time_r.h" and declare ptime_locale_status
108110         only if _LIBC is not defined.
108111         (__P): Remove unused macro.
108112         (match_string): Bring back glibc version, but use it only if _LIBC
108113         is defined.
108114         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
108115         Remove unnecessary assertion and abort() call.
108116         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
108117         * m4/strptime.m4: Fix serial number comment.
108118         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
108119         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
108120         (Depends-on): Add time_r.
108122 2007-01-29  Bruno Haible  <bruno@clisp.org>
108124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108125         strptime.
108126         * modules/strptime (Depends-on): Add stdbool.
108127         * lib/strptime.h: Include <time.h> always. Add comments.
108129 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108131         * modules/strptime: New file.
108132         * lib/strptime.h: New file.
108133         * lib/strptime.c: New file.
108134         * m4/strptime.m4: New file.
108136 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
108138         * MODULES.html.sh: New module mpsort.
108139         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
108141         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
108142         a circularity problem with HP-UX ia64 reported by Bob Proulx in
108143         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
108144         All uses changed.
108145         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
108146         All uses changed.
108147         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
108148         to _Restrict_.
108149         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
108150         the parameter matches the prototype.
108152 2007-01-28  Jim Meyering  <jim@meyering.net>
108154         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
108155         sys/time.h here, reverting that part of the previous patch:
108156         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
108158 2007-01-28  Bruno Haible  <bruno@clisp.org>
108160         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
108161         value of $(SYS_TIME_H).
108162         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
108163         remove it conditionally, too. [added by Jim Meyering]
108164         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
108165         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108166         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
108167         GETTIMEOFDAY_REPLACEMENT to 1.
108169 2007-01-28  Bruno Haible  <bruno@clisp.org>
108171         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
108172         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
108173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
108174         Set UNISTD_H instead of UNISTD_H2.
108175         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
108177 2007-01-28  Bruno Haible  <bruno@clisp.org>
108179         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
108180         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
108182 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108184         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
108185         (func_create_testdir): Ensure C locale for `grep' and `tr'
108186         character ranges.
108187         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
108188         ACLOCAL_AMFLAGS parsing state machine.
108190 2007-01-27  Bruno Haible  <bruno@clisp.org>
108192         * modules/unistr/base: Update.
108194 2007-01-27  Bruno Haible  <bruno@clisp.org>
108196         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
108197         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
108198         * modules/unistr/u32-mbtouc-unsafe: Renamed from
108199         modules/unistr/u32-mbtouc.
108200         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
108201         * lib/unistr.h: Update.
108202         * lib/linebreak.c: Update.
108203         * modules/unistr/u32-mbtouc: Renamed from
108204         modules/unistr/u32-mbtouc-safe.
108205         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
108206         * lib/unistr.h: Update.
108207         * lib/unistr/u32-to-u8.c: Update.
108208         * lib/unistr/u32-to-u16.c: Update.
108210 2007-01-27  Bruno Haible  <bruno@clisp.org>
108212         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
108213         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
108214         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
108215         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
108216         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
108217         * modules/unistr/u16-mbtouc-unsafe: Renamed from
108218         modules/unistr/u16-mbtouc.
108219         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
108220         * lib/unistr.h: Update.
108221         * lib/linebreak.c: Update.
108222         * modules/linebreak: Update.
108223         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
108224         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
108225         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
108226         * modules/unistr/u16-mbtouc: Renamed from
108227         modules/unistr/u16-mbtouc-safe.
108228         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
108229         * lib/unistr.h: Update.
108230         * lib/unistr/u16-to-u8.c: Update.
108231         * modules/unistr/u16-to-u8: Update.
108232         * lib/unistr/u16-to-u32.c: Update.
108233         * modules/unistr/u16-to-u32: Update.
108235 2007-01-27  Bruno Haible  <bruno@clisp.org>
108237         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
108238         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
108239         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
108240         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
108241         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
108242         * modules/unistr/u8-mbtouc-unsafe: Renamed from
108243         modules/unistr/u8-mbtouc.
108244         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
108245         * lib/unistr.h: Update.
108246         * lib/striconveh.c: Update.
108247         * modules/striconveh: Update.
108248         * lib/linebreak.c: Update.
108249         * modules/linebreak: Update.
108250         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
108251         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
108252         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
108253         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
108254         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
108255         * lib/unistr.h: Update.
108256         * lib/striconveh.c: Update.
108257         * modules/striconveh: Update.
108258         * lib/unistr/u8-to-u16.c: Update.
108259         * modules/unistr/u8-to-u16: Update.
108260         * lib/unistr/u8-to-u32.c: Update.
108261         * modules/unistr/u8-to-u32: Update.
108263 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108265         Sync from Libtool.
108266         * lib/argz.c: Do not include strings.h nor memory.h, include
108267         string.h unconditionally.  Patch by Simon Josefsson.
108269 2007-01-27  Bruno Haible  <bruno@clisp.org>
108271         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
108272         from gl_HEADER_STRING_H_BODY.
108273         (gl_HEADER_STRING_H_BODY): Require it.
108274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
108275         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
108276         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
108277         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
108278         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
108279         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
108280         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
108281         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
108282         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
108283         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
108284         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
108285         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
108286         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
108287         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
108288         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
108290 2007-01-27  Bruno Haible  <bruno@clisp.org>
108292         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
108293         check_PROGRAMS into noinst_PROGRAMS.
108294         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
108295         check_PROGRAMS in this case.
108296         (func_import): Set for_test to false.
108297         (func_create_testdir): Set for_test to true.
108299 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108300             Bruno Haible  <bruno@clisp.org>
108302         * modules/strcasestr (Files): Remove lib/strcasestr.h.
108303         (Depends-on): Add string.
108304         (Includes): Use <string.h> instead of strcasestr.h.
108305         * modules/string (Makefile.am): Also substitute the value of
108306         REPLACE_STRCASESTR.
108307         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
108308         assume strcasestr is declared in <string.h> not <strings.h>. Also
108309         set REPLACE_STRCASESTR.
108310         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
108311         REPLACE_STRCASESTR.
108312         * lib/strcasestr.h: Remove file.
108313         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
108314         * lib/string_.h (strcasestr): New declaration.
108316 2007-01-27  Bruno Haible  <bruno@clisp.org>
108318         * lib/string_.h: Use 'extern'.
108320 2007-01-27  Jim Meyering  <jim@meyering.net>
108322         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
108323         of set-but-not-used local, "q".
108325         * lib/mempcpy.c: Include <config.h> before <string.h>.
108326         This fixes a compilation error on HP-UX, due to the system's
108327         "restrict"-using mempcpy prototype.
108329 2007-01-26  Bruno Haible  <bruno@clisp.org>
108331         Small optimization.
108332         * lib/javacomp.c: Include c-strstr.h.
108333          (is_envjavac_gcj): Use c_strstr instead of strstr.
108334         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
108336 2007-01-26  Bruno Haible  <bruno@clisp.org>
108338         * MODULES.html.sh (Unicode string functions): Add the new modules.
108340         * modules/uniconv/u32-strconv-to-locale: New file.
108341         * lib/uniconv/u32-strconv-to-locale.c: New file.
108343         * modules/uniconv/u16-strconv-to-locale: New file.
108344         * lib/uniconv/u16-strconv-to-locale.c: New file.
108346         * modules/uniconv/u8-strconv-to-locale: New file.
108347         * lib/uniconv/u8-strconv-to-locale.c: New file.
108349         * modules/uniconv/u32-strconv-from-locale: New file.
108350         * lib/uniconv/u32-strconv-from-locale.c: New file.
108352         * modules/uniconv/u16-strconv-from-locale: New file.
108353         * lib/uniconv/u16-strconv-from-locale.c: New file.
108355         * modules/uniconv/u8-strconv-from-locale: New file.
108356         * lib/uniconv/u8-strconv-from-locale.c: New file.
108358         * modules/uniconv/u32-strconv-to-enc: New file.
108359         * lib/uniconv/u32-strconv-to-enc.c: New file.
108360         * modules/uniconv/u32-strconv-to-enc-tests: New file.
108361         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
108363         * modules/uniconv/u16-strconv-to-enc: New file.
108364         * lib/uniconv/u16-strconv-to-enc.c: New file.
108365         * lib/uniconv/u-strconv-to-enc.h: New file.
108366         * modules/uniconv/u16-strconv-to-enc-tests: New file.
108367         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
108369         * modules/uniconv/u8-strconv-to-enc: New file.
108370         * lib/uniconv/u8-strconv-to-enc.c: New file.
108371         * modules/uniconv/u8-strconv-to-enc-tests: New file.
108372         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
108374         * modules/uniconv/u32-strconv-from-enc: New file.
108375         * lib/uniconv/u32-strconv-from-enc.c: New file.
108376         * modules/uniconv/u32-strconv-from-enc-tests: New file.
108377         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
108379         * modules/uniconv/u16-strconv-from-enc: New file.
108380         * lib/uniconv/u16-strconv-from-enc.c: New file.
108381         * modules/uniconv/u16-strconv-from-enc-tests: New file.
108382         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
108384         * modules/uniconv/u8-strconv-from-enc: New file.
108385         * lib/uniconv/u8-strconv-from-enc.c: New file.
108386         * lib/uniconv/u-strconv-from-enc.h: New file.
108387         * modules/uniconv/u8-strconv-from-enc-tests: New file.
108388         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
108390         * modules/uniconv/u32-conv-from-enc: New file.
108391         * lib/uniconv/u32-conv-from-enc.c: New file.
108392         * modules/uniconv/u32-conv-from-enc-tests: New file.
108393         * tests/uniconv/test-u32-conv-from-enc.c: New file.
108395         * modules/uniconv/u16-conv-from-enc: New file.
108396         * lib/uniconv/u16-conv-from-enc.c: New file.
108397         * lib/uniconv/u-conv-from-enc.h: New file.
108398         * modules/uniconv/u16-conv-from-enc-tests: New file.
108399         * tests/uniconv/test-u16-conv-from-enc.c: New file.
108401         * modules/uniconv/u8-conv-from-enc: New file.
108402         * lib/uniconv/u8-conv-from-enc.c: New file.
108403         * modules/uniconv/u8-conv-from-enc-tests: New file.
108404         * tests/uniconv/test-u8-conv-from-enc.c: New file.
108406         * modules/uniconv/base: New file.
108407         * lib/uniconv.h: New file.
108409 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
108411         * doc/gnulib-tool.texi (Initial import): Update to match current
108412         behavior with strdup module.
108413         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
108414         * lib/memmem.h: Remove; all uses removed.  This is now done
108415         by <string.h>.
108416         * lib/mempcpy.h: Likewise.
108417         * lib/memrchr.h: Likewise.
108418         * lib/stpcpy.h: Likewise.
108419         * lib/stpncpy.h: Likewise.
108420         * lib/strcase.h: Likewise.
108421         * lib/strchrnul.h: Likewise.
108422         * lib/strdup.h: Likewise.
108423         * lib/strndup.h: Likewise.
108424         * lib/strnlen.h: Likewise.
108425         * lib/strpbrk.h: Likewise.
108426         * lib/strsep.h: Likewise.
108427         * lib/strstr.h: Likewise.
108428         * lib/strtok_r.h: Likewise.
108429         * lib/string_.h: New file.
108430         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
108431         Rely on <string.h> instead.
108432         * lib/canon-host.c: Likewise.
108433         * lib/chdir-long.c: Likewise.
108434         * lib/concatpath.c: Likewise.
108435         * lib/exclude.c: Likewise.
108436         * lib/fchdir.c: Likewise.
108437         * lib/getaddrinfo.c: Likewise.
108438         * lib/getcwd.c: Likewise.
108439         * lib/getsubopt.c: Likewise.
108440         * lib/glob.c: Likewise.
108441         * lib/hard-locale.c: Likewise.
108442         * lib/iconvme.c: Likewise.
108443         * lib/javacomp.c: Likewise.
108444         * lib/mempcpy.c: Likewise.
108445         * lib/memrchr.c: Likewise.
108446         * lib/regex_internal.h: Likewise.
108447         * lib/stpncpy.c: Likewise.
108448         * lib/strcasecmp.c: Likewise.
108449         * lib/strchrnul.c: Likewise.
108450         * lib/strdup.c: Likewise.
108451         * lib/striconv.c: Likewise.
108452         * lib/striconveh.c: Likewise.
108453         * lib/striconveha.c: Likewise.
108454         * lib/strncasecmp.c: Likewise.
108455         * lib/strndup.c: Likewise.
108456         * lib/strnlen.c: Likewise.
108457         * lib/strsep.c: Likewise.
108458         * lib/strstr.c: Likewise.
108459         * lib/strtok_r.c: Likewise.
108460         * lib/userspec.c: Likewise.
108461         * lib/w32spawn.h: Likewise.
108462         * lib/xstrndup.c: Likewise.
108463         * lib/mountlist.c (strstr): Remove decl.
108464         * m4/string_h.m4: New file.
108465         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
108466         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
108467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
108468         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
108469         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
108470         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
108471         Set REPLACE_STRCASECMP if necessary.
108472         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
108473         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
108474         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
108475         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
108476         HAVE_DECL_STRDUP if necessary.
108477         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
108478         since gl_FUNC_STRNDUP does that now.
108479         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
108480         Check for decl here...
108481         (gl_PREREQ_STRNLEN): ... not here.
108482         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
108483         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
108484         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
108485         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
108486         necessary.
108487         * modules/string: New file.
108488         * modules/memmem (Files): Remove special-purpose include file.
108489         (Depends-on): Add string.
108490         (Include): Include <string.h>, not the removed file.
108491         * modules/mempcpy: Likewise.
108492         * modules/memrchr: Likewise.
108493         * modules/stpcpy: Likewise.
108494         * modules/stpncpy: Likewise.
108495         * modules/strcase: Likewise.
108496         * modules/strchrnul: Likewise.
108497         * modules/strdup: Likewise.
108498         * modules/strndup: Likewise.
108499         * modules/strnlen: Likewise.
108500         * modules/strpbrk: Likewise.
108501         * modules/strsep: Likewise.
108502         * modules/strstr: Likewise.
108503         * modules/strtok_r: Likewise.
108504         * tests/test-dirname.c: Don't include "strdup.h", since
108505         <string.h> now suffices.
108506         * tests/test-memmem.c: Don't include "memmem.h", since
108507         <string.h> now suffices.
108509 2007-01-25  Bruno Haible  <bruno@clisp.org>
108511         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
108512         *resultp is 0.
108514         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
108515         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
108516         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
108517         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
108519         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
108520         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
108521         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
108522         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
108523         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
108524         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
108526 2007-01-24  Bruno Haible  <bruno@clisp.org>
108528         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
108529         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
108530         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
108531         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
108532         gl_FUNC_FTS_CORE.
108533         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
108534         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
108535         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
108536         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
108537         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
108538         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
108539         gl_FUNC_FCHOWNAT.
108540         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
108541         gl_FUNC_STRFTIME.
108542         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
108543         Reported by Ralf Wildenhues.
108545 2007-01-24  Bruno Haible  <bruno@clisp.org>
108547         Drop AC_REQUIRE calls that are redundant with the module dependencies.
108548         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
108549         gl_GETADDRINFO.
108550         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
108551         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
108552         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
108554 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
108556         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
108557         Don't use 'exit'; just return from 'main'.
108558         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
108560         * lib/fnmatch_.h: Readjust white space and comments to match
108561         glibc, to avoid spurious diffs.
108563 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108565         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
108566         2004-12-01 change by Jakub Jelinek, since this code won't compile
108567         if !LIBC.  Problem reported by Bob Proulx.
108569 2007-01-23  Bruno Haible  <bruno@clisp.org>
108571         * lib/striconveh.c: Include c-strcaseeq.h.
108572         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
108573         * modules/striconveh (Depends-on): Add c-strcaseeq.
108575 2007-01-23  Bruno Haible  <bruno@clisp.org>
108577         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
108579         * modules/c-strcaseeq: New file.
108580         * lib/c-strcaseeq.h: New file.
108582         * modules/streq: New file.
108583         * lib/streq.h: New file.
108585 2007-01-23  Bruno Haible  <bruno@clisp.org>
108587         * modules/striconveha-tests: New file.
108588         * tests/test-striconveha.c: New file.
108590         * lib/striconveha.h: Include <stdbool.h>.
108591         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
108592         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
108593         (mem_iconveha_notranslit): Renamed from mem_iconveha.
108594         (mem_iconveha): New function.
108595         (str_iconveha_notranslit): Renamed from str_iconveha.
108596         (str_iconveha): New function.
108597         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
108598         c-strcase.
108600 2007-01-23  Bruno Haible  <bruno@clisp.org>
108602         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
108603         encodings without forgiving before trying any encoding with handler.
108604         (str_iconveha): Try all encodings without forgiving before trying any
108605         encoding with handler.
108607 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
108609         Import the following changes from libc.
108611         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
108613         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
108615         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
108617         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
108618         normal_bracket label.
108620         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
108622         [BZ #361]
108623         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
108624         to normal_bracket after fetching the next character.
108626 2007-01-22  Bruno Haible  <bruno@clisp.org>
108628         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
108629         argument.
108630         * lib/striconveh.c (iconv_carefully_1): New function.
108631         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
108632         argument.
108633         (str_cd_iconveh): Update.
108634         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
108635         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
108636         * tests/test-striconveh.c (MAGIC): New macro.
108637         (new_offsets): New function.
108638         (main): Test call with and without offsets.
108640 2007-01-22  Bruno Haible  <bruno@clisp.org>
108642         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
108643         * modules/sys_select (Makefile.am): Likewise.
108644         * modules/sys_socket (Makefile.am): Likewise.
108645         * modules/sys_time (Makefile.am): Likewise.
108647 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
108649         * modules/gettimeofday (License): Change from GPL to LGPL, since
108650         gettimeofday is a library function.
108652 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108654         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
108656 2007-01-21  Bruno Haible  <bruno@clisp.org>
108658         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
108660 2007-01-21  Bruno Haible  <bruno@clisp.org>
108662         * modules/striconveha: New file.
108663         * lib/striconveha.h: New file.
108664         * lib/striconveha.c: New file.
108665         * MODULES.html.sh (Internationalization functions): Add striconveha.
108666         * lib/striconv.c (str_iconv): Optimize the case of an empty input
108667         string.
108668         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
108670 2007-01-21  Bruno Haible  <bruno@clisp.org>
108672         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
108673         * lib/striconveh.c (str_iconveh): Likewise.
108675 2007-01-21  Bruno Haible  <bruno@clisp.org>
108677         * lib/striconveh.h (mem_iconveh): New declaration.
108678         * lib/striconveh.c (mem_iconveh): New function.
108679         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
108681 2007-01-21  Bruno Haible  <bruno@clisp.org>
108683         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
108685         * lib/striconveh.h (mem_cd_iconveh): Change specification.
108686         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
108687         original result buffer.
108688         (str_cd_iconveh): Update.
108689         * tests/test-striconveh.c (main): Update.
108691         * lib/striconv.h (mem_cd_iconv): Change specification.
108692         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
108693         result buffer.
108694         (str_cd_iconv): Update.
108695         * tests/test-striconv.c (main): Update.
108697 2007-01-21  Bruno Haible  <bruno@clisp.org>
108699         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
108701 2007-01-20  Jim Meyering  <jim@meyering.net>
108703         * lib/userspec.c (parse_with_separator): If a user or group string
108704         starts with "+", skip the corresponding name-to-ID look-up, since
108705         such a look-up must fail: user and group names may not include "+".
108707 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
108709         * lib/poll.c: Include sys/time.h and time.h unconditionally,
108710         since we now assume the sys_time module.
108711         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
108712         check for sys/time.h; no longer needed.
108713         * modules/poll (Depends-on): Depend on sys_time.
108715 2007-01-18  Bruno Haible  <bruno@clisp.org>
108717         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
108718         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
108720         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
108721         gettimeofday.
108723         * tests/test-gettimeofday.c: Include <time.h>.
108724         (dummy): Remove variable.
108726         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
108727         gl_HEADER_SYS_TIME_H.
108728         (gl_HEADER_SYS_TIME_H): New macro.
108730         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
108731         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108732         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
108733         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
108734         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108735         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
108736         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
108737         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108738         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
108739         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
108740         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108742         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
108743         last change; it caused a compilation error when cross-compiling to
108744         Cygwin.
108746 2007-01-18  Jim Meyering  <jim@meyering.net>
108748         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
108749         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
108750         than the race-prone "test -d sys || mkdir sys".
108751         (configure.ac): Use AC_PROG_MKDIR_P.
108752         * modules/sys_select: Likewise.
108753         * modules/sys_socket: Likewise.
108754         * modules/sys_time: Likewise.
108756 2007-01-18  Eric Blake  <ebb9@byu.net>
108758         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
108759         replace gettimeofday.
108760         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
108761         name, to avoid infinite recursion.
108763 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
108765         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
108766         module sys_time.
108767         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
108768         assume timespec.h defines struct timeval.
108769         * lib/settime.c: Likewise.
108770         * lib/utimens.c: Likewise.
108771         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
108772         since we now assume the gettimeofday module.
108773         * lib/tempname.c (__gen_tempname): Likewise.
108774         * lib/gettimeofday.h: Remove.
108775         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
108776         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
108777         Include <time.h>, for 'time()'.
108778         (localtime_buffer_addr): Also use this workaround if
108779         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
108780         to simplify the uses.  All uses changed.
108781         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
108782         that #undef is inside {}, and 'const' follows type name consistently.
108783         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
108784         (gettimeofday): Do not use the maximum possible value for
108785         tv->tv_usec, since that might break usages other than ls.c.
108786         Instead, we'll leave ls.c alone.  This undoes today's patch
108787         by Bruno.  Add a compile-time warning for 1s-clock resolution;
108788         we've never observed the problem but might as well keep the
108789         canary.
108790         * lib/nanosleep.c: Include timespec.h first, for interface check.
108791         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
108792         now assume the sys_time module.
108793         * lib/tempname.c: Likewise.
108794         * lib/timespec.h: Likewise.
108795         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
108796         needed.
108797         * lib/strftime.c: Likewise.
108798         * lib/timespec.h: Likewise.
108799         * lib/posixtm.c: Include posixtm.h first, for interface check.
108800         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
108801         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
108802         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
108803         * lib/sys_time_.h: New file.
108804         * lib/timespec.h (struct timespec): Use long int, not long.
108805         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108806         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
108807         Remove obsolescent call to AC_HEADER_TIME.
108808         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
108809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
108810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
108811         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
108812         Likewise.
108813         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
108814         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
108815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
108816         into the sys_time module.  Check for gettimeofday just once.
108817         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
108818         for gettimeofday signature to just check the signature.  Merely
108819         compile it, since linking doesn't test signature.  Improve test for
108820         whether gettimeofday.o is actually needed.
108821         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
108822         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
108823         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
108824         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108825         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
108826         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
108827         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
108828         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
108829         than worrying about sys/time.h.
108830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108831         Don't bother worrying about TIME_WITH_SYS_TIME.
108832         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
108833         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
108834         * m4/sys_time_h.m4: New file.
108835         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
108836         Don't include sys/time.h.  Return from main rather than exiting.
108837         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
108838         all uses changed.
108839         * modules/gethrxtime (Depends-on): Add sys_time.
108840         * modules/gettime (Depends-on): Likewise.
108841         * modules/gettimeofday (Depends-on): Likewise.
108842         * modules/nanosleep (Depends-on): Likewise.
108843         * modules/settime (Depends-on): Likewise.
108844         * modules/tempname (Depends-on): Likewise.
108845         * modules/utimens (Depends-on): Likewise.
108846         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
108847         (Include): Change back to <sys/time.h>.
108848         (Maintainer): Add self.
108849         * modules/sys_time: New file.
108850         * modules/tempname (Depends-on): Add gettimeofday.
108851         * tests/test-gettimeofday.c: Include <sys/time.h>
108852         rather than gettimeofday.h.
108854 2007-01-17  Bruno Haible  <bruno@clisp.org>
108856         * gnulib-tool (func_get_license): Revert last patch. Instead, let
108857         the license default to GPL.
108858         (func_create_testdir): Don't complain if a module is LGPL and its
108859         tests module depends on GPLed modules.
108861 2007-01-17  Bruno Haible  <bruno@clisp.org>
108863         * lib/gettimeofday.c (gettimeofday): Add code for the case
108864         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
108865         maximum possible value for tv->tv_usec, rather than the minimum one.
108867 2005-10-08  Martin Lambers  <marlam@marlam.de>
108868 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
108869 2007-01-16  Bruno Haible  <bruno@clisp.org>
108871         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
108872         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
108873         gl_FUNC_GETTIMEOFDAY.
108874         (Include): Add gettimeofday.h.
108875         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
108876         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
108877         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
108878         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
108879         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
108880         * lib/gettimeofday.h: New file.
108881         * lib/gettimeofday.c: Include <sys/timeb.h>.
108882         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
108883         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
108884         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
108885         fall back on time().
108887         * tests/test-gettimeofday.c: New file.
108888         * modules/gettimeofday-tests: New file.
108890 2007-01-16  Eric Blake  <ebb9@byu.net>
108892         * modules/fnmatch (Depends-on): Depend on wchar.
108893         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
108894         * m4/fnmatch.m4: Likewise.
108895         * modules/mbchar (Makefile.am): Assume <wchar.h>.
108896         * m4/mbchar.m4: Likewise.
108897         * modules/mbswidth (Depends-on): Depend on wchar.
108898         * lib/mbswidth.c: Assume <wchar.h>.
108899         * m4/mbswidth.m4: Likewise.
108900         * modules/quotearg (Depends-on): Depend on wchar.
108901         * lib/quotearg.c: Assume <wchar.h>.
108902         * m4/quotearg.m4: Likewise.
108903         * modules/regex (Depends-on): Depend on wchar.
108904         * lib/regex_internal.h: Assume <wchar.h>.
108905         * m4/regex.m4: Likewise.
108906         * modules/stdint (Depends-on): Depend on wchar.
108907         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
108908         * m4/stdint.m4: Likewise.
108909         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
108910         * modules/strftime (Depends-on): Depend on wchar.
108911         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
108912         * modules/strtol (Depends-on): Depend on wchar.
108913         * lib/strtol.c: Assume <wchar.h>.
108914         * modules/wcwidth (Depends-on): Depend on wchar.
108915         * lib/wcwidth.h: Assume <wchar.h>.
108916         * m4/wcwidth.m4: Likewise.
108918 2007-01-16  Bruno Haible  <bruno@clisp.org>
108920         * modules/csharpexec-script: New, created from...
108921         * modules/csharpexec: ... this.
108923 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
108925         * modules/javaexec-script: New, created from...
108926         * modules/javaexec: ... this.
108928 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108930         * modules/poll (Dependencies): Add sys_select.
108932 2007-01-15  Jim Meyering  <jim@meyering.net>
108934         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
108935         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
108936         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
108937         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
108939 2007-01-15  Bruno Haible  <bruno@clisp.org>
108941         * modules/striconveh: New file.
108942         * lib/striconveh.h: New file.
108943         * lib/striconveh.c: New file.
108944         * MODULES.html.sh (Internationalization functions): Add striconveh.
108946         * modules/striconveh-tests: New file.
108947         * tests/test-striconveh.c: New file.
108949 2007-01-15  Bruno Haible  <bruno@clisp.org>
108951         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
108952         not from GNU libiconv or GNU libc.
108954 2007-01-15  Bruno Haible  <bruno@clisp.org>
108956         * doc/gnulib-intro.texi (Copyright): Explain the different license
108957         terms for module descriptions, autoconf macros, tests, documentation.
108959 2007-01-14  Bruno Haible  <bruno@clisp.org>
108961         * modules/striconv-tests: New file.
108962         * tests/test-striconv.c: New file.
108964 2007-01-14  Bruno Haible  <bruno@clisp.org>
108966         * modules/iconv-tests: New file.
108967         * tests/test-iconv.c: New file.
108969 2007-01-14  Bruno Haible  <bruno@clisp.org>
108971         * gnulib-tool (func_get_license): For test modules, use the license of
108972         the main module.
108974 2007-01-14  Bruno Haible  <bruno@clisp.org>
108976         * modules/iconv (Include): Clarify that <iconv.h> can only be included
108977         if iconv is found to exist.
108979 2007-01-14  Bruno Haible  <bruno@clisp.org>
108981         * modules/c-ctype-tests: New file.
108982         * tests/test-c-ctype.c: New file.
108984 2007-01-14  Bruno Haible  <bruno@clisp.org>
108986         * modules/binary-io-tests: New file.
108987         * tests/test-binary-io.sh: New file.
108988         * tests/test-binary-io.c: New file.
108990 2007-01-14  Bruno Haible  <bruno@clisp.org>
108992         * modules/array-oset-tests: New file.
108993         * tests/test-array_oset.c: New file.
108995 2007-01-14  Bruno Haible  <bruno@clisp.org>
108997         * modules/array-list-tests: New file.
108998         * tests/test-array_list.c: New file.
109000 2007-01-14  Bruno Haible  <bruno@clisp.org>
109002         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
109003         and make.
109004         Reported by Simon Josefsson in
109005         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
109007 2007-01-14  Bruno Haible  <bruno@clisp.org>
109009         * modules/allocsa-tests: New file.
109010         * tests/test-allocsa.c: New file.
109012 2007-01-14  Bruno Haible  <bruno@clisp.org>
109014         * modules/fchdir (Depends-on): Add absolute-header.
109015         * modules/unistd (Depends-on): Likewise.
109017 2006-12-30  Bruno Haible  <bruno@clisp.org>
109019         * modules/fchdir: New file.
109020         * modules/unistd (Files): Add lib/unistd_.h.
109021         (Makefile.am): Generate unistd.h from unistd_.h.
109022         * lib/fchdir.c: New file.
109023         * lib/dirent_.h: New file.
109024         * lib/unistd_.h: New file.
109025         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
109026         * m4/fchdir.m4: New file.
109027         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
109028         (gl_HEADER_UNISTD): Invoke it.
109029         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
109030         function.
109031         * lib/backupfile.c (opendir, closedir): Undefine.
109032         * lib/chown.c (open, close): Undefine.
109033         * lib/clean-temp.c (open, close): Undefine.
109034         * lib/copy-file.c (open, close): Undefine.
109035         * lib/execute.c (open, close): Undefine.
109036         * lib/fsusage.c (open, close): Undefine.
109037         * lib/gc-gnulib.c (open, close): Undefine.
109038         * lib/getcwd.c (opendir, closedir): Undefine.
109039         * lib/glob.c (opendir, closedir): Undefine.
109040         * lib/javacomp.c (open, close): Undefine.
109041         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
109042         * lib/openat-proc.c (open, close): Undefine.
109043         * lib/pagealign_alloc.c (open, close): Undefine.
109044         * lib/pipe.c (open, close): Undefine.
109045         * lib/progreloc.c (open, close): Undefine.
109046         * lib/savedir.c (opendir, closedir): Undefine.
109047         * lib/utime.c (open, close): Undefine.
109048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
109050 2007-01-10  Bruno Haible  <bruno@clisp.org>
109052         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
109054 2007-01-12  Eric Blake  <ebb9@byu.net>
109056         Provide a robust <wchar.h>.  Further simplifications are now
109057         possible in other modules, but not included here.
109058         * modules/wchar: New module.
109059         * m4/wchar.m4: New file.
109060         * lib/wchar_.h: Likewise.
109061         * modules/mbchar (Depends-on): Depend on wchar, as the first use
109062         of the new module.
109063         * MODULES.html.sh (Extended multibyte and wide character utilities):
109064         New section.
109066 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
109068         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
109069         to a reasonable default for memory allocation.
109070         (xreadlink): Don't allocate a huge buffer, to work around a buggy
109071         file system that reports garbage st_size values for symlinks.
109072         Problem reported by Liyang Hu.
109074 2007-01-11  Simon Josefsson  <simon@josefsson.org>
109076         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
109077         Emacs .#* auto-save files).
109079 2007-01-11  Bruno Haible  <bruno@clisp.org>
109081         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
109082         directory.
109084 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
109086         Use @...@ consistently in lib/wctype_.h.
109087         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
109088         on it being set to 1 or 0.
109089         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
109090         go back to AC_SUBSTing it.
109091         * modules/wctype (Makefile.am): Undo previous change.
109093 2007-01-10  Eric Blake  <ebb9@byu.net>
109095         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
109096         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
109097         * modules/wctype (Makefile.am): Likewise.
109098         Reported by Chris McGuire.
109100 2007-01-10  Jim Meyering  <jim@meyering.net>
109102         fts.c: a small readability/maintainability improvement
109103         * lib/fts.c (fts_read): Make this code slightly more readable and
109104         maintainable by hoisting the "sp->fts_cur = p" assignments to
109105         immediately follow the statements that set P.  Derived from
109106         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
109108 2007-01-10  Eric Blake  <ebb9@byu.net>
109110         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
109111         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
109112         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109113         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
109114         Reported by Chris McGuire.
109116 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109118         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
109119         in sed script.
109121 2007-01-09  Bruno Haible  <bruno@clisp.org>
109123         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
109124         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
109125         variables.
109126         (func_module): Use them.
109128 2007-01-09  Bruno Haible  <bruno@clisp.org>
109130         * modules/unistr/base: New file.
109131         * lib/unistr.h: New file.
109133         * modules/unistr/u8-to-u16: New file.
109134         * lib/unistr/u8-to-u16.c: New file.
109136         * modules/unistr/u8-to-u32: New file.
109137         * lib/unistr/u8-to-u32.c: New file.
109139         * modules/unistr/u16-to-u8: New file.
109140         * lib/unistr/u16-to-u8.c: New file.
109142         * modules/unistr/u16-to-u32: New file.
109143         * lib/unistr/u16-to-u32.c: New file.
109145         * modules/unistr/u32-to-u8: New file.
109146         * lib/unistr/u32-to-u8.c: New file.
109148         * modules/unistr/u32-to-u16: New file.
109149         * lib/unistr/u32-to-u16.c: New file.
109151         * modules/unistr/u8-check: New file.
109152         * modules/unistr/u16-check: New file.
109153         * modules/unistr/u32-check: New file.
109154         * lib/unistr/u8-check.c: New file.
109155         * lib/unistr/u16-check.c: New file.
109156         * lib/unistr/u32-check.c: New file.
109158         * modules/unistr/u8-chr: New file.
109159         * modules/unistr/u16-chr: New file.
109160         * modules/unistr/u32-chr: New file.
109161         * lib/unistr/u8-chr.c: New file.
109162         * lib/unistr/u16-chr.c: New file.
109163         * lib/unistr/u32-chr.c: New file.
109165         * modules/unistr/u8-cmp: New file.
109166         * modules/unistr/u16-cmp: New file.
109167         * modules/unistr/u32-cmp: New file.
109168         * lib/unistr/u8-cmp.c: New file.
109169         * lib/unistr/u16-cmp.c: New file.
109170         * lib/unistr/u32-cmp.c: New file.
109172         * modules/unistr/u8-cpy: New file.
109173         * modules/unistr/u16-cpy: New file.
109174         * modules/unistr/u32-cpy: New file.
109175         * lib/unistr/u8-cpy.c: New file.
109176         * lib/unistr/u16-cpy.c: New file.
109177         * lib/unistr/u32-cpy.c: New file.
109178         * lib/unistr/u-cpy.h: New file.
109180         * modules/unistr/u8-cpy-alloc: New file.
109181         * modules/unistr/u16-cpy-alloc: New file.
109182         * modules/unistr/u32-cpy-alloc: New file.
109183         * lib/unistr/u8-cpy-alloc.c: New file.
109184         * lib/unistr/u16-cpy-alloc.c: New file.
109185         * lib/unistr/u32-cpy-alloc.c: New file.
109186         * lib/unistr/u-cpy-alloc.h: New file.
109188         * modules/unistr/u8-endswith: New file.
109189         * modules/unistr/u16-endswith: New file.
109190         * modules/unistr/u32-endswith: New file.
109191         * lib/unistr/u8-endswith.c: New file.
109192         * lib/unistr/u16-endswith.c: New file.
109193         * lib/unistr/u32-endswith.c: New file.
109194         * lib/unistr/u-endswith.h: New file.
109196         * modules/unistr/u8-mblen: New file.
109197         * modules/unistr/u16-mblen: New file.
109198         * modules/unistr/u32-mblen: New file.
109199         * lib/unistr/u8-mblen.c: New file.
109200         * lib/unistr/u16-mblen.c: New file.
109201         * lib/unistr/u32-mblen.c: New file.
109203         * modules/unistr/u8-mbtouc: New file.
109204         * modules/unistr/u16-mbtouc: New file.
109205         * modules/unistr/u32-mbtouc: New file.
109206         * lib/unistr/u8-mbtouc.c: New file.
109207         * lib/unistr/u16-mbtouc.c: New file.
109208         * lib/unistr/u32-mbtouc.c: New file.
109210         * modules/unistr/u8-mbtouc-safe: New file.
109211         * modules/unistr/u16-mbtouc-safe: New file.
109212         * modules/unistr/u32-mbtouc-safe: New file.
109213         * lib/unistr/u8-mbtouc-safe.c: New file.
109214         * lib/unistr/u16-mbtouc-safe.c: New file.
109215         * lib/unistr/u32-mbtouc-safe.c: New file.
109217         * modules/unistr/u8-move: New file.
109218         * modules/unistr/u16-move: New file.
109219         * modules/unistr/u32-move: New file.
109220         * lib/unistr/u8-move.c: New file.
109221         * lib/unistr/u16-move.c: New file.
109222         * lib/unistr/u32-move.c: New file.
109223         * lib/unistr/u-move.h: New file.
109225         * modules/unistr/u8-next: New file.
109226         * modules/unistr/u16-next: New file.
109227         * modules/unistr/u32-next: New file.
109228         * lib/unistr/u8-next.c: New file.
109229         * lib/unistr/u16-next.c: New file.
109230         * lib/unistr/u32-next.c: New file.
109232         * modules/unistr/u8-prev: New file.
109233         * modules/unistr/u16-prev: New file.
109234         * modules/unistr/u32-prev: New file.
109235         * lib/unistr/u8-prev.c: New file.
109236         * lib/unistr/u16-prev.c: New file.
109237         * lib/unistr/u32-prev.c: New file.
109239         * modules/unistr/u8-set: New file.
109240         * modules/unistr/u16-set: New file.
109241         * modules/unistr/u32-set: New file.
109242         * lib/unistr/u8-set.c: New file.
109243         * lib/unistr/u16-set.c: New file.
109244         * lib/unistr/u32-set.c: New file.
109245         * lib/unistr/u-set.h: New file.
109247         * modules/unistr/u8-startswith: New file.
109248         * modules/unistr/u16-startswith: New file.
109249         * modules/unistr/u32-startswith: New file.
109250         * lib/unistr/u8-startswith.c: New file.
109251         * lib/unistr/u16-startswith.c: New file.
109252         * lib/unistr/u32-startswith.c: New file.
109253         * lib/unistr/u-startswith.h: New file.
109255         * modules/unistr/u8-stpcpy: New file.
109256         * modules/unistr/u16-stpcpy: New file.
109257         * modules/unistr/u32-stpcpy: New file.
109258         * lib/unistr/u8-stpcpy.c: New file.
109259         * lib/unistr/u16-stpcpy.c: New file.
109260         * lib/unistr/u32-stpcpy.c: New file.
109261         * lib/unistr/u-stpcpy.h: New file.
109263         * modules/unistr/u8-stpncpy: New file.
109264         * modules/unistr/u16-stpncpy: New file.
109265         * modules/unistr/u32-stpncpy: New file.
109266         * lib/unistr/u8-stpncpy.c: New file.
109267         * lib/unistr/u16-stpncpy.c: New file.
109268         * lib/unistr/u32-stpncpy.c: New file.
109269         * lib/unistr/u-stpncpy.h: New file.
109271         * modules/unistr/u8-strcat: New file.
109272         * modules/unistr/u16-strcat: New file.
109273         * modules/unistr/u32-strcat: New file.
109274         * lib/unistr/u8-strcat.c: New file.
109275         * lib/unistr/u16-strcat.c: New file.
109276         * lib/unistr/u32-strcat.c: New file.
109277         * lib/unistr/u-strcat.h: New file.
109279         * modules/unistr/u8-strchr: New file.
109280         * modules/unistr/u16-strchr: New file.
109281         * modules/unistr/u32-strchr: New file.
109282         * lib/unistr/u8-strchr.c: New file.
109283         * lib/unistr/u16-strchr.c: New file.
109284         * lib/unistr/u32-strchr.c: New file.
109286         * modules/unistr/u8-strcmp: New file.
109287         * modules/unistr/u16-strcmp: New file.
109288         * modules/unistr/u32-strcmp: New file.
109289         * lib/unistr/u8-strcmp.c: New file.
109290         * lib/unistr/u16-strcmp.c: New file.
109291         * lib/unistr/u32-strcmp.c: New file.
109293         * modules/unistr/u8-strcpy: New file.
109294         * modules/unistr/u16-strcpy: New file.
109295         * modules/unistr/u32-strcpy: New file.
109296         * lib/unistr/u8-strcpy.c: New file.
109297         * lib/unistr/u16-strcpy.c: New file.
109298         * lib/unistr/u32-strcpy.c: New file.
109299         * lib/unistr/u-strcpy.h: New file.
109301         * modules/unistr/u8-strcspn: New file.
109302         * modules/unistr/u16-strcspn: New file.
109303         * modules/unistr/u32-strcspn: New file.
109304         * lib/unistr/u8-strcspn.c: New file.
109305         * lib/unistr/u16-strcspn.c: New file.
109306         * lib/unistr/u32-strcspn.c: New file.
109307         * lib/unistr/u-strcspn.h: New file.
109309         * modules/unistr/u8-strdup: New file.
109310         * modules/unistr/u16-strdup: New file.
109311         * modules/unistr/u32-strdup: New file.
109312         * lib/unistr/u8-strdup.c: New file.
109313         * lib/unistr/u16-strdup.c: New file.
109314         * lib/unistr/u32-strdup.c: New file.
109315         * lib/unistr/u-strdup.h: New file.
109317         * modules/unistr/u8-strlen: New file.
109318         * modules/unistr/u16-strlen: New file.
109319         * modules/unistr/u32-strlen: New file.
109320         * lib/unistr/u8-strlen.c: New file.
109321         * lib/unistr/u16-strlen.c: New file.
109322         * lib/unistr/u32-strlen.c: New file.
109323         * lib/unistr/u-strlen.h: New file.
109325         * modules/unistr/u8-strmblen: New file.
109326         * modules/unistr/u16-strmblen: New file.
109327         * modules/unistr/u32-strmblen: New file.
109328         * lib/unistr/u8-strmblen.c: New file.
109329         * lib/unistr/u16-strmblen.c: New file.
109330         * lib/unistr/u32-strmblen.c: New file.
109332         * modules/unistr/u8-strmbtouc: New file.
109333         * modules/unistr/u16-strmbtouc: New file.
109334         * modules/unistr/u32-strmbtouc: New file.
109335         * lib/unistr/u8-strmbtouc.c: New file.
109336         * lib/unistr/u16-strmbtouc.c: New file.
109337         * lib/unistr/u32-strmbtouc.c: New file.
109339         * modules/unistr/u8-strncat: New file.
109340         * modules/unistr/u16-strncat: New file.
109341         * modules/unistr/u32-strncat: New file.
109342         * lib/unistr/u8-strncat.c: New file.
109343         * lib/unistr/u16-strncat.c: New file.
109344         * lib/unistr/u32-strncat.c: New file.
109345         * lib/unistr/u-strncat.h: New file.
109347         * modules/unistr/u8-strncmp: New file.
109348         * modules/unistr/u16-strncmp: New file.
109349         * modules/unistr/u32-strncmp: New file.
109350         * lib/unistr/u8-strncmp.c: New file.
109351         * lib/unistr/u16-strncmp.c: New file.
109352         * lib/unistr/u32-strncmp.c: New file.
109354         * modules/unistr/u8-strncpy: New file.
109355         * modules/unistr/u16-strncpy: New file.
109356         * modules/unistr/u32-strncpy: New file.
109357         * lib/unistr/u8-strncpy.c: New file.
109358         * lib/unistr/u16-strncpy.c: New file.
109359         * lib/unistr/u32-strncpy.c: New file.
109360         * lib/unistr/u-strncpy.h: New file.
109362         * modules/unistr/u8-strnlen: New file.
109363         * modules/unistr/u16-strnlen: New file.
109364         * modules/unistr/u32-strnlen: New file.
109365         * lib/unistr/u8-strnlen.c: New file.
109366         * lib/unistr/u16-strnlen.c: New file.
109367         * lib/unistr/u32-strnlen.c: New file.
109368         * lib/unistr/u-strnlen.h: New file.
109370         * modules/unistr/u8-strpbrk: New file.
109371         * modules/unistr/u16-strpbrk: New file.
109372         * modules/unistr/u32-strpbrk: New file.
109373         * lib/unistr/u8-strpbrk.c: New file.
109374         * lib/unistr/u16-strpbrk.c: New file.
109375         * lib/unistr/u32-strpbrk.c: New file.
109376         * lib/unistr/u-strpbrk.h: New file.
109378         * modules/unistr/u8-strrchr: New file.
109379         * modules/unistr/u16-strrchr: New file.
109380         * modules/unistr/u32-strrchr: New file.
109381         * lib/unistr/u8-strrchr.c: New file.
109382         * lib/unistr/u16-strrchr.c: New file.
109383         * lib/unistr/u32-strrchr.c: New file.
109385         * modules/unistr/u8-strspn: New file.
109386         * modules/unistr/u16-strspn: New file.
109387         * modules/unistr/u32-strspn: New file.
109388         * lib/unistr/u8-strspn.c: New file.
109389         * lib/unistr/u16-strspn.c: New file.
109390         * lib/unistr/u32-strspn.c: New file.
109391         * lib/unistr/u-strspn.h: New file.
109393         * modules/unistr/u8-strstr: New file.
109394         * modules/unistr/u16-strstr: New file.
109395         * modules/unistr/u32-strstr: New file.
109396         * lib/unistr/u8-strstr.c: New file.
109397         * lib/unistr/u16-strstr.c: New file.
109398         * lib/unistr/u32-strstr.c: New file.
109399         * lib/unistr/u-strstr.h: New file.
109401         * modules/unistr/u8-strtok: New file.
109402         * modules/unistr/u16-strtok: New file.
109403         * modules/unistr/u32-strtok: New file.
109404         * lib/unistr/u8-strtok.c: New file.
109405         * lib/unistr/u16-strtok.c: New file.
109406         * lib/unistr/u32-strtok.c: New file.
109407         * lib/unistr/u-strtok.h: New file.
109409         * modules/unistr/u8-uctomb: New file.
109410         * modules/unistr/u16-uctomb: New file.
109411         * modules/unistr/u32-uctomb: New file.
109412         * lib/unistr/u8-uctomb.c: New file.
109413         * lib/unistr/u16-uctomb.c: New file.
109414         * lib/unistr/u32-uctomb.c: New file.
109416         * MODULES.html.sh (Unicode string functions): Add the new modules.
109418 2007-01-08  Bruno Haible  <bruno@clisp.org>
109420         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
109421         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
109422         subdirectories.
109424 2007-01-08  Karl Berry  <karl@gnu.org>
109426         * doc/error.texi: mention that main() fns must set program_name
109427         when progname is used.
109429 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
109431         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
109432         WCTYPE_H is empty, for the benefit of builds from non-distclean
109433         directories.  Problem reported by Eric Blake in
109434         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
109436 2007-01-08  Bruno Haible  <bruno@clisp.org>
109438         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
109439         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
109440         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
109441         PROVIDE_CANONICALIZE_FILENAME_MODE.
109442         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
109444 2007-01-08  Bruno Haible  <bruno@clisp.org>
109446         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
109447         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
109448         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
109449         * lib/fts.c: Likewise.
109450         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
109452 2006-12-25  Bruno Haible  <bruno@clisp.org>
109454         * modules/utf8-ucs4-safe: New file.
109455         * lib/utf8-ucs4-safe.h: New file.
109456         * lib/unistr/utf8-ucs4-safe.c: New file.
109458         * modules/utf16-ucs4-safe: New file.
109459         * lib/utf16-ucs4-safe.h: New file.
109460         * lib/unistr/utf16-ucs4-safe.c: New file.
109462         * MODULES.html.sh (Unicode string functions): Add the new modules.
109464 2007-01-08  Bruno Haible  <bruno@clisp.org>
109466         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
109467         (Depends-on): Add unitypes.
109468         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109469         (u8_mbtouc_aux): Move out to separate file.
109470         (u8_mbtouc): Use ucs4_t, uint8_t types.
109471         * lib/unistr/utf8-ucs4.c: New file.
109473         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
109474         (Depends-on): Add unitypes.
109475         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109476         (u16_mbtouc_aux): Move out to separate file.
109477         (u16_mbtouc): Use ucs4_t, uint16_t types.
109478         * lib/unistr/utf16-ucs4.c: New file.
109480         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
109481         (Depends-on): Add unitypes.
109482         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
109483         (u8_uctomb_aux): Move out to separate file.
109484         (u8_uctomb): Use ucs4_t, uint8_t types.
109485         * lib/unistr/ucs4-utf8.c: New file.
109487         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
109488         (Depends-on): Add unitypes.
109489         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
109490         (u16_uctomb_aux): Move out to separate file.
109491         (u16_uctomb): Use ucs4_t, uint16_t types.
109492         * lib/unistr/ucs4-utf16.c: New file.
109494 2006-12-25  Bruno Haible  <bruno@clisp.org>
109496         * modules/unitypes: New file.
109497         * lib/unitypes.h: New file.
109498         * MODULES.html.sh (func_all_modules): New section "Unicode string
109499         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
109500         this section. Add unitypes.
109502 2007-01-08  Bruno Haible  <bruno@clisp.org>
109504         Avoid variable names that conflict with those from libtool.
109505         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
109506         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
109507         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
109508         library_names_spec to acl_library_names_spec, hardcode_* to
109509         acl_hardcode_*.
109510         Reported by Ralf Wildenhues.
109512 2007-01-08  Bruno Haible  <bruno@clisp.org>
109514         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
109515         definition.
109516         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
109517         definition.
109518         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
109519         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
109520         definition.
109521         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
109522         definition.
109523         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
109524         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
109525         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
109526         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
109527         definition.
109528         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
109529         definition.
109530         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
109531         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
109532         GC_USE_<algorithm>.
109533         * lib/gc-libgcrypt.c: Likewise.
109534         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
109535         * modules/gc-arctwo (configure.ac): Likewise.
109536         * modules/gc-des (configure.ac): Likewise.
109537         * modules/gc-hmac-md5 (configure.ac): Likewise.
109538         * modules/gc-hmac-sha1 (configure.ac): Likewise.
109539         * modules/gc-md2 (configure.ac): Likewise.
109540         * modules/gc-md4 (configure.ac): Likewise.
109541         * modules/gc-md5 (configure.ac): Likewise.
109542         * modules/gc-random (configure.ac): Likewise.
109543         * modules/gc-rijndael (configure.ac): Likewise.
109544         * modules/gc-sha1 (configure.ac): Likewise.
109546 2007-01-08  Bruno Haible  <bruno@clisp.org>
109548         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
109549         macro definition.
109550         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
109551         definition.
109552         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
109553         definition.
109554         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
109555         * modules/fcntl-safer (configure.ac): Likewise.
109556         * modules/fopen-safer (configure.ac): Likewise.
109557         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
109558         GNULIB_FWRITEERROR macro definition.
109560 2007-01-08  Bruno Haible  <bruno@clisp.org>
109562         * m4/gnulib-common.m4: New file.
109563         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
109564         (func_get_filelist): Add m4/gnulib-common.m4.
109566 2007-01-08  Bruno Haible  <bruno@clisp.org>
109568         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
109569         command.
109571 2007-01-08  Jim Meyering  <jim@meyering.net>
109573         Use a more robust test for a "can't happen" condition.
109574         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
109575         narrowed the st_size value.  Presuming the "can't happen" condition
109576         is true, that narrowing could conceivably convert an invalid st_size
109577         value into a valid one.  Instead, use a change based on Matthew
109578         Woehlke's original patch.
109580         Slight readability improvement: use an assert-like macro
109581         in place of literal "abort ()" uses.
109582         * lib/fts.c (fts_assert): Define.
109583         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
109584         Use this macro instead of a bare 'abort'.
109586 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
109588         Don't worry about using IRIX 5.3's wctype.h broken definitions;
109589         simply work around them.
109590         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
109591         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
109592         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
109593         declaring.
109594         Don't bother to define as macros, since the standard doesn't require it.
109595         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
109596         longer worry about IRIX 5.3.
109597         (HAVE_WCTYPE_CTMP_BUG): Remove.
109599 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
109601         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
109602         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
109603         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
109604         Problems reported by Georg Schwarz for IRIX 5.3.
109606         * gnulib-tool (autoconf_minversion): Take the maximum version number
109607         found, not the minimum.  Problem reported by James Youngman.
109609 2007-01-03  Karl Berry  <karl@gnu.org>
109611         * doc/error.texi: new file, explaining interaction with progname.
109612         * doc/gnulib.texi: include it.  Update copyright.
109614 2007-01-03  Simon Josefsson  <simon@josefsson.org>
109616         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
109617         AC_CANONICAL_HOST, to improve autobuild outputs.
109619 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
109620             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
109622         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
109623         sockets, server sockets, and other file descriptors.  Count errors
109624         to compute the return value.  Reorder the code a bit to be easier
109625         to follow.  Don't set event bits that were not requested (except
109626         POLLERR and POLLHUP).
109628 2007-01-01  Bruno Haible  <bruno@clisp.org>
109630         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
109632 2007-01-03  Jim Meyering  <jim@meyering.net>
109634         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
109636 2007-01-02  Bruno Haible  <bruno@clisp.org>
109638         * modules/settime (Include): Require timespec.h.
109639         * modules/nanosleep (Include): Likewise.
109641 2007-01-01  Bruno Haible  <bruno@clisp.org>
109643         * gnulib-tool (func_emit_copyright_notice): Bump year.
109644         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
109646 2007-01-01  Bruno Haible  <bruno@clisp.org>
109648         Improve support for OpenBSD.
109649         * build-aux/config.rpath (libname_spec): Export.
109650         (library_names_spec): New variable. Export.
109651         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
109652         library_names_spec from the config.rpath output. Locate shared library
109653         through the name pattern in library_names_spec.
109655 2007-01-01  Eric Blake  <ebb9@byu.net>
109657         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
109659 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
109661         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
109662         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
109663         assume the C locale, and avoid an "eval" that could cause trouble.
109664         Problem with SORT reported by Bob Proulx.
109666         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
109667         Define.  Trivial patch from Henning Nielsen Lund, originally
109668         sent to bug-grep@gnu.org today.
109670 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
109672         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
109673         struct stat.  Problem reported by Henning Nielsen Lund.
109674         * lib/acl.c: Include acl.h first, to check interface.  Don't
109675         bother to include sys/types.h and sys/stat.h again.
109677 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
109679         Import the following change from libc; problem reported by
109680         Sven Verdoolaege.
109682         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
109684         [BZ #1373]
109685         * lib/argp.h: Remove __NTH for __argp_usage inline function.
109687 2006-12-28  Jim Meyering  <jim@meyering.net>
109689         * build-aux/announce-gen: Do not assume that the package
109690         builds any of tar.gz, tar.bz2, and .xdelta files.
109691         Suggestion from Simon Josefsson.
109693 2006-12-28  Simon Josefsson  <simon@josefsson.org>
109695         * modules/announce-gen: New file.
109697 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
109699         * lib/mbchar.h: Just include <wctype.h>; the wctype module
109700         handles its gotchas now.
109701         * lib/mbswidth.c: Likewise.
109702         * lib/wcwidth.h: Likewise.
109703         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
109704         and iswcntrl; the wctype module does this stuff now.
109705         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
109706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109707         * modules/mbchar (Depends-on): Add wctype.
109708         * modules/mbswidth (Depends-on): Likewise.
109709         * modules/wcwidth (Depends-on): Likewise.
109711 2006-12-27  Eric Blake  <ebb9@byu.net>
109713         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
109714         module uses more than what <wctype.h> is required to provide.
109716 2006-12-26  Eric Blake  <ebb9@byu.net>
109718         * gnulib-tool (sed_extract_prog): Avoid space-tab.
109720 2006-12-26  Eric Blake  <ebb9@byu.net>
109722         * modules/absolute-header: New module.
109723         * modules/fcntl (Depends-on): Depend on it.
109724         * modules/inttypes (Depends-on): Likewise.
109725         * modules/stdint (Depends-on): Likewise.
109726         * modules/sys_stat (Depends-on): Likewise.
109727         * modules/wctype (Depends-on): Likewise.
109728         * MODULES.html.sh (Support for building libraries and
109729         executables): Document it.
109731 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
109733         * gnulib-tool (SED): Remove, undoing previous change.
109734         The problem was that it broke coreutils on Solaris, because
109735         "sed --posix" leaked into a makefile.
109736         (sed): New alias, if 'alias' and GNU sed.
109738 2006-12-24  Jim Meyering  <jim@meyering.net>
109740         Work around an fchownat bug in glibc-2.4:
109741         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
109742         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
109743         in spite of the -P option.
109744         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
109745         New macros.
109746         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
109747         * modules/openat (Files): Add lib/fchownat.c.
109748         * lib/openat.c (fchownat): Don't define here.  Move to...
109749         * lib/fchownat.c: ...this new file.
109751 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
109753         Fix bug reported by Bruno Haible in
109754         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
109755         where quotearg.c didn't compile on Mac OS X 10.2 because it
109756         lacks <wchar.h> and wint_t.
109757         * lib/wctype_.h (__wctype_wint_t): New type.
109758         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
109759         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
109760         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
109761         Arg is now of type __wctype_wint_t, not wint_t.
109762         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
109763         substitute HAVE_WINT_T.
109764         * modules/wctype (Files): Add m4/wint_t.m4.
109765         (wctype.h): Substitute HAVE_WINT_T.
109767 2006-12-23  Bruno Haible  <bruno@clisp.org>
109769         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
109771 2006-12-23  Bruno Haible  <bruno@clisp.org>
109773         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
109774         S_ISLNK.
109775         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
109776         mingw.
109778 2006-12-22  Bruno Haible  <bruno@clisp.org>
109780         * lib/copy-file.c: Include acl.h.
109781         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
109782         Close the file descriptors only after being done with copy_acl.
109783         * modules/copy-file (Depends-on): Add acl.
109785 2006-12-22  Bruno Haible  <bruno@clisp.org>
109787         * gnulib-tool (SED): New variable.
109788         Use $SED instead of sed everywhere.
109790 2006-12-22  Bruno Haible  <bruno@clisp.org>
109792         * modules/no-c++: New file.
109793         * m4/no-c++.m4: New file.
109794         * MODULES.html.sh (Support for building libraries and executables):
109795         Add no-c++.
109797 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
109799         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
109800         Include <limits.h>, and use its INT_MAX to rewrite the
109801         j loop so that it does not overflow 'int'.  Problem reported by
109802         Ralf Wildenhues in
109803         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
109804         Play it safe by shifting left by 1 rather than multiplying by 2,
109805         as GCC is less likely to optimize this away when the value
109806         is signed (when it assumes overflow leads to undefined behavior).
109807         Also, don't assume time_t uses two's complement.
109809 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
109811         * MODULES.html.sh: New module wctype.
109812         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
109813         * lib/fnmatch.c: Don't bother to include <wchar.h> before
109814         <wctype.h>, since the new wctype module should fix this.
109815         * lib/quotearg.c: Include <wctype.h> unconditionally, since
109816         the wctype module should arrange for it.
109817         * lib/regex_internal.h: Likewise.
109818         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
109819         since the wctype module should handle this now.
109820         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
109821         * modules/fnmatch (Depends-on): Add wctype.
109822         * modules/quotearg (Depends-on): Likewise.
109823         * modules/regex (Depends-on): Likewise.
109825 2006-12-19  Bruno Haible  <bruno@clisp.org>
109827         * lib/strdup.h [C++]: Wrap definitions in extern "C".
109828         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
109830 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109832         * modules/savewd (Depends-on): Fix dependency on fcntl.
109834 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
109836         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
109837         conforms to C99, rather than relying on the user's environment
109838         setting of STDINT_H.
109840 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
109841         and Eric Blake  <ebb9@byu.net>
109843         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
109844         This is more consistent with the other defines here.
109845         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
109846         Port to z/OS.  Problem reported by Paul Gilmartin.
109847         Change local vars to use gl_ prefix rather than ac_.
109848         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
109849         with other defines.
109850         * modules/double-slash-root: New module.
109851         * modules/dirname (Files): Remove m4/double-slash-root.m4.
109852         (Depends-on): Add double-slash-root.
109853         * MODULES.html.sh (File system functions): Mention new module.
109855 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
109857         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
109858         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
109859         This is for the benefit of gzip, which doesn't do i18n.
109861 2006-12-12  Jim Meyering  <jim@meyering.net>
109863         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
109864         Reported by Andreas Schwab <schwab@suse.de>.
109866 2006-12-12  Bruno Haible  <bruno@clisp.org>
109868         Merge these changes.
109869         2006-09-05  Bruno Haible  <bruno@clisp.org>
109870         * lib/iconvme.c (iconv_string): No need to save and restore errno when
109871         iconv_alloc succeeded.
109872         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
109873         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
109874         test for " && dest " at the end - dest is always != NULL there. Call
109875         iconv with 4xNULL arguments initially, to reset the state. Call iconv
109876         with 2xNULL arguments, also to flush the state storage. Handle the
109877         IRIX iconv behaviour. Realloc the final result, to throw away unused
109878         memory.
109880 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
109882         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
109883         and fchmodat unconditionally, since glibc 2.4 has them.
109884         Problem reported by Arkadiusz Miskiewicz.
109886 2006-12-10  Bruno Haible  <bruno@clisp.org>
109888         * gnulib-tool (func_import): Show the include files only for those
109889         modules that are copied and specified.
109890         Reported by Karl Berry.
109892 2006-12-08  Jim Meyering  <jim@meyering.net>
109894         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
109895         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
109897         * build-aux/announce-gen: Add two new options, both optional:
109898         --bootstrap-tools=TOOL_LIST
109899               a comma-separated list of tools, e.g.,
109900               autoconf,automake,bison,gnulib
109901         --gnulib-snapshot-date=DATE
109902               if gnulib is in the bootstrap tool list,
109903               then report this as the snapshot date.
109904               If not specified, use the current date/time.
109905               If you specify a date here, be sure it's UTC.
109907 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109909         * tests/test-argp-2.sh: Fix test to match actual output.
109910         (func_compare): Fix sed script to be portable.
109912 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
109914         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
109915         workaround for this case.  It is not autoconfigured now; offhand
109916         it's hard to see how to autoconfigure it.
109918 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
109920         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
109921         a directory that is about to be chowned.  Such a directory's
109922         initial file permissions should permit the owner only and this
109923         should not be changed until after the chown, since the group and
109924         other bits would be incorrect if they granted permission before
109925         the chown.
109927         Fix porting problem for iswctype reported by Georg Schwarz in:
109928         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
109929         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
109930         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
109931         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
109932         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
109934 2006-12-03  Jim Meyering  <jim@meyering.net>
109936         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
109937         p->fts_statp may not yet be defined.
109938         (fts_read): Instead, set it in the caller, once p->fts_statp is
109939         sure to be defined, and corresponds to a top-level directory.
109940         This bug made du -x fail.  Here's the coreutils test case:
109941         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
109942         Reported by Mike Frysinger.
109944 2006-12-01  Jim Meyering  <jim@meyering.net>
109946         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
109947         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
109948         Reported by Simon Josefsson.
109950 2006-11-30  Jim Meyering  <jim@meyering.net>
109952         * m4/warning.m4: Use the all-permissive copyright notice
109953         recommended by RMS (rather than LGPL).
109954         * m4/vararrays.m4: Likewise.
109955         * m4/flexmember.m4: Likewise.
109957 2006-11-29  Bruno Haible  <bruno@clisp.org>
109959         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
109960         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
109961         using +=.
109962         Reported by Simon Josefsson <simon@josefsson.org>.
109964 2006-11-28  James Youngman  <jay@gnu.org>
109966         * README: Advise users that they might find the bug-gnulib@gnu.org
109967         and autotools-announce@gnu.org mailing lists useful.
109969 2006-11-28  Bruno Haible  <bruno@clisp.org>
109971         * m4/ptrdiff_max.m4: Remove file.
109973 2006-11-21  Bruno Haible  <bruno@clisp.org>
109975         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
109976         _AC_COMPUTE_INT.
109977         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109978         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
109979         _AC_COMPUTE_INT.
109980         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109981         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
109982         _AC_COMPUTE_INT.
109983         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109985 2006-11-28  Jim Meyering  <jim@meyering.net>
109987         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
109988         warning from "gcc -Wshadow" about shadowing the builtin.
109990 2006-11-27  Bruno Haible  <bruno@clisp.org>
109992         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
109993         _AC_COMPUTE_INT.
109994         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
109996 2006-11-27  Bruno Haible  <bruno@clisp.org>
109997             Paul Eggert  <eggert@cs.ucla.edu>
109999         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
110001 2006-11-26  Bruno Haible  <bruno@clisp.org>
110003         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110004         noinst_LTLIBRARIES.
110006 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
110007             Bruno Haible  <bruno@clisp.org>
110009         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
110010         if compiling with "gcc -ansi".
110012 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
110014         Fix some incompatibilities with gcc -ansi -pedantic.
110015         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
110016         if compiling pedantically with GCC, unless it's C99 or later.
110017         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
110018         it mishandles gcc -ansi -pedantic as well.
110019         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
110020         if gcc -pedantic.
110021         * lib/regexec.c (check_node_accept_bytes): Don't use auto
110022         initializers for struct if -pedantic, unless it's C99 or later.
110024 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
110026         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
110027         Don't close an fd more than once. Identical atimes indicate
110028         success, not failure.
110030 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
110032         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
110034 2006-11-23  Jim Meyering  <jim@meyering.net>
110036         * build-aux/announce-gen: New file.  From coreutils.
110038 2006-11-22  Jim Meyering  <jim@meyering.net>
110040         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
110041         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
110042         (fts_read): Use a temporary to narrow the overused st_size member
110043         before using it in a switch statement.  Reported by Matthew Woehlke.
110045         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
110046         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
110048 2006-11-20  Bruno Haible  <bruno@clisp.org>
110050         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
110051         changequote instead of pairs of brackets.
110052         Reported by Andreas Schwab <schwab@suse.de>.
110054 2006-11-21  Jim Meyering  <jim@meyering.net>
110056         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
110057         so as to remain compatible with older compilers.
110058         Patch from Michael Deutschmann.
110060 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110062         * MODULES.html.sh (File system functions): Add openat.
110064         * lib/openat.h (rpl_fstatat): New macro, if
110065         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
110066         (fstatat): Define to rpl_fstatat under the same conditions,
110067         unless COMPILING_FSTATAT.
110068         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
110069         seems to have the bug.
110070         * lib/fstatat.c: New file.
110071         * modules/openat (Files): Add it.
110073 2006-11-20  Bruno Haible  <bruno@clisp.org>
110075         * Makefile: New file.
110077 2006-11-20  Jim Meyering  <jim@meyering.net>
110079         The beginnings of syntax-related checks for gnulib.
110080         * lib/Makefile: New file.
110081         * lib/t-idcache: New script.  Ensure that the two halves of
110082         idcache.c stay in sync.
110084         * lib/idcache.c: Adjust comments in user- and group- portions to
110085         be more accurate, and to be consistent with one another.
110087 2006-11-20  Jim Meyering  <jim@meyering.net>
110089         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
110090         continue using the flexible array member (thus, this module performs
110091         half as many malloc calls), with the addition that...
110092         (getgroup, getuser): Consistently record a non-match via an empty
110093         "name" string, and map an empty string match to a NULL return value.
110094         * modules/idcache (Depends-on): Re-add flexmember.
110096         * lib/idcache.c (getuser): Remove all uses of the register keyword.
110097         (getuidbyname, getgroup, getgidbyname): Likewise.
110099         Use cleaner syntax: NULL rather than 0.
110100         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
110102 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110104         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
110105         It mishandled the case where the group was missing.
110106         Problem reported by Greg Schafer.
110107         * modules/idcache: Likewise.
110109 2006-11-18  Jim Meyering  <jim@meyering.net>
110111         * check-module (%exempt_header): Add exception for some
110112         conditionally-included headers.
110114         * modules/i-ring (Depends-on): Add verify.
110115         (License): Change to LGPL.
110117 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
110119         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
110120         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
110121         and inttostr.h.  Use snprintf rather than uinttostr, so that
110122         LGPLed code doesn't depend on GPLed.
110124 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
110126         * modules/inline (License): Change from GPL to LGPL.
110128 2006-11-17  Jim Meyering  <jim@meyering.net>
110130         * modules/d-type (License): Switch to LGPL.
110132 2006-11-15  Bruno Haible  <bruno@clisp.org>
110134         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
110136 2006-11-15  Eric Blake  <ebb9@byu.net>
110138         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
110139         the module dependency.
110141 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110142             Bruno Haible  <bruno@clisp.org>
110144         * gnulib-tool (func_create_testdir): Add license consistency check.
110146 2006-11-15  Eric Blake  <ebb9@byu.net>
110148         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
110149         random "(cached)" in configure output.
110151 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110153         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
110154         test for conforming inttypes.h is both announced and cached.
110156         * MODULES.html.sh (seen_modules, seen_files): New variables.
110157         (func_module): Rewrite to use a few less gnulib-tool and sed
110158         invocations.  Avoid a couple of quadratic algorithms for ...
110159         (missed_modules, missed_files): ... these, with ...
110160         (func_append, func_tmpdir): ... these new functions, from
110161         gnulib-tool.  Analogously, install traps for cleanup.
110163         * tests/test-gc.c (main): Remove unused variables.
110164         * tests/test-read-file.c: Include stdlib.h, for 'free'.
110166 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
110168         * modules/inttostr (License): Change to LGPL.
110170 2006-11-14  Eric Blake  <ebb9@byu.net>
110172         * modules/tempname (License): Change to LGPL.
110174 2006-11-14  Eric Blake  <ebb9@byu.net>
110176         * doc/functions.texi (Function Portability): *printf functions on
110177         Cygwin now understand all POSIX size specifiers.
110179 2006-11-14  Bruno Haible  <bruno@clisp.org>
110181         * modules/c-ctype (License): Change to LGPL.
110183 2006-11-12  Bruno Haible  <bruno@clisp.org>
110185         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
110186         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
110187         for GNOME libraries, for which the include files are installed in
110188         subdirectories of $prefix/include.
110190 2006-11-12  Bruno Haible  <bruno@clisp.org>
110192         * m4/lib-link.m4: Require at least autoconf-2.54.
110193         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
110194         name to underscores for the --with option.
110196 2006-11-13  Bruno Haible  <bruno@clisp.org>
110198         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
110199         the tests directory.
110200         Reported by Ralf Wildenhues.
110202 2006-11-13  Bruno Haible  <bruno@clisp.org>
110204         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
110205         (func_emit_initmacro_end): Undo the override here.
110206         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
110207         Works around the famous automake error in coreutils.
110209 2006-11-13  Eric Blake  <ebb9@byu.net>
110211         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
110212         element, not its node.
110214 2006-11-12  Bruno Haible  <bruno@clisp.org>
110216         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
110217         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
110219 2006-11-12  Bruno Haible  <bruno@clisp.org>
110221         * gnulib-tool: New option --local-symlink.
110222         (func_usage): Document it.
110223         (lsymbolic): New variable.
110224         (func_import, func_create_testdir): If --symlink was not specified,
110225         test whether --local-symlink was specified and the file comes from
110226         the local_gnulib_dir.
110228 2006-11-12  Bruno Haible  <bruno@clisp.org>
110230         * gnulib-tool (func_ln): New function.
110231         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
110233 2006-11-12  Bruno Haible  <bruno@clisp.org>
110235         Finish support for source files in subdirectories.
110236         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
110237         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
110238         AUTOMAKE_OPTIONS.
110239         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
110241 2006-11-12  Bruno Haible  <bruno@clisp.org>
110243         * gnulib-tool (func_get_automake_snippet): Synthesize also an
110244         EXTRA_lib_SOURCES augmentation.
110245         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
110247 2006-11-12  Jim Meyering  <jim@meyering.net>
110249         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
110250         file descriptors.  This also averts a failure on systems with
110251         native openat support when a traversed directory lacks "x" access.
110252         * lib/fts_.h: Include "i-ring.h"
110253         (struct FTS) [fts_fd_ring]: New member.
110254         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
110255         (FCHDIR): Add parentheses.
110256         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
110257         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
110258         When descending, rather than simply closing the previous
110259         fts_cwd_fd value, push that file descriptor onto the ring.
110260         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
110261         (fts_open): Initialize the new fd_ring member.
110262         (fts_close): Clear the ring.
110263         (fts_safe_changedir): When possible, use our new fd_ring to skip
110264         the diropen and fstat and dev/ino comparison that would normally
110265         accompany a virtual `chdir ("..")'.
110267         * modules/fts (Depends-on): Add i-ring.
110268         * modules/i-ring: New module.
110269         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
110270         * m4/i-ring.m4: New file.
110272 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110274         * gnulib-tool (func_create_testdir): Fix replacement of
110275         `build-aux' in configure.ac.  Run autotools in gltests
110276         subdirectory.
110277         (func_create_testdir, func_create_megatestdir, test): There is
110278         no need for '--force' in most autotool invocations in a new
110279         tree.  Actually fail the whole test if any of the tools, or the
110280         configure or make stages fail.
110282         Sync from Automake.
110283         * build-aux/gnupload: Revert last change.  Add pointer to upload
110284         instructions of the GNU Maintenance Instructions.
110285         Suggestion by Karl Berry.
110287 2006-11-10  Jim Meyering  <jim@meyering.net>
110289         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
110291 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110293         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
110294         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
110295         (bind_textdomain_codeset) [! ENABLE_NLS]:
110296         Evaluate all the arguments.  That way, callers get compatible behavior
110297         if the arguments have side effects.  Also, it avoids some GCC
110298         diagnostics in some cases; Joel E. Denny reported problems when Bison
110299         was configured with --enable-gcc-warnigs.
110301 2006-11-10  Jim Meyering  <jim@meyering.net>
110303         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
110304         relevant options in CFLAGS (like -O, -fno-inline) are taken into
110305         account.
110307 2006-11-10  Jim Meyering  <jim@meyering.net>
110309         * modules/inline: New file/module.
110310         * modules/xalloc (Files): Remove m4/inline.m4.
110311         (Depends-on): Add inline, instead.
110312         * modules/oset: Likewise.
110313         * modules/list: Likewise.
110315 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110317         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
110318         Problem reported by Matthew Woehlke.
110320 2006-11-09  Bruno Haible  <bruno@clisp.org>
110322         * lib/tempname.c (gen_tempname): Remove variant that invokes
110323         __gen_tempname.
110324         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
110325         __gen_tempname.
110327 2006-11-08  Bruno Haible  <bruno@clisp.org>
110329         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
110330         to 'yes' instead of 'cross-compiling'.
110332 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
110334         * lib/quotearg.h (quotearg_free): New decl.
110335         * lib/quotearg.c (quotearg_free): New function.
110336         (slot0, nslots, slotvec0, slotvec):
110337         Now file-scope so that quotearg_free can get at them.
110339 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110341         Sync from Automake.
110342         * build-aux/gnupload: Add missing 'gnu' to example URL.
110343         Report by Karl Berry.
110345 2006-11-08  Bruno Haible  <bruno@clisp.org>
110347         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
110348         Suggested by Paul Eggert.
110350 2006-11-08  Jim Meyering  <jim@meyering.net>
110352         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
110353         It's already included if !_LIBC.
110354         (fts_safe_changedir): Add a comment.
110356 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110358         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
110359         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
110360         Matthew Woehlke.
110362         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
110363         definitions up, to avoid colliding with change below.
110364         (static_inline) [HAVE_INLINE]: New macro.
110365         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
110366         Provide extern decls when !HAVE_INLINE.  Do not define unless
110367         static_inline is defined, either by us or by xmalloc.c.  Use
110368         static_inline rather than static inline.
110369         (XCALLOC): Optimize sizeof(T) = 1 case.
110370         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
110372 2006-11-07  Bruno Haible  <bruno@clisp.org>
110374         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
110375         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
110376         AC_C_INLINE.
110377         * modules/xalloc (Files): Add m4/inline.m4.
110379 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110381         * README: Fix typo.
110382         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
110383         (Miscellanous Notes): ...from this.
110385 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110387         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
110388         Mention that offsetof should be used instead of sizeof.
110389         From Bruno Haible.
110391 2006-11-07  Bruno Haible  <bruno@clisp.org>
110393         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
110395 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110397         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110398         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
110399         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110400         (gl_tree_add_before, gl_tree_add_after):
110401         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
110402         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
110403         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
110404         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
110405         (gl_linked_add_after, gl_linked_add_at): Likewise.
110406         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
110407         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110408         (gl_tree_add_before, gl_tree_add_after): Likewise.
110409         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
110410         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
110411         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
110413 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110415         * lib/gl_oset.h: Use C comment style, not C++ comment style.
110417 2006-11-06  Bruno Haible  <bruno@clisp.org>
110419         * m4/inline.m4: New file.
110420         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
110421         * modules/list (Files): Add m4/inline.m4.
110422         * modules/oset (Files): Likewise.
110424 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110426         * lib/idcache.c: Include <stddef.h>, for offsetof.
110427         (struct userid.name): Change from char * to a flexible array member.
110428         All uses changed.
110429         * modules/idcache (Depends-on): Add flexmember.
110431         * MODULES.html.sh (Core language properties): New module flexmember.
110432         * modules/flexmember, m4/flexmember.m4: New files.
110434         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
110435         inline functions that are identical with the old xnmalloc_inline,
110436         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
110437         that we can avoid some unnecessary integer multiplications and
110438         divisions in the common case where the element size is known at
110439         compile time.
110440         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
110441         needed.
110442         (xnboundedmalloc): Remove.
110443         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
110444         arguments, for consistency with rest of this header.
110445         (xcharalloc): Rewrite using XNMALLOC.
110446         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
110447         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
110448         versions have been moved to lib/xalloc.h and renamed to be the
110449         non-*_inline versions.
110450         (xmalloc, xrealloc): Implement without reference to the xnmalloc
110451         and xnrealloc functions, since those functions are now inline and
110452         now call us.
110453         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
110454         renaming described above.
110455         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
110456         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
110457         captures the dependency in AC_C_INLINE.
110459         New module canonicalize-lgpl, proposed by Charles Wilson in
110460         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
110461         with a few small changes afterwards.
110462         * MODULES.html.sh (File system functions): New module
110463         canonicalize-lgpl.
110464         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
110465         and canonicalize_file_name.
110466         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
110467         * modules/canonicalize-lgpl: New files.
110469 2006-11-05  Bruno Haible  <bruno@clisp.org>
110471         * gnulib-tool (func_import, func_create_testdir): Create directories
110472         also for files in subdirectories of lib/.
110474 2006-11-05  Bruno Haible  <bruno@clisp.org>
110476         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
110477         ANSI C compliant.
110479 2006-11-03  Bruno Haible  <bruno@clisp.org>
110481         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110482         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
110483         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
110484         (xnboundedmalloc): New inline function.
110485         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
110486         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
110487         xmalloc.
110488         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
110489         xmalloc.
110490         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
110491         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
110492         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
110493         xmalloc.
110494         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110495         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
110496         xmalloc.
110497         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
110498         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110499         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
110500         xmalloc.
110501         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110502         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
110503         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110504         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
110505         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
110506         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
110507         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
110509 2006-11-03  Bruno Haible  <bruno@clisp.org>
110511         * lib/c-ctype.h [C++]: Define functions without name mangling.
110512         * lib/fwriteerror.h [C++]: Likewise.
110513         * lib/gcd.h [C++]: Likewise.
110514         * lib/linebreak.h [C++]: Likewise.
110516 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
110518         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
110519         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
110520         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
110521         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
110522         Check for functions and headers just once.
110523         Check for declaration of canonicalize_file_name.
110524         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
110526 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
110528         * gnulib-tool (func_import): Fix typo in actioncmd.
110530 2006-11-02  Bruno Haible  <bruno@clisp.org>
110532         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
110533         newline sequence in the Makefile.am snippet as a space, like "make"
110534         does.
110535         Reported by Roger Persson <perrog@gmail.com>.
110537 2006-11-01  Bruno Haible  <bruno@clisp.org>
110539         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
110540         already declared in <string.h>.
110541         * lib/strcase.h (strncasecmp): Don't declare it if yes.
110543 2006-11-01  Bruno Haible  <bruno@clisp.org>
110545         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
110546         * lib/strcase.h: Include <string.h>.
110547         (strcasecmp): Define to rpl_strcasecmp here.
110549 2006-11-01  Bruno Haible  <bruno@clisp.org>
110551         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
110553 2006-11-01  Eric Blake  <ebb9@byu.net>
110555         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
110557         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
110559 2006-10-29  Bruno Haible  <bruno@clisp.org>
110561         Make it compile in C++ mode.
110562         * lib/full-write.c (full_rw): Add a cast.
110564 2006-11-01  Bruno Haible  <bruno@clisp.org>
110566         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
110567         be POSIX compliant.
110568         Reported by Roger Persson <perrog@gmail.com>.
110570 2006-11-01  Eric Blake  <ebb9@byu.net>
110572         * lib/getopt_.h: Fix comments.
110574 2006-10-31  Eric Blake  <ebb9@byu.net>
110576         * modules/tmpdir (Depends-on): Add sys_stat.
110577         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
110578         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
110579         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
110580         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
110581         tempname.
110583 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
110585         Avoid some C++ diagnostics reported by Bruno Haible.
110586         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
110587         xmalloc.
110588         (quotearg_alloc): Use xcharalloc rather than xmalloc.
110589         (struct slotvec): Move to top level.
110590         (quotearg_n_options): Rewrite to avoid xmalloc.
110591         * lib/xalloc.h (xcharalloc): New function.
110592         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
110593         [defined __cplusplus]: Add function template that provides result
110594         type propagation.  This part of the change is from Bruno Haible.
110596 2006-10-29  Bruno Haible  <bruno@clisp.org>
110598         Make it compile in C++ mode.
110599         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
110600         * lib/strnlen1.c (strnlen1): Cast memchr result.
110601         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
110602         * lib/clean-temp.c (string_equals, string_hash): Add casts.
110603         (create_temp_dir): Rename local variable 'template'.
110604         (compile_csharp_using_sscli): Add cast.
110605         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
110606         * lib/findprog.c (find_in_path): Likewise.
110607         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
110608         * lib/wait-process.c (register_slave_subprocess): Likewise.
110610 2006-10-22  Bruno Haible  <bruno@clisp.org>
110612         * modules/tsearch: New file.
110613         * lib/tsearch.h: New file.
110614         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
110615         * m4/tsearch.m4: New file.
110616         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
110618 2006-10-29  Eric Blake  <ebb9@byu.net>
110620         * lib/arcfour.c: Assume config.h.
110621         * lib/arctwo.c: Likewise.
110622         * lib/base64.c: Likewise.
110623         * lib/check-version.c: Likewise.
110624         * lib/crc.c: Likewise.
110625         * lib/des.c: Likewise.
110626         * lib/gc-gnulib.c: Likewise.
110627         * lib/gc-libgcrypt.c: Likewise.
110628         * lib/gc-pbkdf2-sha1.c: Likewise.
110629         * lib/getaddrinfo.c: Likewise.
110630         * lib/getdelim.c: Likewise.
110631         * lib/getline.c: Likewise.
110632         * lib/hmac-md5.c: Likewise.
110633         * lib/hmac-sha1.c: Likewise.
110634         * lib/iconvme.c: Likewise.
110635         * lib/md2.c: Likewise.
110636         * lib/md4.c: Likewise.
110637         * lib/memxor.c: Likewise.
110638         * lib/read-file.c: Likewise.
110639         * lib/readline.c: Likewise.
110640         * lib/rijndael-alg-fst.c: Likewise.
110641         * lib/rijndael-api-fst.c: Likewise.
110642         * lib/xgetdomainname.c: Likewise.
110644 2006-10-28  Eric Blake  <ebb9@byu.net>
110646         * lib/xstrndup.c: Assume config.h.
110648 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
110650         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
110651         stat-macros.h is now for our own macros, whereas stat_h is for
110652         macros in the <sys/stat.h> name space.
110653         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
110654         (STAT_MACROS_H): Remove.
110655         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
110656         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
110657         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
110658         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
110659         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
110660         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
110661         Move these macros to ...
110662         * lib/stat_.h: here.  Don't include stat-macros.h.
110663         * lib/canonicalize.c: Don't include stat-macros.h.
110664         * lib/chown.c: Likewise.
110665         * lib/euidaccess.c: Likewise.
110666         * lib/file-type.c: Likewise.
110667         * lib/filemode.c: Likewise.
110668         * lib/glob.c: Likewise.
110669         * lib/isapipe.c: Likewise.
110670         * lib/lchown.c: Likewise.
110671         * lib/lstat.c: Likewise.
110672         * lib/mkdir-p.c: Likewise.
110673         * lib/rmdir.c: Likewise.
110674         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
110675         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
110676         unless mkdir isn't declared, to speed up 'configure'.
110677         Always create sys/stat.h, since it's unlikely any real sys/stat.h
110678         would define all the S_* symbols.
110679         * modules/canonicalize (Depends-on):
110680         Depend on sys_stat, not stat-macros.
110681         * modules/chown: Likewise.
110682         * modules/euidaccess: Likewise.
110683         * modules/filemode: Likewise.
110684         * modules/file-type: Likewise.
110685         * modules/glob: Likewise.
110686         * modules/isapipe: Likewise.
110687         * modules/lchown: Likewise.
110688         * modules/lstat: Likewise.
110689         * modules/mkancesdirs: Likewise.
110690         * modules/rmdir: Likewise.
110691         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
110692         * modules/modechange: Likewise.
110693         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
110694         (configure.ac): Remove gl_STAT_MACROS.
110695         * modules/sys_stat (Depends-on): Remove stat-macros.
110697 2006-10-27  Bruno Haible  <bruno@clisp.org>
110699         * m4/signed.m4: Remove file.
110700         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
110701         invocation.
110702         * modules/vasnprintf (Files): Remove m4/signed.m4.
110704 2006-10-27  Bruno Haible  <bruno@clisp.org>
110706         Update to GNU gettext 0.16.
110707         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
110708         m4/inttypes-h.m4, m4/signed.m4.
110709         * m4/gettext.m4: Update to GNU gettext 0.16.
110710         * m4/intl.m4: New file, from GNU gettext.
110711         * m4/intldir.m4: New file, from GNU gettext.
110712         * config/srclist.txt: Update
110714 2006-10-27  Eric Blake  <ebb9@byu.net>
110716         * MODULES.html.sh: Document tempname.
110717         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
110718         dependencies.
110719         (Files): Move lib/tempname.c...
110720         * modules/tempname: ...to this new module.
110721         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
110722         (gl_PREREQ_TEMPNAME): Move...
110723         * m4/tempname.m4: ...to this new file.
110724         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
110725         * modules/sys_stat (Depends-on): Add stat-macros.
110726         * lib/stat_.h (includes): Pick up stat macros.
110727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
110728         if stat macros are broken.
110729         * lib/tempname.c (includes): No need to include "stat-macros.h".
110730         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
110731         (direxists, __path_search) [!_LIBC]: Don't compile these in
110732         gnulib; the tmpdir module covers that.
110733         * lib/tempname.h: New file.
110735 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
110737         * COPYING: Explain how gnulib-tool converts licence headers.
110738         Almost all wording by Eric Blake.
110740 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
110742         * lib/mbchar.h (is_basic_table): Make read-only.
110743         * lib/mbchar.c (is_basic_table): Likewise.
110744         Reported by John Darrington.
110746 2006-10-25  Bruno Haible  <bruno@clisp.org>
110748         * lib/progname.h (set_program_name): Undefine before defining.
110750 2006-10-25  Bruno Haible  <bruno@clisp.org>
110752         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
110753         false for non-gcc C++ compilers.
110754         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
110756 2006-10-24  Bruno Haible  <bruno@clisp.org>
110758         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
110759         iconv implementations like Irix iconv.
110761 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110763         * modules/vararrays: New file.
110764         * m4/vararrays.m4: New file, taken from diffutils.
110765         * MODULES.html.sh: New module vararrays.
110767 2006-10-24  Karl Berry  <karl@gnu.org>
110769         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
110770         Don't call GNU Unix.
110772 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110774         * users.txt: Add Libtool.
110776         Sync from Libtool:
110778         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110780         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
110781         to gnulib's policy of including config.h unconditionally.
110783 2006-10-24  Bruno Haible  <bruno@clisp.org>
110785         * modules/wcwidth (Files): Add m4/wint_t.m4.
110786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
110787         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
110789 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
110791         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
110792         to pacify GCC with some -W flags enabled.  Problem reported by
110793         Bruno Haible.
110795 2006-10-24  Jim Meyering  <jim@meyering.net>
110797         * MODULES.html.sh: Remove uinttostr.  It's not a module.
110798         Reported by Karl Berry.
110800 2006-10-23  Bruno Haible  <bruno@clisp.org>
110802         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
110804 2006-10-24  Bruno Haible  <bruno@clisp.org>
110806         * lib/gl_list.h: Use C comment style, not C++ comment style.
110808 2006-10-23  Eric Blake  <ebb9@byu.net>
110810         * lib/getaddrinfo.c (includes): Add missing include.
110812 2006-10-23  Bruno Haible  <bruno@clisp.org>
110813             Paul Eggert  <eggert@cs.ucla.edu>
110815         Ability to rename obstack_free.
110816         * lib/obstack.h (__obstack_free): New macro. Declare instead of
110817         obstack_free.
110818         (obstack_free): Invoke the __obstack_free macro.
110819         * lib/obstack.c (obstack_free): Use __obstack_free macro.
110821 2006-10-23  Bruno Haible  <bruno@clisp.org>
110822             Paul Eggert  <eggert@cs.ucla.edu>
110824         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
110825         __argc, __argv from the declaration. (They are defined as macros on
110826         mingw.)
110828 2006-10-22  Bruno Haible  <bruno@clisp.org>
110830         * doc/gnulib-intro.texi: New file.
110831         * doc/gnulib.texi: Include it.
110833 2006-10-21  Bruno Haible  <bruno@clisp.org>
110835         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
110836         "Introduction", "Miscellanous Notes", "Particular Modules".
110838 2006-10-21  Bruno Haible  <bruno@clisp.org>
110840         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
110841         Change mostlyclean-local rule to avoid sh syntax error from bash
110842         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
110844 2006-10-23  Jim Meyering  <jim@meyering.net>
110846         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
110847         in place of snprintf.
110849         * modules/inttostr (Files): Add lib/uinttostr.c.
110850         * lib/uinttostr.c (inttostr): New file/function.
110851         * lib/inttostr.h (uinttostr): Declare.
110852         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
110853         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
110854         Add uinttostr.
110855         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
110857 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
110859         * lib/canonicalize.c (ELOOP): Define if not already defined.
110860         Problem reported by Bruno Haible in
110861         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
110863 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
110865         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
110866         Problem reported by Perry Smith and Ville Laurikari.
110868         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
110869         uses.
110871 2006-10-19  Bruno Haible  <bruno@clisp.org>
110873         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
110874         for mingw.
110876 2006-10-19  Bruno Haible  <bruno@clisp.org>
110878         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
110879         Needed for mingw.
110881 2006-10-19  Bruno Haible  <bruno@clisp.org>
110883         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
110885 2006-10-19  Bruno Haible  <bruno@clisp.org>
110887         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
110888         it.
110890 2006-10-19  Bruno Haible  <bruno@clisp.org>
110892         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
110893         invocation.
110895 2006-10-19  Bruno Haible  <bruno@clisp.org>
110897         * gnulib-tool (func_create_testdir): Don't include ftruncate and
110898         mountlist by default.
110900 2006-10-16  Bruno Haible  <bruno@clisp.org>
110902         * lib/c-strstr.c: Include c-strstr.h.
110904 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
110906         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
110907         in a slash.
110909 2006-10-18  Bruno Haible  <bruno@clisp.org>
110911         * lib/lock.h [C++]: Wrap definitions in extern "C".
110913 2006-10-18  Bruno Haible  <bruno@clisp.org>
110915         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
110916         gl_LIBOBJS list.
110918 2006-10-18  Bruno Haible  <bruno@clisp.org>
110920         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
110922 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
110924         * lib/xstrtol.h: Include gettext.h.
110925         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
110926         Problem reported by Eric Blake.
110927         * modules/xstrtol (Depends-on): Add gettext-h.
110929 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
110931         * lib/strftime.c (advance): New macro.
110932         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
110933         incomplete type, so you can't add 0 to it.  Problem and patch
110934         reported by Eelco Dolstra for dietlibc.
110936 2006-10-18  Jim Meyering  <jim@meyering.net>
110938         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
110939         type for a local, and rename it: s/up/user_proc/.
110941 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
110943         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
110944         READ_UTMP_USER_PROCESS.
110945         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
110947 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
110949         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
110950         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
110952 2006-10-17  Eric Blake  <ebb9@byu.net>
110954         * lib/sigprocmask.c (sigprocmask): Fix typo.
110956         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
110958         * modules/clean-temp (Makefile.am): Don't add to make output...
110959         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
110960         config.h.
110962 2006-10-17  Bruno Haible  <bruno@clisp.org>
110964         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
110965         differently if DEFAULT_TEXT_DOMAIN is set.
110967 2006-10-16  Bruno Haible  <bruno@clisp.org>
110969         * lib/clean-temp.c: Include fwriteerror.h.
110971 2006-10-16  Bruno Haible  <bruno@clisp.org>
110973         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
110975 2006-10-16  Bruno Haible  <bruno@clisp.org>
110977         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
110978         * lib/sigprocmask.h: Include <sys/types.h>.
110979         (sigset_t): Use the system's definition if present.
110981 2006-10-17  Eric Blake  <ebb9@byu.net>
110983         * lib/xvasprintf.c (includes): Assume config.h.
110984         * lib/xasprintf.c (includes): Likewise.
110986 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
110988         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
110989         at least as wide as intmax_t.
110991 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
110993         (Imported from Automake.)
110994         * build-aux/gnupload: Update to version 1.1 of directive file.
110996 2006-10-16  Eric Blake  <ebb9@byu.net>
110998         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
110999         match Automake 1.10a.
111001 2006-10-14  Bruno Haible  <bruno@clisp.org>
111003         * modules/sigprocmask: New file.
111004         * lib/sigprocmask.h: New file.
111005         * lib/sigprocmask.c: New file.
111006         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
111007         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
111008         request sigprocmask.o.
111009         (gl_PREREQ_SIGPROCMASK): New macro.
111010         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
111011         (Depends-on): Add sigprocmask.
111012         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
111013         gt_SIGNALBLOCKING. Test for 'raise' only once.
111014         * lib/fatal-signal.c: Include sigprocmask.h.
111015         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
111016         unblock_fatal_signals): Define always.
111017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111018         sigprocmask.
111020 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
111022         Sync from Automake.
111023         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
111024         which incorrectly sets the mode of an existing destination
111025         directory.  In some cases the unpatched install-sh could do the
111026         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
111027         system.  We hope this is rare in practice, but it's clearly worth
111028         fixing.  Problem reported by Alex Unleashed in
111029         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
111030         Also, don't bother to check for -m bugs unless we're using -m;
111031         suggested by Stepan Kasal.
111033 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111035         Sync from Automake.
111036         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
111037         `-c' flag, so they appear at the same position as in %FASTDEP%
111038         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
111039         which ignores unknown options only after the first non-option.
111040         Bug report against M4 by Nelson H. F. Beebe.
111042 2006-10-13  Jim Meyering  <jim@meyering.net>
111044         Fix a bug in yesterday's change.
111045         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
111046         p->fts_statp->st_dev would be used uninitialized.
111047         Ensures that we always call fts_stat on the very first entry.
111048         Miklos Szeredi reported that find -xdev stopped working.
111050 2006-10-12  Bruno Haible  <bruno@clisp.org>
111052         * gnulib-tool (func_get_automake_snippet): Append an automatically
111053         computed EXTRA_DIST augmentation.
111054         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
111055         * modules/alloca-opt (Makefile.am): Likewise.
111056         * modules/allocsa (Makefile.am): Likewise.
111057         * modules/arcfour (Makefile.am): Likewise.
111058         * modules/arctwo (Makefile.am): Likewise.
111059         * modules/argmatch (Makefile.am): Likewise.
111060         * modules/argz (Makefile.am): Likewise.
111061         * modules/atexit (Makefile.am): Likewise.
111062         * modules/backupfile (Makefile.am): Likewise.
111063         * modules/byteswap (Makefile.am): Likewise.
111064         * modules/c-strtod (Makefile.am): Likewise.
111065         * modules/c-strtold (Makefile.am): Likewise.
111066         * modules/calloc (Makefile.am): Likewise.
111067         * modules/canon-host (Makefile.am): Likewise.
111068         * modules/canonicalize (Makefile.am): Likewise.
111069         * modules/chdir-long (Makefile.am): Likewise.
111070         * modules/chdir-safer (Makefile.am): Likewise.
111071         * modules/check-version (Makefile.am): Likewise.
111072         * modules/chown (Makefile.am): Likewise.
111073         * modules/cloexec (Makefile.am): Likewise.
111074         * modules/close-stream (Makefile.am): Likewise.
111075         * modules/closeout (Makefile.am): Likewise.
111076         * modules/crc (Makefile.am): Likewise.
111077         * modules/csharpexec (Makefile.am): Likewise.
111078         * modules/cycle-check (Makefile.am): Likewise.
111079         * modules/des (Makefile.am): Likewise.
111080         * modules/dev-ino (Makefile.am): Likewise.
111081         * modules/dirfd (Makefile.am): Likewise.
111082         * modules/dirname (Makefile.am): Likewise.
111083         * modules/dup2 (Makefile.am): Likewise.
111084         * modules/eealloc (Makefile.am): Likewise.
111085         * modules/error (Makefile.am): Likewise.
111086         * modules/euidaccess (Makefile.am): Likewise.
111087         * modules/exclude (Makefile.am): Likewise.
111088         * modules/exitfail (Makefile.am): Likewise.
111089         * modules/fcntl-safer (Makefile.am): Likewise.
111090         * modules/fcntl (Makefile.am): Likewise.
111091         * modules/file-type (Makefile.am): Likewise.
111092         * modules/fileblocks (Makefile.am): Likewise.
111093         * modules/filemode (Makefile.am): Likewise.
111094         * modules/filenamecat (Makefile.am): Likewise.
111095         * modules/fnmatch (Makefile.am): Likewise.
111096         * modules/fopen-safer (Makefile.am): Likewise.
111097         * modules/fpending (Makefile.am): Likewise.
111098         * modules/fprintftime (Makefile.am): Likewise.
111099         * modules/free (Makefile.am): Likewise.
111100         * modules/fsusage (Makefile.am): Likewise.
111101         * modules/ftruncate (Makefile.am): Likewise.
111102         * modules/fts (Makefile.am): Likewise.
111103         * modules/gc-arcfour (Makefile.am): Likewise.
111104         * modules/gc-des (Makefile.am): Likewise.
111105         * modules/gc-hmac-md5 (Makefile.am): Likewise.
111106         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
111107         * modules/gc-md4 (Makefile.am): Likewise.
111108         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111109         * modules/gc-sha1 (Makefile.am): Likewise.
111110         * modules/gc (Makefile.am): Likewise.
111111         * modules/getaddrinfo (Makefile.am): Likewise.
111112         * modules/getcwd (Makefile.am): Likewise.
111113         * modules/getdelim (Makefile.am): Likewise.
111114         * modules/getdomainname (Makefile.am): Likewise.
111115         * modules/getgroups (Makefile.am): Likewise.
111116         * modules/gethostname (Makefile.am): Likewise.
111117         * modules/gethrxtime (Makefile.am): Likewise.
111118         * modules/getline (Makefile.am): Likewise.
111119         * modules/getloadavg (Makefile.am): Likewise.
111120         * modules/getlogin_r (Makefile.am): Likewise.
111121         * modules/getndelim2 (Makefile.am): Likewise.
111122         * modules/getopt (Makefile.am): Likewise.
111123         * modules/getpagesize (Makefile.am): Likewise.
111124         * modules/getpass-gnu (Makefile.am): Likewise.
111125         * modules/getpass (Makefile.am): Likewise.
111126         * modules/getsubopt (Makefile.am): Likewise.
111127         * modules/gettime (Makefile.am): Likewise.
111128         * modules/gettimeofday (Makefile.am): Likewise.
111129         * modules/getugroups (Makefile.am): Likewise.
111130         * modules/getusershell (Makefile.am): Likewise.
111131         * modules/glob (Makefile.am): Likewise.
111132         * modules/group-member (Makefile.am): Likewise.
111133         * modules/hard-locale (Makefile.am): Likewise.
111134         * modules/hash (Makefile.am): Likewise.
111135         * modules/hmac-md5 (Makefile.am): Likewise.
111136         * modules/hmac-sha1 (Makefile.am): Likewise.
111137         * modules/human (Makefile.am): Likewise.
111138         * modules/idcache (Makefile.am): Likewise.
111139         * modules/imaxabs (Makefile.am): Likewise.
111140         * modules/imaxdiv (Makefile.am): Likewise.
111141         * modules/inet_ntop (Makefile.am): Likewise.
111142         * modules/inet_pton (Makefile.am): Likewise.
111143         * modules/intprops (Makefile.am): Likewise.
111144         * modules/inttostr (Makefile.am): Likewise.
111145         * modules/inttypes (Makefile.am): Likewise.
111146         * modules/isapipe (Makefile.am): Likewise.
111147         * modules/javaversion (Makefile.am): Likewise.
111148         * modules/lchmod (Makefile.am): Likewise.
111149         * modules/lchown (Makefile.am): Likewise.
111150         * modules/localcharset (Makefile.am): Likewise.
111151         * modules/long-options (Makefile.am): Likewise.
111152         * modules/lstat (Makefile.am): Likewise.
111153         * modules/malloc (Makefile.am): Likewise.
111154         * modules/mathl (Makefile.am): Likewise.
111155         * modules/mbchar (Makefile.am): Likewise.
111156         * modules/md2 (Makefile.am): Likewise.
111157         * modules/md4 (Makefile.am): Likewise.
111158         * modules/md5 (Makefile.am): Likewise.
111159         * modules/memcasecmp (Makefile.am): Likewise.
111160         * modules/memchr (Makefile.am): Likewise.
111161         * modules/memcmp (Makefile.am): Likewise.
111162         * modules/memcoll (Makefile.am): Likewise.
111163         * modules/memcpy (Makefile.am): Likewise.
111164         * modules/memmem (Makefile.am): Likewise.
111165         * modules/memmove (Makefile.am): Likewise.
111166         * modules/mempcpy (Makefile.am): Likewise.
111167         * modules/memrchr (Makefile.am): Likewise.
111168         * modules/memset (Makefile.am): Likewise.
111169         * modules/memxor (Makefile.am): Likewise.
111170         * modules/mkancesdirs (Makefile.am): Likewise.
111171         * modules/mkdir-p (Makefile.am): Likewise.
111172         * modules/mkdir (Makefile.am): Likewise.
111173         * modules/mkdtemp (Makefile.am): Likewise.
111174         * modules/mkstemp (Makefile.am): Likewise.
111175         * modules/mktime (Makefile.am): Likewise.
111176         * modules/modechange (Makefile.am): Likewise.
111177         * modules/mountlist (Makefile.am): Likewise.
111178         * modules/nanosleep (Makefile.am): Likewise.
111179         * modules/obstack (Makefile.am): Likewise.
111180         * modules/openat (Makefile.am): Likewise.
111181         * modules/pagealign_alloc (Makefile.am): Likewise.
111182         * modules/pathmax (Makefile.am): Likewise.
111183         * modules/physmem (Makefile.am): Likewise.
111184         * modules/poll (Makefile.am): Likewise.
111185         * modules/posixtm (Makefile.am): Likewise.
111186         * modules/posixver (Makefile.am): Likewise.
111187         * modules/putenv (Makefile.am): Likewise.
111188         * modules/quote (Makefile.am): Likewise.
111189         * modules/quotearg (Makefile.am): Likewise.
111190         * modules/raise (Makefile.am): Likewise.
111191         * modules/read-file (Makefile.am): Likewise.
111192         * modules/readline (Makefile.am): Likewise.
111193         * modules/readlink (Makefile.am): Likewise.
111194         * modules/readtokens (Makefile.am): Likewise.
111195         * modules/readutmp (Makefile.am): Likewise.
111196         * modules/realloc (Makefile.am): Likewise.
111197         * modules/regex (Makefile.am): Likewise.
111198         * modules/rename-dest-slash (Makefile.am): Likewise.
111199         * modules/rename (Makefile.am): Likewise.
111200         * modules/rijndael (Makefile.am): Likewise.
111201         * modules/rmdir (Makefile.am): Likewise.
111202         * modules/rpmatch (Makefile.am): Likewise.
111203         * modules/safe-read (Makefile.am): Likewise.
111204         * modules/safe-write (Makefile.am): Likewise.
111205         * modules/same-inode (Makefile.am): Likewise.
111206         * modules/same (Makefile.am): Likewise.
111207         * modules/save-cwd (Makefile.am): Likewise.
111208         * modules/savedir (Makefile.am): Likewise.
111209         * modules/setenv (Makefile.am): Likewise.
111210         * modules/settime (Makefile.am): Likewise.
111211         * modules/sha1 (Makefile.am): Likewise.
111212         * modules/sig2str (Makefile.am): Likewise.
111213         * modules/snprintf (Makefile.am): Likewise.
111214         * modules/stat-macros (Makefile.am): Likewise.
111215         * modules/stat-time (Makefile.am): Likewise.
111216         * modules/stdbool (Makefile.am): Likewise.
111217         * modules/stdint (Makefile.am): Likewise.
111218         * modules/stdlib-safer (Makefile.am): Likewise.
111219         * modules/stpcpy (Makefile.am): Likewise.
111220         * modules/stpncpy (Makefile.am): Likewise.
111221         * modules/strcase (Makefile.am): Likewise.
111222         * modules/strcasestr (Makefile.am): Likewise.
111223         * modules/strchrnul (Makefile.am): Likewise.
111224         * modules/strcspn (Makefile.am): Likewise.
111225         * modules/strdup (Makefile.am): Likewise.
111226         * modules/strerror (Makefile.am): Likewise.
111227         * modules/strftime (Makefile.am): Likewise.
111228         * modules/strndup (Makefile.am): Likewise.
111229         * modules/strnlen (Makefile.am): Likewise.
111230         * modules/strpbrk (Makefile.am): Likewise.
111231         * modules/strsep (Makefile.am): Likewise.
111232         * modules/strstr (Makefile.am): Likewise.
111233         * modules/strtod (Makefile.am): Likewise.
111234         * modules/strtoimax (Makefile.am): Likewise.
111235         * modules/strtok_r (Makefile.am): Likewise.
111236         * modules/strtol (Makefile.am): Likewise.
111237         * modules/strtoll (Makefile.am): Likewise.
111238         * modules/strtoul (Makefile.am): Likewise.
111239         * modules/strtoull (Makefile.am): Likewise.
111240         * modules/strtoumax (Makefile.am): Likewise.
111241         * modules/strverscmp (Makefile.am): Likewise.
111242         * modules/sys_socket (Makefile.am): Likewise.
111243         * modules/sys_stat (Makefile.am): Likewise.
111244         * modules/sysexits (Makefile.am): Likewise.
111245         * modules/time_r (Makefile.am): Likewise.
111246         * modules/timegm (Makefile.am): Likewise.
111247         * modules/timespec (Makefile.am): Likewise.
111248         * modules/tmpfile-safer (Makefile.am): Likewise.
111249         * modules/trim (Makefile.am): Likewise.
111250         * modules/unistd-safer (Makefile.am): Likewise.
111251         * modules/unlinkdir (Makefile.am): Likewise.
111252         * modules/unlocked-io (Makefile.am): Likewise.
111253         * modules/userspec (Makefile.am): Likewise.
111254         * modules/utime (Makefile.am): Likewise.
111255         * modules/utimecmp (Makefile.am): Likewise.
111256         * modules/utimens (Makefile.am): Likewise.
111257         * modules/vasnprintf (Makefile.am): Likewise.
111258         * modules/vasprintf (Makefile.am): Likewise.
111259         * modules/vsnprintf (Makefile.am): Likewise.
111260         * modules/xalloc (Makefile.am): Likewise.
111261         * modules/xgetcwd (Makefile.am): Likewise.
111262         * modules/xnanosleep (Makefile.am): Likewise.
111263         * modules/xreadlink (Makefile.am): Likewise.
111264         * modules/xstrtod (Makefile.am): Likewise.
111265         * modules/xstrtol (Makefile.am): Likewise.
111266         * modules/xstrtold (Makefile.am): Likewise.
111267         * modules/yesno (Makefile.am): Likewise.
111268         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
111270 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111272         * modules/error (Makefile.am): Distribute files through
111273         EXTRA_DIST, not lib_SOURCES.
111275 2006-10-12  Eric Blake  <ebb9@byu.net>
111277         * modules/error (Makefile.am): Distribute files in /lib.
111278         * modules/obstack (Makefile.am): Likewise.
111280 2006-10-12  Bruno Haible  <bruno@clisp.org>
111282         * modules/acl (Makefile.am): Distribute all files in lib/ through
111283         EXTRA_DIST.
111284         * modules/arcfour (Makefile.am): Likewise.
111285         * modules/arctwo (Makefile.am): Likewise.
111286         * modules/argmatch (Makefile.am): Likewise.
111287         * modules/argz (Makefile.am): Likewise.
111288         * modules/atexit (Makefile.am): Likewise.
111289         * modules/backupfile (Makefile.am): Likewise.
111290         * modules/c-strtod (Makefile.am): Likewise.
111291         * modules/c-strtold (Makefile.am): Likewise.
111292         * modules/calloc (Makefile.am): Likewise.
111293         * modules/canon-host (Makefile.am): Likewise.
111294         * modules/canonicalize (Makefile.am): Likewise.
111295         * modules/chdir-long (Makefile.am): Likewise.
111296         * modules/chdir-safer (Makefile.am): Likewise.
111297         * modules/check-version (Makefile.am): Likewise.
111298         * modules/chown (Makefile.am): Likewise.
111299         * modules/cloexec (Makefile.am): Likewise.
111300         * modules/close-stream (Makefile.am): Likewise.
111301         * modules/closeout (Makefile.am): Likewise.
111302         * modules/crc (Makefile.am): Likewise.
111303         * modules/cycle-check (Makefile.am): Likewise.
111304         * modules/des (Makefile.am): Likewise.
111305         * modules/dirfd (Makefile.am): Likewise.
111306         * modules/dirname (Makefile.am): Likewise.
111307         * modules/dup2 (Makefile.am): Likewise.
111308         * modules/euidaccess (Makefile.am): Likewise.
111309         * modules/exclude (Makefile.am): Likewise.
111310         * modules/exitfail (Makefile.am): Likewise.
111311         * modules/fcntl-safer (Makefile.am): Likewise.
111312         * modules/file-type (Makefile.am): Likewise.
111313         * modules/fileblocks (Makefile.am): Likewise.
111314         * modules/filemode (Makefile.am): Likewise.
111315         * modules/filenamecat (Makefile.am): Likewise.
111316         * modules/fnmatch (Makefile.am): Likewise.
111317         * modules/fopen-safer (Makefile.am): Likewise.
111318         * modules/fpending (Makefile.am): Likewise.
111319         * modules/fprintftime (Makefile.am): Likewise.
111320         * modules/free (Makefile.am): Likewise.
111321         * modules/fsusage (Makefile.am): Likewise.
111322         * modules/ftruncate (Makefile.am): Likewise.
111323         * modules/fts (Makefile.am): Likewise.
111324         * modules/gc (Makefile.am): Likewise.
111325         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111326         * modules/getaddrinfo (Makefile.am): Likewise.
111327         * modules/getcwd (Makefile.am): Likewise.
111328         * modules/getdelim (Makefile.am): Likewise.
111329         * modules/getdomainname (Makefile.am): Likewise.
111330         * modules/getgroups (Makefile.am): Likewise.
111331         * modules/gethostname (Makefile.am): Likewise.
111332         * modules/gethrxtime (Makefile.am): Likewise.
111333         * modules/getline (Makefile.am): Likewise.
111334         * modules/getloadavg (Makefile.am): Likewise.
111335         * modules/getlogin_r (Makefile.am): Likewise.
111336         * modules/getopt (Makefile.am): Likewise.
111337         * modules/getpass (Makefile.am): Likewise.
111338         * modules/getpass-gnu (Makefile.am): Likewise.
111339         * modules/getsubopt (Makefile.am): Likewise.
111340         * modules/gettime (Makefile.am): Likewise.
111341         * modules/gettimeofday (Makefile.am): Likewise.
111342         * modules/getugroups (Makefile.am): Likewise.
111343         * modules/getusershell (Makefile.am): Likewise.
111344         * modules/glob (Makefile.am): Likewise.
111345         * modules/group-member (Makefile.am): Likewise.
111346         * modules/hard-locale (Makefile.am): Likewise.
111347         * modules/hash (Makefile.am): Likewise.
111348         * modules/hmac-md5 (Makefile.am): Likewise.
111349         * modules/hmac-sha1 (Makefile.am): Likewise.
111350         * modules/human (Makefile.am): Likewise.
111351         * modules/idcache (Makefile.am): Likewise.
111352         * modules/imaxabs (Makefile.am): Likewise.
111353         * modules/imaxdiv (Makefile.am): Likewise.
111354         * modules/inet_ntop (Makefile.am): Likewise.
111355         * modules/inet_pton (Makefile.am): Likewise.
111356         * modules/inttostr (Makefile.am): Likewise.
111357         * modules/isapipe (Makefile.am): Likewise.
111358         * modules/lchown (Makefile.am): Likewise.
111359         * modules/long-options (Makefile.am): Likewise.
111360         * modules/lstat (Makefile.am): Likewise.
111361         * modules/malloc (Makefile.am): Likewise.
111362         * modules/mathl (Makefile.am): Likewise.
111363         * modules/mbchar (Makefile.am): Likewise.
111364         * modules/md2 (Makefile.am): Likewise.
111365         * modules/md4 (Makefile.am): Likewise.
111366         * modules/md5 (Makefile.am): Likewise.
111367         * modules/memcasecmp (Makefile.am): Likewise.
111368         * modules/memchr (Makefile.am): Likewise.
111369         * modules/memcmp (Makefile.am): Likewise.
111370         * modules/memcoll (Makefile.am): Likewise.
111371         * modules/memcpy (Makefile.am): Likewise.
111372         * modules/memmem (Makefile.am): Likewise.
111373         * modules/memmove (Makefile.am): Likewise.
111374         * modules/mempcpy (Makefile.am): Likewise.
111375         * modules/memrchr (Makefile.am): Likewise.
111376         * modules/memset (Makefile.am): Likewise.
111377         * modules/memxor (Makefile.am): Likewise.
111378         * modules/mkancesdirs (Makefile.am): Likewise.
111379         * modules/mkdir (Makefile.am): Likewise.
111380         * modules/mkdir-p (Makefile.am): Likewise.
111381         * modules/mkdtemp (Makefile.am): Likewise.
111382         * modules/mkstemp (Makefile.am): Likewise.
111383         * modules/mktime (Makefile.am): Likewise.
111384         * modules/modechange (Makefile.am): Likewise.
111385         * modules/mountlist (Makefile.am): Likewise.
111386         * modules/nanosleep (Makefile.am): Likewise.
111387         * modules/openat (Makefile.am): Likewise.
111388         * modules/pagealign_alloc (Makefile.am): Likewise.
111389         * modules/physmem (Makefile.am): Likewise.
111390         * modules/poll (Makefile.am): Likewise.
111391         * modules/posixtm (Makefile.am): Likewise.
111392         * modules/posixver (Makefile.am): Likewise.
111393         * modules/putenv (Makefile.am): Likewise.
111394         * modules/quote (Makefile.am): Likewise.
111395         * modules/quotearg (Makefile.am): Likewise.
111396         * modules/raise (Makefile.am): Likewise.
111397         * modules/read-file (Makefile.am): Likewise.
111398         * modules/readline (Makefile.am): Likewise.
111399         * modules/readlink (Makefile.am): Likewise.
111400         * modules/readtokens (Makefile.am): Likewise.
111401         * modules/readutmp (Makefile.am): Likewise.
111402         * modules/realloc (Makefile.am): Likewise.
111403         * modules/regex (Makefile.am): Likewise.
111404         * modules/rename (Makefile.am): Likewise.
111405         * modules/rename-dest-slash (Makefile.am): Likewise.
111406         * modules/rijndael (Makefile.am): Likewise.
111407         * modules/rmdir (Makefile.am): Likewise.
111408         * modules/rpmatch (Makefile.am): Likewise.
111409         * modules/safe-read (Makefile.am): Likewise.
111410         * modules/safe-write (Makefile.am): Likewise.
111411         * modules/same (Makefile.am): Likewise.
111412         * modules/save-cwd (Makefile.am): Likewise.
111413         * modules/savedir (Makefile.am): Likewise.
111414         * modules/setenv (Makefile.am): Likewise.
111415         * modules/settime (Makefile.am): Likewise.
111416         * modules/sha1 (Makefile.am): Likewise.
111417         * modules/sig2str (Makefile.am): Likewise.
111418         * modules/snprintf (Makefile.am): Likewise.
111419         * modules/stdlib-safer (Makefile.am): Likewise.
111420         * modules/stpcpy (Makefile.am): Likewise.
111421         * modules/stpncpy (Makefile.am): Likewise.
111422         * modules/strcase (Makefile.am): Likewise.
111423         * modules/strcasestr (Makefile.am): Likewise.
111424         * modules/strchrnul (Makefile.am): Likewise.
111425         * modules/strcspn (Makefile.am): Likewise.
111426         * modules/strdup (Makefile.am): Likewise.
111427         * modules/strerror (Makefile.am): Likewise.
111428         * modules/strftime (Makefile.am): Likewise.
111429         * modules/strndup (Makefile.am): Likewise.
111430         * modules/strnlen (Makefile.am): Likewise.
111431         * modules/strpbrk (Makefile.am): Likewise.
111432         * modules/strsep (Makefile.am): Likewise.
111433         * modules/strstr (Makefile.am): Likewise.
111434         * modules/strtod (Makefile.am): Likewise.
111435         * modules/strtoimax (Makefile.am): Likewise.
111436         * modules/strtok_r (Makefile.am): Likewise.
111437         * modules/strtol (Makefile.am): Likewise.
111438         * modules/strtoll (Makefile.am): Likewise.
111439         * modules/strtoul (Makefile.am): Likewise.
111440         * modules/strtoull (Makefile.am): Likewise.
111441         * modules/strtoumax (Makefile.am): Likewise.
111442         * modules/strverscmp (Makefile.am): Likewise.
111443         * modules/time_r (Makefile.am): Likewise.
111444         * modules/timegm (Makefile.am): Likewise.
111445         * modules/tmpfile-safer (Makefile.am): Likewise.
111446         * modules/unistd-safer (Makefile.am): Likewise.
111447         * modules/unlinkdir (Makefile.am): Likewise.
111448         * modules/userspec (Makefile.am): Likewise.
111449         * modules/utime (Makefile.am): Likewise.
111450         * modules/utimecmp (Makefile.am): Likewise.
111451         * modules/utimens (Makefile.am): Likewise.
111452         * modules/vasnprintf (Makefile.am): Likewise.
111453         * modules/vasprintf (Makefile.am): Likewise.
111454         * modules/vsnprintf (Makefile.am): Likewise.
111455         * modules/xalloc (Makefile.am): Likewise.
111456         * modules/xgetcwd (Makefile.am): Likewise.
111457         * modules/xnanosleep (Makefile.am): Likewise.
111458         * modules/xreadlink (Makefile.am): Likewise.
111459         * modules/xstrtod (Makefile.am): Likewise.
111460         * modules/xstrtol (Makefile.am): Likewise.
111461         * modules/xstrtold (Makefile.am): Likewise.
111462         * modules/yesno (Makefile.am): Likewise.
111464 2006-10-12  Jim Meyering  <jim@meyering.net>
111466         * m4/getloadavg.m4: Revert the change below.
111468         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
111469         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
111470         fail with a symlink, which is what coreutils' ./bootstrap now
111471         creates by default.
111473 2006-10-12  Bruno Haible  <bruno@clisp.org>
111475         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
111476         mingw.
111477         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
111478         MSVC and mingw explicitly.
111480 2006-10-11  Simon Josefsson  <jas@extundo.com>
111481             Bruno Haible  <bruno@clisp.org>
111483         Add support for multiple gnulib-tool invocations in the scope of a
111484         single configure.ac file.
111485         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
111486         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
111487         with the same contents as the _LIBADD variable.
111488         (func_emit_initmacro_start, func_emit_initmacro_end,
111489         func_emit_initmacro_done): New functions.
111490         (func_import, func_create_testdir): Invoke them. Allow the identifiers
111491         gl_LIBOBJS and gl_LTLIBOBJS.
111493 2006-10-11  Bruno Haible  <bruno@clisp.org>
111495         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
111496         (func_create_testdir): Don't create po/Makefile.am, don't invoke
111497         autoreconf. Instead, invoke autopoint explicitly but move back the
111498         *.m4 files from gnulib.
111500 2006-10-11  Bruno Haible  <bruno@clisp.org>
111502         * gnulib-tool (func_usage): Make module names after --create-testdir
111503         optional.
111504         (func_create_testdir): If no module was specified, use nearly all
111505         modules.
111507 2006-10-12  Jim Meyering  <jim@meyering.net>
111509         Big performance improvement for fts-based tools that use FTS_NOSTAT.
111510         Avoid spurious inode-mismatch problems on non-POSIX file systems.
111511         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
111512         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
111513         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
111514         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
111515         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
111516         (fts_set_stat_required): New function.
111517         (fts_open): Defer the calls to fts_stat, if possible or requested.
111518         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
111519         into fts_stat itself.
111520         (fts_read): Perform any required (deferred) fts_stat call.
111521         (fts_build): Likewise, for the directory we're about to open and read.
111522         In the readdir loop, carefully decide whether each entry will require
111523         an eventual call to fts_stat, using dirent.d_type info if available.
111524         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
111525         a command line argument into this function.  Update all callers.
111526         Map a return value of FTS_DOT to FTS_D for a command line argument.
111527         * modules/fts (Depends-on): Add d-type.  Alphabetize.
111528         Thanks to Miklos Szeredi for his tenacity and for the initial
111529         bug report about "find" failing on a FUSE-based file system.
111531         * lib/fts.c (fts_open): Use consistent indentation.
111533 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111535         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
111536         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
111537         reported by Jim Meyering.  All uses of cache variables renamed
111538         to match Autoconf's.
111539         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
111540         the other one.
111542         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
111543         Fix misspelling in diagnostic.
111545 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
111547         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
111548         defined.  Problem reported by Matthew Woehlke.
111550         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
111551         Add support for Tandem NonStop R series.
111552         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
111553         Use new macro.
111555         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
111556         (has_trailing_slash): Omit size arg; all callers changed.
111557         Omit 'inline', since it doesn't help performance and we'd
111558         need to configure it.
111559         Don't count //, ///, etc. as having a trailing slash.
111560         As a side effect, this removes a C99ism reported by Matthew Woehlke.
111561         (rpl_rename_dest_slash): On failure, use rename's errno rather
111562         than (in some cases) an incorrect or junk errno.
111563         Simplify code by removing need to compute length; this does
111564         cause it to make two passes instead of one over the file name,
111565         but it's worth it.
111567         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
111568         change, since Autoconf's version may no longer be appropriate now
111569         that we are using CVS Autoconf's version.  Add support for Tandem.
111571 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
111572             Bruno Haible  <bruno@clisp.org>
111574         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
111575         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
111576         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
111577         gl_AC_TYPE_LONG_LONG.
111579         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
111580         instead of HAVE_LONG_LONG.
111581         * lib/printf-args.c (printf_fetchargs): Likewise.
111582         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
111583         * lib/vasnprintf.c (VASNPRINTF): Likewise.
111584         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
111585         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
111586         gl_AC_TYPE_LONG_LONG.
111588 2006-10-11  Bruno Haible  <bruno@clisp.org>
111590         * m4/longlong.m4: Add comments.
111591         * m4/ulonglong.m4: Likewise.
111593 2006-10-10  Bruno Haible  <bruno@clisp.org>
111595         Make it possible to #define stpcpy, strdup to aliases.
111596         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
111597         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
111599 2006-10-10  Bruno Haible  <bruno@clisp.org>
111601         Make it possible to #define gcd to an alias.
111602         * lib/gcd.c: Include config.h.
111604 2006-10-10  Bruno Haible  <bruno@clisp.org>
111606         Make it possible to #define c_isascii to an alias.
111607         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
111608         defined. Undefine the macros before defining them, to avoid gcc
111609         warnings.
111610         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
111611         define NO_C_CTYPE_MACROS early.
111613 2006-10-10  Bruno Haible  <bruno@clisp.org>
111615         Make it possible to #define set_program_name to an alias.
111616         * lib/progname.c: Don't undefine set_program_name; instead, undefine
111617         ENABLE_RELOCATABLE early.
111619 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
111621         Port to Tandem NSK OSS, which has 64-bit signed int but at most
111622         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
111623         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
111624         More generally, don't assume that 64-bit signed int is available
111625         if unsigned int is, and vice versa.
111626         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
111627         unsigned symbols, not on their signed counterparts.
111628         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
111629         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
111630         (UINT64_C, UINTMAX_C):
111631         Likewise.
111632         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
111633         unsigned counterparts.
111634         (Have_long_long, Unsigned): New macros.
111635         (Int): Renamed from INT.
111636         (strtoimax): Use the new macros.
111637         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
111638         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
111639         * modules/inttypes (inttypes.h): Substitute
111640         HAVE_UNSIGNED_LONG_LONG_INT.
111641         * modules/stdint (stdint.h): Likewise.
111642         (Files): Add m4/ulonglong.m4.
111644 2006-10-10  Bruno Haible  <bruno@clisp.org>
111646         Fix a gcc -Wshadow warning.
111647         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
111648         to 'bucket'.
111649         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
111650         gl_linked_indexof_from_to): Likewise.
111651         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
111652         Likewise.
111653         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
111654         Likewise.
111655         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
111656         Reported by Eric Blake.
111658 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
111660         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
111661         for NetBSD.  Problem reported by Bruno Haible.
111663 2006-10-09  Jim Meyering  <jim@meyering.net>
111665         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
111666         Patch from Bruno Haible.
111668 2006-10-09  Jim Meyering  <jim@meyering.net>
111670         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
111671         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
111672         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
111674 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
111676         Don't include <config.h> twice; this doesn't work in some cases,
111677         e.g., when config.h has "#define intmax_t long long int" and
111678         we include <config.h>, <inttypes.h>, <config.h> in that order.
111679         Problem reported by Matthew Woehlke in:
111680         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
111681         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
111682         * lib/fts-cycle.c: Don't include config.h.
111683         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
111684         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
111685         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
111686         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
111687         inttypes.h.
111688         * lib/xstrtoumax.c: Likewise.
111689         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
111690         __strtol and the like, so that this module is more like its siblings.
111691         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
111692         Remove; no longer needed now that we assume gnulib inttypes.h.
111694 2006-10-08  Bruno Haible  <bruno@clisp.org>
111696         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
111697         option.
111699 2006-10-07  Jim Meyering  <jim@meyering.net>
111701         * modules/inttypes (inttypes.h): Revert what seems to have been
111702         an inadvertent part of today's change: use "|", not "/" in the
111703         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
111705 2006-10-07  Bruno Haible  <bruno@clisp.org>
111707         * modules/sublist: New file.
111709 2006-10-07  Bruno Haible  <bruno@clisp.org>
111711         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
111712         * modules/argz (argz.h): Likewise.
111713         * modules/arpa_inet (arpa/inet.h): Likewise.
111714         * modules/byteswap (byteswap.h): Likewise.
111715         * modules/configmake (configmake.h): Likewise.
111716         * modules/fcntl (fcntl.h): Likewise.
111717         * modules/fnmatch (fnmatch.h): Likewise.
111718         * modules/getopt (getopt.h): Likewise.
111719         * modules/glob (glob.h): Likewise.
111720         * modules/inttypes (inttypes.h): Likewise.
111721         * modules/netinet_in (netinet/in.h): Likewise.
111722         * modules/poll (poll.h): Likewise.
111723         * modules/stdbool (stdbool.h): Likewise.
111724         * modules/stdint (stdint.h): Likewise.
111725         * modules/sys_select (sys/select.h): Likewise.
111726         * modules/sys_socket (sys/socket.h): Likewise.
111727         * modules/sys_stat (sys/stat.h): Likewise.
111728         * modules/sysexits (sysexits.h): Likewise.
111729         * modules/unistd (unistd.h): Likewise.
111730         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111731         Add a "DO NOT EDIT" comment to the generated file.
111732         (func_import): Likewise for gnulib-comp.m4.
111734 2006-10-07  Bruno Haible  <bruno@clisp.org>
111736         * lib/gl_sublist.h: New file.
111737         * lib/gl_sublist.c: New file.
111739 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
111741         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
111742         name (relative to the original working directory) and the file
111743         name component (relative to the temporary working directory).  All
111744         callers changed.
111745         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
111746         * lib/mkdir-p.c (make_dir_parents): Likewise.
111747         * lib/mkdir-p.h (make_dir_parents): Likewise.
111749 2006-10-06  Eric Blake  <ebb9@byu.net>
111751         Define several macros for use by the clean-temp module.
111752         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
111753         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
111754         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
111756         * lib/clean-temp.h (close_stream_temp): New declaration.
111757         * lib/clean-temp.c (includes): Pull in headers according to what
111758         other modules are in use.
111759         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
111761 2006-10-06  Bruno Haible  <bruno@clisp.org>
111763         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
111764         instead of fopen, fwriteerror.
111766 2006-10-06  Bruno Haible  <bruno@clisp.org>
111768         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
111769         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
111770         int.
111771         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
111772         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
111773         Return an error indicator.
111774         Suggested by Eric Blake.
111776 2006-10-06  Bruno Haible  <bruno@clisp.org>
111778         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
111779         Reported by Eric Blake.
111781 2006-10-06  Bruno Haible  <bruno@clisp.org>
111783         * modules/closeout (Description): Mention stderr too.
111785 2006-10-06  Bruno Haible  <bruno@clisp.org>
111786         and Paul Eggert  <eggert@cs.ucla.edu>
111788         * lib/closeout.c (close_stdout): Also close stderr.
111789         * lib/closeout.h: Update comment.
111791 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
111793         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
111794         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
111795         * lib/dirchownmod.c: Include lchown.h.
111796         * lib/lchown.c: Don't include files that lchown.h now includes.
111797         Don't declare chown, since lchown.h now does that.
111798         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
111799         (lchown): Define to rpl_chown if lchown is declared but
111800         does not exist.  Declare using a prototype if lchown is not
111801         declared.  Add a copyright notice.
111802         * lib/mkstemp.h: Include <unistd.h>.
111803         * lib/openat.c: Include lchown.h.
111805         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
111806         we now test for that separately.
111807         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
111808         rather than O_NOFOLLOW, when testing whether it's possible to
111809         avoid a race condition reliably.
111810         * lib/savewd.c (savewd_chdir): Likewise.
111812         Remove macros that are no longer needed now that stdint.h is
111813         reliable.
111814         * lib/fsusage.c (UINTMAX_MAX): Remove.
111815         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
111816         * lib/utimecmp.c (SIZE_MAX): Remove.
111818         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
111820         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
111821         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
111822         O_NOATIME works.
111824 2006-10-05  Bruno Haible  <bruno@clisp.org>
111826         * lib/gl_list.h (gl_sortedlist_search_from_to,
111827         gl_sortedlist_indexof_from_to): New declarations.
111828         (gl_list_implementation): New fields sortedlist_search_from_to,
111829         sortedlist_indexof_from_to.
111830         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
111831         inline functions.
111832         * lib/gl_list.c (gl_sortedlist_search_from_to,
111833         gl_sortedlist_indexof_from_to): New functions.
111834         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
111835         function.
111836         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
111837         (gl_array_sortedlist_search_from_to): New function.
111838         (gl_array_list_implementation): Update.
111839         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
111840         function.
111841         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
111842         (gl_carray_sortedlist_search_from_to): New function.
111843         (gl_carray_list_implementation): Update.
111844         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
111845         gl_linked_sortedlist_indexof_from_to): New functions.
111846         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
111847         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
111848         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
111849         gl_tree_sortedlist_indexof_from_to): New functions.
111850         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
111851         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
111852         Update.
111853         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
111854         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
111855         Update.
111857 2006-10-05  Bruno Haible  <bruno@clisp.org>
111859         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
111860         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
111861         (struct gl_list_implementation): Add fields search_from_to,
111862         indexof_from_to. Remove fields search, indexof.
111863         (gl_list_search): Use the search_from_to method.
111864         (gl_list_search_from, gl_list_search_from_to): New functions.
111865         (gl_list_indexof): Use the indexof_from_to method.
111866         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
111867         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
111868         (gl_list_search_from, gl_list_search_from_to): New functions.
111869         (gl_list_indexof): Use the indexof_from_to method.
111870         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
111871         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
111872         gl_array_indexof. Add start_index, end_index arguments.
111873         (gl_array_search_from_to): Renamed from gl_array_search. Add
111874         start_index, end_index arguments.
111875         (gl_array_remove, gl_array_list_implementation): Update.
111876         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
111877         gl_carray_indexof. Add start_index, end_index arguments.
111878         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
111879         start_index, end_index arguments.
111880         (gl_carray_remove, gl_carray_list_implementation): Update.
111881         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
111882         gl_linked_search. Add start_index, end_index arguments.
111883         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
111884         start_index, end_index arguments.
111885         (gl_linked_remove): Update.
111886         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
111887         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
111888         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
111889         field to 'size_t'.
111890         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
111891         gl_tree_search. Add start_index, end_index arguments.
111892         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
111893         start_index, end_index arguments.
111894         (gl_tree_remove): Update.
111895         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
111896         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
111897         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
111898         function.
111899         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
111900         gl_tree_search. Add start_index, end_index arguments.
111901         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
111902         start_index, end_index arguments.
111903         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
111904         Update.
111905         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
111907 2006-10-05  Bruno Haible  <bruno@clisp.org>
111909         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
111911         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
111912         fwriteerror_temp): New declarations.
111913         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
111914         (descriptors): New variable.
111915         (cleanup): First, close the descriptors.
111916         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
111917         fclose_temp, fwriteerror_temp): New functions.
111919 2006-10-04  Jim Meyering  <jim@meyering.net>
111921         * lib/fts.c (fts_open): Tiny comment change.
111923 2006-10-04  Bruno Haible  <bruno@clisp.org>
111925         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
111926         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
111927         gl_LOCK_BODY.
111928         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
111929         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
111930         gl_LOCK_EARLY_BODY.
111931         (gl_LOCK): Require gl_LOCK_BODY.
111933 2006-10-04  Bruno Haible  <bruno@clisp.org>
111935         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
111936         (gl_oset_search_atleast): New declaration.
111937         (struct gl_oset_implementation): Add field 'search_atleast'.
111938         (gl_oset_search_atleast): New inline function.
111939         * lib/gl_oset.c (gl_oset_search_atleast): New function.
111940         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
111941         (gl_array_oset_implementation): Update.
111942         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
111943         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
111944         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
111946 2006-10-04  Bruno Haible  <bruno@clisp.org>
111948         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
111950 2006-10-03  Bruno Haible  <bruno@clisp.org>
111952         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
111953         from gl_avltreehash_list_implementation.
111955 2006-10-03  Bruno Haible  <bruno@clisp.org>
111957         * lib/gl_oset.c (gl_oset_add): Fix return type.
111959 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
111961         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
111963 2006-10-02  Eric Blake  <ebb9@byu.net>
111965         * modules/strnlen (Depends-on): Add extensions.
111967 2006-10-02  Eric Blake  <ebb9@byu.net>
111969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
111970         definition in 2.60+.
111972 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
111974         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
111975         checks.
111977 2006-10-02  Bruno Haible  <bruno@clisp.org>
111979         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
111980         to the AUTOMAKE_OPTIONS.
111981         Reported by Jim Meyering.
111983 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
111985         Work around bug in Solaris 10 /proc file system:
111986         /proc/self/fd/NNN/.. isn't the parent directory of
111987         the directory whose file descriptor is NNN.  This needs to
111988         be worked around at run time, not compile time, since a
111989         program might be built on Solaris 8, where things work, and
111990         run on Solaris 10.
111991         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
111992         to use the following interface instead:
111993         (OPENAT_BUFFER_SIZE): New macro.
111994         (openat_proc_name): New function.
111995         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
111996         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
111997         Likewise.
111998         * lib/openat-proc.c: New file.
111999         * modules/openat (Files): Add lib/openat-proc.c.
112000         (Depends-on): Add same-inode, stdbool.
112001         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
112003 2006-09-29  Bruno Haible  <bruno@clisp.org>
112005         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
112006         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
112007         argument. Set stdout_closed before testing for ferror, not after.
112008         (fwriteerror, fwriteerror_no_ebadf): New functions.
112010 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112012         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
112014 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
112016         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
112017         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
112019 2006-09-28  Jim Meyering  <jim@meyering.net>
112021         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
112022         Include <unistd.h>.
112024 2006-09-28  Bruno Haible  <bruno@clisp.org>
112026         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
112027         * modules/linkedhash-list (Depends-on): Likewise.
112028         * modules/rbtreehash-list (Depends-on): Likewise.
112030 2006-09-28  Bruno Haible  <bruno@clisp.org>
112032         * lib/strndup.h: Simplify the redefinition of strndup.
112033         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
112034         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
112036 2006-09-28  Bruno Haible  <bruno@clisp.org>
112038         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
112039         * lib/gl_linkedhash_list.c: Likewise.
112040         * lib/gl_rbtreehash_list.c: Likewise.
112042 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
112044         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
112045         getaddrinfo.
112047         * lib/__fpending.h: Don't include <stdio_ext.h> unless
112048         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
112049         it causes <stdio_ext.h> to cause a compile-time error.
112050         Problem reported by Nelson H. F. Beebe.
112051         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
112052         of HAVE_DECL___PENDING.
112054         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
112055         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
112056         declaration.
112058 2006-09-27  Jim Meyering  <jim@meyering.net>
112060         This file could end up with a definition for a function
112061         named __strndup, rather than rpl_strndup on a system with
112062         incomplete weak_alias support.
112063         * lib/strndup.c (strndup): Rename from __strndup.
112064         Remove #defines that used to map __strndup to strndup.
112065         Don't use K&R prototypes.
112066         Remove LIBC-related code, since this file is not sync'd with glibc.
112067         * lib/strndup.h: Revamp, accordingly.
112068         * m4/strndup.m4: Modernize.
112070 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
112072         * modules/savewd (Depends-on): Add 'raise'.
112073         * lib/savewd.c: Include <signal.h>, for 'raise'.
112075 2006-09-26  Jim Meyering  <jim@meyering.net>
112077         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
112078         when we detect Darwin 8.7.0's acl_get_file bug.
112079         Rearrange to perform the new (below) run-test while $LIBS
112080         contains any acl-related library.  Set USE_ACL at the end.
112081         (gl_ACL_GET_FILE): New function.
112083 2006-09-26  Eric Blake  <ebb9@byu.net>
112085         * lib/verror.c: Include <config.h> unconditionally.
112087 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
112089         * modules/clock-time (Maintainer): Add self.
112090         * modules/getlogin_r (Depends-on): Add extensions.
112092 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112094         * modules/clock-time: New module.
112095         * modules/nanosleep (Depends-on): Add clock-time.
112096         * modules/gethrxtime (Depends-on): Likewise.
112097         * modules/gettime (Depends-on): Likewise.
112098         * modules/settime (Depends-on): Likewise.
112100         * modules/fts-lgpl: Depend on openat.
112101         * modules/mkancesdirs: Depend on savewd.
112102         * modules/mkdir-p: Likewise.
112104 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112106         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
112108         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
112109         `gl_have_arbitrary_file_name_length_limit' to
112110         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
112111         actually works between configure runs.
112113 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112114             Bruno Haible  <bruno@clisp.org>
112116         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
112118 2006-09-25  Jim Meyering  <jim@meyering.net>
112120         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
112121         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
112123 2006-09-25  Eric Blake  <ebb9@byu.net>
112125         * gnulib-tool (func_import, func_create_testdir): Fix typos in
112126         exec's in 2006-09-18 patch when shuffling fds.
112128 2006-09-25  Bruno Haible  <bruno@clisp.org>
112130         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
112131         Reported by Jim Meyering.
112133 2006-09-24  Jim Meyering  <jim@meyering.net>
112135         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
112136         compare a pointer against a literal "0".  That caused failures with
112137         at least HP-UX's hpcc.
112139 2006-09-22  Simon Josefsson  <jas@extundo.com>
112141         * modules/gc-sha1:
112142         * modules/gc-md4:
112143         * modules/gc-hmac-sha1:
112144         * modules/gc-hmac-md5:
112145         * modules/gc-des:
112146         * modules/gc-arcfour: Distribute more files.
112148 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112150         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
112151         (gl_linked_iterator_from_to): Initialize struct completely.
112152         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
112153         (gl_tree_iterator_from_to): Likewise
112154         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
112155         * lib/gl_array_list.c [lint] (gl_array_iterator)
112156         (gl_array_iterator_from_to): Likewise.
112157         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
112158         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
112159         (gl_carray_iterator_from_to): Likewise.
112161         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
112162         * lib/md4.c (md4_process_block): Remove unused variable.
112163         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
112164         parentheses for clarity.
112166 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112168         * modules/bison-i18n (Depends-on): Add gettext.
112170 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112172         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
112173         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
112174         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
112175         also add missing comma that caused broken test.
112176         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
112177         stdlib.h, for `abort'.
112178         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
112179         variables.
112180         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
112181         include unistd.h if present, for `rmdir'.
112182         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
112183         variables.
112184         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
112185         in the process include standard headers for prototypes.
112186         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
112187         gets declared on GNU/Linux.
112188         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
112189         unistd.h, for `rmdir'.
112190         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
112192         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
112193         always true.
112194         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
112196         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
112198 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112200         * gnulib-tool (func_version): Create output all at once.  This
112201         may help avoid triggering unnecessary SIGPIPEs, and at any
112202         rate it doesn't hurt.
112204 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112205             Bruno Haible  <bruno@clisp.org>
112207         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
112208         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
112209         * m4/signed.m4 (bh_C_SIGNED): Likewise.
112211         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
112212         (gl_FUNC_VASPRINTF): Invoke it.
112214 2006-09-22  Bruno Haible  <bruno@clisp.org>
112216         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
112217         getloadavg.c as first argument.
112219 2006-09-22  Bruno Haible  <bruno@clisp.org>
112221         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
112222         at the beginning of the gl_INIT macro.
112223         * modules/getloadavg (configure.ac): Pass $gl_source_base to
112224         gl_GETLOADAVG.
112226 2006-09-22  Bruno Haible  <bruno@clisp.org>
112228         * gnulib-tool (func_create_megatestdir): Don't include the config-h
112229         module.
112230         Suggested by Ralf Wildenhues.
112232 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
112234         Import this patch from libc:
112236         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
112238         * lib/regex_internal.c (re_string_reconstruct): Handle
112239         offset < pstr->valid_raw_len && pstr->offsets_needed case.
112240         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
112241         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
112242         re_string_context_at.
112244         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
112245         now requires it.
112246         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
112247         gl_REGEX now does it for us.
112248         (gl_REGEX): Add test taken from
112249         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
112251         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
112252         Check that large offsets work.  Modernize Autoconf usages.
112253         Prefer "yes" to mean a good thing rather than a bad.
112254         Don't put "#define mkstemp" in config.h, as this might interfere
112255         with standard system headers that "#define mkstemp mkstemp64".
112257         * modules/mkstemp (Depends-on): Add extensions, so that
112258         mkstemp is visible on some platforms.
112259         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
112260         (Include): Change to "mkstemp.h" from <stdlib.h>.
112261         (Files): Add mkstemp.h.
112263         * lib/mkstemp.h: New file, since some standard headers
112264         #define mkstemp.
112265         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
112266         Include "mkstemp.h".
112267         Make the _LIBC code resemble glibc original more,
112268         e.g., use K&R style.
112269         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
112270         (mkstemp): Remove, since mkstemp.h does this for us.
112271         * lib/stdlib--.h: Include mkstemp.h.
112273         Import this patch from libc:
112275         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112277         * lib/tempname.c (__gen_tempname): Change attempts_min
112278         into a macro.  Use preprocessor to decide how to initialize
112279         attempts [Coverity CID 67].
112281 2006-09-20  Bruno Haible  <bruno@clisp.org>
112283         * lib/mkdtemp.c: Import from libc.
112284         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112285                 * sysdeps/posix/tempname.c (__gen_tempname): Change
112286                 attempts_min into a macro.  Use preprocessor to decide how to
112287                 initialize attempts [Coverity CID 67].
112288         2001-11-27  Paul Eggert  <eggert@twinsun.com>
112289                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
112290                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
112292 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112294         * gnulib-tool (func_exit): New function, to allow to pass the
112295         exit status portably through the trap.  Use everywhere.
112296         (--help, --version): Signal a write error.
112297         (trap): catch SIGPIPE, for write errors.
112298         Exit at the end of the trap, with the correct exit status.
112300 2006-09-19  Karl Berry  <karl@gnu.org>
112302         * doc/gnulib.texi: note about the license texinfo files.
112304 2006-09-19  Eric Blake  <ebb9@byu.net>
112306         * gnulib-tool: Avoid space-tab.
112308 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112310         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
112311         that prevented coreutils 6.1 from building.  Problem reported
112312         by Petter Reinholdtsen.
112314 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112316         * gnulib-tool (avoidlist): Fix typo that broke options like
112317         --avoid=lock that are used by coreutils bootstrap.
112319 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
112321         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
112322         more systematically.
112324 2006-09-18  Jim Meyering  <jim@meyering.net>
112326         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
112328 2006-09-18  Bruno Haible  <bruno@clisp.org>
112330         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
112332 2006-09-18  Bruno Haible  <bruno@clisp.org>
112334         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
112335         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
112336         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
112337         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
112338         * m4/gettext.m4: Require autoconf >= 2.52.
112339         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
112340         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
112341         of gl_cv_header_inttypes_h.
112343 2006-09-18  Bruno Haible  <bruno@clisp.org>
112345         * lib/javaversion.c: Include configmake.h.
112347 2006-09-18  Bruno Haible  <bruno@clisp.org>
112349         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
112350         avoid that the while loops be executed in a subshell.
112352 2006-09-18  Bruno Haible  <bruno@clisp.org>
112354         * MODULES.html.sh (func_module): Break long lines.
112355         Suggested by Bruce Korb <bkorb@gnu.org>.
112357 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112359         Speed up by a factor of 1.12.
112360         * gnulib-tool (nl): New variable.
112361         (func_import): Rewrite include directive extraction to only read each
112362         directive once.
112364 2006-09-17  Bruno Haible  <bruno@clisp.org>
112366         * modules/javaversion (Makefile.am): Remove DEFS setting.
112367         (Depends-on): Add configmake, for PKGDATADIR definition.
112369 2006-09-17  Bruno Haible  <bruno@clisp.org>
112371         * gnulib-tool (func_create_testdir): Rewrite all files at once.
112373 2006-09-17  Bruno Haible  <bruno@clisp.org>
112375         * gnulib-tool (func_append): New function, stolen from libtool.m4.
112376         (func_modules_transitive_closure, func_modules_add_dummy,
112377         func_modules_to_filelist, func_import, func_create_testdir,
112378         func_create_megatestdir, ...): Use it wherever possible.
112379         Suggested by Ralf Wildenhues.
112381 2006-09-16  Karl Berry  <karl@gnu.org>
112383         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
112384         to avoid sectioning errors.
112385         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
112386         [ifinfo]: blank line after @center-ed titles.
112387         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
112388         Spell FSF address consistently with others.
112389         (These changes approved by rms.)
112391 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112393         Speed up by a factor of 1.61.
112394         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
112395         already checked module names again.
112397 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112399         Speed up by a factor of 1.13.
112400         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
112401         for new_files, and the input to func_add_or_update.
112403 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112405         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
112406         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
112408 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112410         * modules/mkancesdirs (Depends-on): Add fcntl.
112411         * modules/savewd: New file.
112412         * MODULES.html.sh (File system functions): Add savewd.
112414         * modules/configmake (Makefile.am): Add support for the
112415         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
112417 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112419         * m4/savewd.m4: New file.
112421 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112423         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
112424         (dirchownmod): New arg FD.  All callers changed.
112425         Use FD rather than opening the directory ourself, as opening is
112426         now the caller's responsibility.
112427         * lib/dirchownmod.h: Likewise.
112428         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
112429         hosts that require <sys/types.h> before <sys/stat.h>.  Include
112430         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
112431         (test_dir): Remove.
112432         (mkancesdirs): Return length of prefix of FILE that has already
112433         been made, or -2 if there is a child doing the work.  Redo
112434         algorithm so that it is O(N) rather than O(N**2).  Optimize away
112435         ".", and treat ".." specially since it might stray back into
112436         already-created areas.  Use a subprocess if necessary.  New arg
112437         WD; all users changed.  MAKE_DIR function should now return 1
112438         if it creates a directory that is not readable.  Return -2 if
112439         a child process is spun off.
112440         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
112441         Adjust signature to match code.
112442         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
112443         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
112444         all users changed.
112445         * lib/savewd.c, lib/savewd.h: New files.
112447 2006-09-15  Jim Meyering  <jim@meyering.net>
112449         * modules/rename-dest-slash: New module.
112450         * MODULES.html.sh (posix_compat): Add it here.
112452         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
112454 2006-09-15  Jim Meyering  <jim@meyering.net>
112456         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
112457         file.
112459         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
112461 2006-09-15  Jim Meyering  <jim@meyering.net>
112463         * lib/rename-dest-slash.c (has_trailing_slash): Use
112464         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
112465         (rpl_rename_dest_slash): Perform the cheaper trailing slash
112466         test before testing whether SRC is a directory.
112467         Suggestions from Bruno Haible.
112469         Avoid a warning about an unused variable.
112470         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
112471         into the #ifdef block where it's used.
112473         * lib/rename-dest-slash.c: New file.
112475 2006-09-14  Bruno Haible  <bruno@clisp.org>
112477         * lib/allocsa.c: Include <config.h> unconditionally.
112478         * lib/asnprintf.c: Likewise.
112479         * lib/asprintf.c: Likewise.
112480         * lib/c-strcasecmp.c: Likewise.
112481         * lib/c-strcasestr.c: Likewise.
112482         * lib/c-strncasecmp.c: Likewise.
112483         * lib/c-strstr.c: Likewise.
112484         * lib/classpath.c: Likewise.
112485         * lib/clean-temp.c: Likewise.
112486         * lib/concatpath.c: Likewise.
112487         * lib/copy-file.c: Likewise.
112488         * lib/csharpcomp.c: Likewise.
112489         * lib/csharpexec.c: Likewise.
112490         * lib/execute.c: Likewise.
112491         * lib/fatal-signal.c: Likewise.
112492         * lib/findprog.c: Likewise.
112493         * lib/fwriteerror.c: Likewise.
112494         * lib/gl_array_list.c: Likewise.
112495         * lib/gl_array_oset.c: Likewise.
112496         * lib/gl_avltree_list.c: Likewise.
112497         * lib/gl_avltree_oset.c: Likewise.
112498         * lib/gl_avltreehash_list.c: Likewise.
112499         * lib/gl_carray_list.c: Likewise.
112500         * lib/gl_linked_list.c: Likewise.
112501         * lib/gl_linkedhash_list.c: Likewise.
112502         * lib/gl_list.c: Likewise.
112503         * lib/gl_oset.c: Likewise.
112504         * lib/gl_rbtree_list.c: Likewise.
112505         * lib/gl_rbtree_oset.c: Likewise.
112506         * lib/gl_rbtreehash_list.c: Likewise.
112507         * lib/imaxabs.c: Likewise.
112508         * lib/imaxdiv.c: Likewise.
112509         * lib/javacomp.c: Likewise.
112510         * lib/javaexec.c: Likewise.
112511         * lib/javaversion.c: Likewise.
112512         * lib/linebreak.c: Likewise.
112513         * lib/localcharset.c: Likewise.
112514         * lib/lock.c: Likewise.
112515         * lib/mbchar.c: Likewise.
112516         * lib/mbswidth.c: Likewise.
112517         * lib/mkdtemp.c: Likewise.
112518         * lib/pipe.c: Likewise.
112519         * lib/printf-args.c: Likewise.
112520         * lib/printf-parse.c: Likewise.
112521         * lib/progname.c: Likewise.
112522         * lib/progreloc.c: Likewise.
112523         * lib/readlink.c: Likewise.
112524         * lib/sh-quote.c: Likewise.
112525         * lib/stpcpy.c: Likewise.
112526         * lib/stpncpy.c: Likewise.
112527         * lib/strcasecmp.c: Likewise.
112528         * lib/strcasestr.c: Likewise.
112529         * lib/strcspn.c: Likewise.
112530         * lib/striconv.c: Likewise.
112531         * lib/strncasecmp.c: Likewise.
112532         * lib/strnlen1.c: Likewise.
112533         * lib/strstr.c: Likewise.
112534         * lib/strtok_r.c: Likewise.
112535         * lib/tls.c: Likewise.
112536         * lib/tmpdir.c: Likewise.
112537         * lib/unicodeio.c: Likewise.
112538         * lib/unsetenv.c: Likewise.
112539         * lib/vasnprintf.c: Likewise.
112540         * lib/vasprintf.c: Likewise.
112541         * lib/wait-process.c: Likewise.
112542         * lib/xallocsa.c: Likewise.
112543         * lib/xsetenv.c: Likewise.
112544         * lib/xstriconv.c: Likewise.
112546 2006-09-13  Simon Josefsson  <jas@extundo.com>
112548         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
112549         that internally, suggested by Ralf Wildenhues
112550         <Ralf.Wildenhues@gmx.de>.
112552 2006-09-13  Simon Josefsson  <jas@extundo.com>
112554         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
112555         @LIBOBJS@.
112556         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
112558 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
112560         * lib/_fpending.c: Include <config.h> unconditionally, since we no
112561         longer worry about uses that don't define HAVE_CONFIG_H.
112562         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
112563         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
112564         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
112565         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
112566         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
112567         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
112568         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
112569         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
112570         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
112571         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
112572         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
112573         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
112574         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
112575         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
112576         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
112577         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
112578         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
112579         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
112580         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
112581         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
112582         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
112583         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
112584         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
112585         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
112586         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
112587         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
112588         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
112589         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
112590         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
112591         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
112592         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
112593         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
112594         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
112595         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
112596         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
112597         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
112598         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
112599         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
112600         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
112601         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
112602         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
112603         Likewise.
112605 2006-09-13  Eric Blake  <ebb9@byu.net>
112607         * lib/getopt.c: Fix typo in last commit.
112609 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
112611         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
112612         dgettext.
112614 2006-09-12  Jim Meyering  <jim@meyering.net>
112616         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
112617         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
112618         Reported by Nelson H. F. Beebe.
112620 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
112622         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
112623         program_invocation_name and program_invocation_short_name are
112624         initialized.
112625         * lib/argp-namefrob.h: Move declarations of program_invocation_name
112626         and program_invocation_short_name to argp.h, so they are visible
112627         to user programs.
112628         * lib/argp.h: Likewise
112630 2006-09-10  Bruno Haible  <bruno@clisp.org>
112632         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
112633         m4/inttypes_h.m4, m4/uintmax_t.m4.
112635 2006-09-10  Bruno Haible  <bruno@clisp.org>
112637         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
112638         gl_AC_TYPE_UINTMAX_T.
112640 2006-09-10  Bruno Haible  <bruno@clisp.org>
112642         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
112644 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112646         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
112647         convention.  Text proposed by Bruno Haible.
112648         (struct argp_option): Document the use of N_() wrappers.
112650         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
112651         '\v', and translate the two parts separately, instead of feeding
112652         the whole string to gettext.  This allows to exclude
112653         '\v' from the strings visible to the translator by writing doc
112654         strings as N_("..") "\v" N_("..").
112656 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
112658         * config/srclist.txt: Undo latest change; the bug was fixed.
112660 2006-09-09  Bruno Haible  <bruno@clisp.org>
112662         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
112663         assignments if building a library without libtool.
112664         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
112665         in func_emit_lib_Makefile_am.
112666         (func_import): When building a static library libfoo.a, arrange to
112667         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
112668         (func_create_testdir): Likewise.
112669         * modules/gc (configure.ac, Makefile.am): If building statically,
112670         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
112671         * modules/iconvme (configure.ac, Makefile.am): Likewise.
112672         * modules/striconv (configure.ac, Makefile.am): Likewise.
112673         Based on a suggestion by Ralf Wildenhues.
112675 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112677         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
112678         Check for unistd.h too, since Autoconf doesn't assume POSIX.
112679         Also:
112681         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112682         Add year_2050_test to catch glibc bug 2821
112683         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
112685         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
112686         Prefer #ifdef to #if.
112688         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
112689         Return from 'main' instead of calling 'exit'.
112691 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112693         * lib/mktime.c (guess_time_tm): Fix bug where mktime
112694         returned the maximum time_t value rather than (time_t) -1.
112695         Problem originally reported by William Bardwell
112696         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
112698         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
112699         Moved to here ...
112700         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
112701         ... from here.
112703 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
112705         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
112706         2821 is fixed.
112708 2006-09-08  Jim Meyering  <jim@meyering.net>
112710         Don't make generated files read-only.  That would bother too many
112711         people.  However, do retain the ability to work when targets are
112712         read-only: remove the destination and temporary files before writing
112713         them (when generated via sed or echo), or by using the -f option for
112714         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
112715         * modules/alloca-opt, modules/argz, modules/arpa_inet:
112716         * modules/byteswap, modules/configmake, modules/fcntl:
112717         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
112718         * modules/localcharset, modules/netinet_in, modules/poll:
112719         * modules/stdbool, modules/stdint, modules/sys_select:
112720         * modules/sys_socket, modules/sys_stat, modules/sysexits:
112722 2006-09-08  Jim Meyering  <jim@meyering.net>
112724         Avoid new build failure on FreeBSD 6.0.
112725         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
112726         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
112727         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
112729 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112731         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
112733 2006-09-07  Jim Meyering  <jim@meyering.net>
112735         Fix global typo in last change: use chmod u-w, not chmod u-x.
112736         Spotted by Paul Eggert and Bruce Korb.
112737         * modules/alloca-opt, modules/argz, modules/arpa_inet:
112738         * modules/byteswap, modules/configmake, modules/fcntl:
112739         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
112740         * modules/localcharset, modules/netinet_in, modules/poll:
112741         * modules/stdbool, modules/stdint, modules/sys_select:
112742         * modules/sys_socket, modules/sys_stat, modules/sysexits:
112744 2006-09-06  Jim Meyering  <jim@meyering.net>
112746         Make generated files be read-only.
112747         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
112748         Ensure that each generated file is now read-only.
112749         * modules/argz: Likewise.
112750         * modules/arpa_inet: Likewise.
112751         * modules/byteswap: Likewise.
112752         * modules/configmake: Likewise.
112753         * modules/fcntl: Likewise.
112754         * modules/fnmatch: Likewise.
112755         * modules/getopt: Likewise.
112756         * modules/glob: Likewise.
112757         * modules/inttypes: Likewise.
112758         * modules/netinet_in: Likewise.
112759         * modules/poll: Likewise.
112760         * modules/stdbool: Likewise.
112761         * modules/stdint: Likewise.
112762         * modules/sys_select: Likewise.
112763         * modules/sys_socket: Likewise.
112764         * modules/sys_stat: Likewise.
112765         * modules/sysexits: Likewise.
112766         * modules/localcharset: Same as above, but continue using temporary
112767         file named "t-$@" (why different?) rather than the "$@-t" used
112768         everywhere else.
112770         * modules/sysexits (Makefile.am): Replace literal occurrences
112771         of "sysexit.h" more readable, and more consistent, "$@".
112773 2006-09-06  Bruno Haible  <bruno@clisp.org>
112775         * modules/striconv: New file.
112776         * modules/xstriconv: New file.
112777         * MODULES.html.sh (Internationalization functions): Add striconv,
112778         xstriconv.
112780 2006-09-06  Bruno Haible  <bruno@clisp.org>
112782         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
112783         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
112784         not using libtool correctly.
112786 2006-09-06  Bruno Haible  <bruno@clisp.org>
112788         * lib/striconv.h: New file.
112789         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
112790         iconvstring.c.
112791         * lib/xstriconv.h: New file.
112792         * lib/xstriconv.c: New file.
112794 2006-09-06  Bruno Haible  <bruno@clisp.org>
112796         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
112797         lib_..._LDFLAGS.
112799 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112801         * lib/argz_.h: Sync from Libtool.
112803         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
112804                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
112806         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
112808 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
112810         * modules/trim: New file.
112812 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
112814         * lib/trim.h: New file.
112815         * lib/trim.c: New file.
112817 2006-09-05  Bruno Haible  <bruno@clisp.org>
112819         * MODULES.html.sh (String handling): Add trim.
112821 2006-09-04  Karl Berry  <karl@gnu.org>
112823         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
112824         until next release.
112826 2006-09-03  Bruno Haible  <bruno@clisp.org>
112828         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
112829         correctly.
112831 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
112833         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
112834         not gl_GETLOADAVG.  Omit unneeded semicolons.
112835         Problems reported by Ralf Wildenhues in
112836         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
112837         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
112838         at the end, which is the usual gnulib style.
112840         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
112841         of doing all the work ourselves.
112842         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
112843         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
112845 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
112847         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
112848         Problem reported by Ralf Wildenhues in
112849         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
112851         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
112852         HAVE_STRUCT_STATFS_F_FSTYPENAME.
112854 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
112856         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
112857         yesterday's patch by changing test -n to test -z.
112859 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
112861         * modules/getloadavg (Files): Add m4/getloadavg.m4.
112862         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
112863         the former is now obsolescent.
112865         * modules/chdir-long (Depends-on): Add fcntl.
112867 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
112869         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
112870         obsolescent, and programs should use gnulib instead.
112871         * m4/getloadavg.m4: New file, with contents taken from Autoconf
112872         but with prefixes changed.
112874 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
112876         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
112877         or stdbool.h, because they might not exist while configuring.
112879         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
112880         Don't include unistd.h or limits.h; not needed, since chdir-long.h
112881         does that for us.
112882         (O_DIRECTORY): Remove.
112884 2006-08-31  Eric Blake  <ebb9@byu.net>
112886         * gnulib-tool: Don't let emacs change spaces to TAB.
112888 2006-08-31  Bruno Haible  <bruno@clisp.org>
112890         * gnulib-tool: When calling func_import more than once, do it in a
112891         subshell.
112892         Reported by Eric Blake <ebb9@byu.net>.
112894 2006-08-31  Bruno Haible  <bruno@clisp.org>
112896         * gnulib-tool (nl): Remove variable.
112897         (sed_transform_lib_file): Use more robust test for config-h module.
112898         (func_import): Fix typo in 2006-08-25 patch.
112900 2006-08-31  Bruno Haible  <bruno@clisp.org>
112902         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
112903         specified, augment Makefile.am variables instead of assigning them.
112905 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112907         Work around a bug in both the Linux and SunOS 64-bit kernels:
112908         nanosleep mishandles sleeps for longer than 2**31 seconds.
112909         Problem reported by Frank v Waveren in
112910         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
112911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
112912         Check for nanosleep bug.
112913         (LIB_NANOSLEEP): Append clock_gettime library if needed.
112915 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112917         Work around a bug in both the Linux and SunOS 64-bit kernels:
112918         nanosleep mishandles sleeps for longer than 2**31 seconds.
112919         Problem reported by Frank v Waveren in
112920         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
112921         * lib/nanosleep.c (BILLION): New constant.
112922         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
112923         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
112924         implementation.
112926 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112928         * modules/nanosleep (Depends-on): Add gettime.
112930 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
112931         and Simon Josefsson  <jas@extundo.com>
112932         and Oskar Liljeblad  <oskar@osk.mine.nu>
112934         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
112935         * gnulib-tool (func_import): New license type 'unmodifiable license
112936         text'.
112937         * modules/fdl: Use it.  Longer description.
112938         * module/gpl, module/lgpl: New files.
112940 2006-08-30  Jim Meyering  <jim@meyering.net>
112942         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
112943         shadowing the parameter.
112945 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112947         Sync from Libtool:
112949         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112951         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
112952         sharing with gnulib.  Report by Eric Blake.
112954 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112956         * modules/isapipe: New file.
112957         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
112959 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112961         * modules/configmake (Makefile.am): Add a comment, and omit
112962         the CONFIGMAKE_ prefix from generated macro names.  Suggested
112963         by Bruno Haible.
112965 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112967         * m4/isapipe.m4: New file.
112969 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
112971         * lib/isapipe.c, lib/isapipe.h: New files.
112973 2006-08-29  Jim Meyering  <jim@meyering.net>
112975         * modules/configmake (Makefile.am): Make configmake.h depend on
112976         Makefile.  Otherwise, a stale configmake.h could hang around.
112978 2006-08-29  Eric Blake  <ebb9@byu.net>
112980         * lib/error.c (error_at_line, print_errno_message): Match libc, after
112981         resolution of upstream bug 3044.
112983 2006-08-29  Bruno Haible  <bruno@clisp.org>
112985         * modules/localcharset (Depends-on): Add configmake.
112986         (Makefile.am): Remove setting of LIBDIR through DEFS.
112988 2006-08-29  Bruno Haible  <bruno@clisp.org>
112990         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
112991         defined.
112993 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
112995         * modules/fcntl: New file.
112996         * modules/chdir-safer (Depends-on): Add fcntl.
112997         * modules/fts: Likewise.
112998         * modules/mkdir-p: Likewise.
113000         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
113001         This undoes the most recent change, since we're now addressing the
113002         problem in a different way.
113004         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
113005         into output, since the output might be called Makefile.am even
113006         if $makefile_name is something different.
113007         (func_import): Use $makefile_am rather than
113008         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
113009         empty.
113011         * modules/inttypes (Files): Add m4/inttypes-h.m4.
113013 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113015         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
113016         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
113017         recent change to stdint.m4, since we're now addressing the problem in a
113018         different way.
113020 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113022         * m4/fcntl_h.m4: New file.
113024 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113026         * lib/fcntl_.h: New file.
113027         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
113028         the fcntl module.
113029         * lib/dirchownmod.c: Likewise.
113030         * lib/fts.c: Likewise.
113032         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
113033         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
113034         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
113035         just before including <inttypes.h>, to avoid circular inclusion.
113037 2006-08-28  Jim Meyering  <jim@meyering.net>
113039         * doc/visibility.texi: Actually read and correct the grammar of the
113040         sentence affected by yesterday's change.
113042 2006-08-28  Eric Blake  <ebb9@byu.net>
113044         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
113045         needs wrapper.
113047 2006-08-28  Eric Blake  <ebb9@byu.net>
113049         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
113051 2006-08-28  Eric Blake  <ebb9@byu.net>
113053         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
113055 2006-08-28  Bruno Haible  <bruno@clisp.org>
113057         * modules/c-strstr: New file, from GNU gettext.
113058         * MODULES.html.sh (String handling): Add c-strstr.
113060 2006-08-28  Bruno Haible  <bruno@clisp.org>
113062         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
113063         macros.
113064         Reported by Eric Blake.
113066 2006-08-28  Bruno Haible  <bruno@clisp.org>
113068         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
113069         (VASNPRINTF): Return a string of length > INT_MAX without failing.
113070         * lib/vasprintf.c: Include errno.h, limits.h.
113071         (EOVERFLOW): New fallback definition.
113072         (vasprintf): Test here whether the string length is > INT_MAX.
113073         * lib/vsnprintf.c: Include errno.h, limits.h.
113074         (EOVERFLOW): New fallback definition.
113075         (vsnprintf): Fix bug when generated string was too long for the buffer.
113076         Test here whether the string length is > INT_MAX.
113078 2006-08-28  Bruno Haible  <bruno@clisp.org>
113080         * lib/inttypes_.h (SCNX*): Remove definitions.
113081         Reported by Eric Blake.
113083 2006-08-28  Bruno Haible  <bruno@clisp.org>
113085         * lib/c-strstr.h: New file, from GNU gettext.
113086         * lib/c-strstr.c: New file, from GNU gettext.
113088 2006-08-28  Bruno Haible  <bruno@clisp.org>
113090         * gnulib-tool: Reorder some statements.
113092 2006-08-28  Bruno Haible  <bruno@clisp.org>
113094         * gnulib-tool: New option --makefile-name.
113095         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
113096         $makefile_name.
113097         (func_import): Write $makefile_name to the cache file, and read it from
113098         there unless explicitly specified. Use $makefile_name as file name
113099         instead of Makefile.am. Adjust the recommendations accordingly.
113101 2006-08-28  Bruno Haible  <bruno@clisp.org>
113103         * gnulib-tool (func_verify_module): Check against misapplying patch.
113105 2006-08-28  Bruno Haible  <bruno@clisp.org>
113107         * gnulib-tool (func_relativize, func_relconcat): New functions.
113108         Give an error if --local-dir is given with --update.
113109         Remove trailing slashes from $local_gnulib_dir.
113110         (func_import): Store the relativized $local_gnulib_dir in
113111         gnulib-cache.m4, and read it from there if not specified explicitly.
113113 2006-08-28  Bruno Haible  <bruno@clisp.org>
113115         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
113116         is the current directory. Respect also $local_gnulib_dir.
113118 2006-08-28  Bruno Haible  <bruno@clisp.org>
113119             Simon Josefsson  <jas@extundo.com>
113121         BeOS portability.
113122         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
113124 2006-08-27  Jim Meyering  <jim@meyering.net>
113126         * doc/visibility.texi: Remove duplicate word: "pointer".
113128 2006-08-26  Bruno Haible  <bruno@clisp.org>
113130         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
113131         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
113132         (Makefile.am): Create inttypes.h from inttypes_.h.
113133         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
113135         * modules/imaxabs: New file.
113137         * modules/imaxdiv: New file.
113139 2006-08-26  Bruno Haible  <bruno@clisp.org>
113141         * m4/inttypes.m4: New file.
113142         * m4/_inttypes_h.m4: Remove file.
113143         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
113144         PRI_MACROS_BROKEN.
113145         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
113147         * m4/imaxabs.m4: New file.
113149         * m4/imaxdiv.m4: New file.
113151 2006-08-26  Bruno Haible  <bruno@clisp.org>
113153         * lib/inttypes_.h: New file.
113154         * lib/inttypes.h: Remove file.
113155         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
113157         * lib/imaxabs.c: New file.
113159         * lib/imaxdiv.c: New file.
113161 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113163         New config-h module, so that "make" output needn't be cluttered
113164         by -DHAVE_CONFIG_H.
113165         * MODULES.html.sh (Support for building libraries and executables):
113166         Add config-h.
113167         * modules/config-h: New file.
113168         * gnulib-tool (nl, sed_transform_lib_file): New vars.
113169         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
113170         the config-h module is used.
113172         New configmake module, so that "make" output needn't be cluttered
113173         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
113174         * MODULES.html.sh (Support for building libraries and executables):
113175         Add configmake.
113176         * modules/configmake: New file.
113178 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113180         * m4/config-h.m4: New file.
113182 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113184         * config/srclist.txt: Add elisp-comp.
113186 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113188         * MODULES.html.sh (Support for building libraries and executables):
113189         Add elisp-comp.
113190         * build-aux/elisp-comp: New file.
113191         * modules/elisp-comp: New file.
113193 2006-08-24  Bruno Haible  <bruno@clisp.org>
113195         * gnulib-tool (func_create_testdir): Use non-default values of
113196         sourcebase and m4base.
113198 2006-08-24  Bruno Haible  <bruno@clisp.org>
113200         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
113201         HTML structure.
113203 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
113205         * modules/openat (Depends-on): Add lchown.
113207 2006-08-23  Bruno Haible  <bruno@clisp.org>
113209         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
113210         of gl_LOCK_EARLY instead of gl_LOCK.
113212 2006-08-23  Bruno Haible  <bruno@clisp.org>
113214         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
113215         on OSF/1 to no.
113216         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
113218 2006-08-23  Bruno Haible  <bruno@clisp.org>
113220         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
113221         as unusable.
113223         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
113224         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
113225         (gl_LOCK): New macro.
113227 2006-08-22  Simon Josefsson  <jas@extundo.com>
113229         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
113230         to md5 module.
113232 2006-08-22  Simon Josefsson  <jas@extundo.com>
113234         * MODULES.html.sh: Add "Support for maintaining and release
113235         projects".
113237         * build-aux/gnupload: New file, from coreutils.
113239 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113241         Avoid the need for AC_LIBSOURCES in m4 macros.
113242         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
113243         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
113244         * modules/check-version (EXTRA_DIST): Add check-version.h.
113245         * modules/crc (EXTRA_DIST): Add crc.h.
113246         * modules/des (EXTRA_DIST): Add des.h.
113247         * modules/gc (EXTRA_DIST): Add gc.h.
113248         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
113249         * modules/getline (EXTRA_DIST): Add getline.h.
113250         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
113251         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
113252         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
113253         * modules/md2 (EXTRA_DIST): Add md2.h.
113254         * modules/md4 (EXTRA_DIST): Add md4.h.
113255         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
113256         * modules/read-file (EXTRA_DIST): Add read-file.h.
113257         * modules/readline (EXTRA_DIST): Add readline.h.
113258         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
113259         rijndael-api-fst.h.
113261 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113263         * m4/rijndael.m4 (gl_ARCFOUR):
113264         * m4/arctwo.m4 (gl_ARCTWO):
113265         * m4/check-version.m4 (gl_CHECK_VERSION):
113266         * m4/crc.m4 (gl_CRC):
113267         * m4/des.m4 (gl_DES):
113268         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
113269         * m4/gc.m4 (gl_GC):
113270         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
113271         * m4/getline.m4 (gl_FUNC_GETLINE):
113272         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
113273         * m4/hmac-md5.m4 (gl_HMAC_MD5):
113274         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
113275         * m4/md2.m4 (gl_MD2):
113276         * m4/md4.m4 (gl_MD4):
113277         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
113278         * m4/read-file.m4 (gl_FUNC_READ_FILE):
113279         * m4/readline.m4 (gl_FUNC_READLINE):
113280         * m4/rijndael.m4 (gl_RIJNDAEL):
113281         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113282         to get the necessary .h files and whatnot.
113284 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113286         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
113287         gnulib rather than the other way around.
113288         * config/srclistvars.sh (COREUTILS): Remove.
113290 2006-08-22  Jim Meyering  <jim@meyering.net>
113292         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
113294         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
113296 2006-08-22  Eric Blake  <ebb9@byu.net>
113298         * modules/regexprops-generic: New file.
113299         * MODULES.html.sh (Support for building documentation): List it.
113301 2006-08-22  Eric Blake  <ebb9@byu.net>
113303         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
113304         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
113305         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
113306         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
113308 2006-08-22  Bruno Haible  <bruno@clisp.org>
113310         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
113311         and lib_LTLIBRARIES like the other lib_* variables.
113313 2006-08-22  Bruno Haible  <bruno@clisp.org>
113315         * build-aux/x-to-1.in: New file, from GNU gettext.
113317 2006-08-22  Bruno Haible  <bruno@clisp.org>
113319         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
113320         <utmpx.h> exists.
113322 2006-08-22  Bruno Haible  <bruno@clisp.org>
113324         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
113325         <utmpx.h> exists.
113327 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113329         BeOS portability.
113330         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
113331         exist.
113332         Problem reported by Bruno Haible.
113334 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113336         Avoid the need for AC_LIBSOURCES in m4 macros.
113337         * modules/acl (EXTRA_DIST): Add acl.h.
113338         * modules/argmatch (Files): Add m4/argmatch.m4.
113339         (configure.ac): Add gl_ARGMATCH.
113340         (EXTRA_DIST): Renamed from lib_SOURCES, for
113341         consistency with the other modules.  Remove argmatch.c.
113342         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
113343         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
113344         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
113345         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
113346         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
113347         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
113348         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
113349         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
113350         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
113351         * modules/closeout (EXTRA_DIST): Add closeout.h.
113352         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
113353         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
113354         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
113355         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
113356         dirname.h; remove basename.c and stripslash.c.
113357         * modules/exclude (EXTRA_DIST): Add exclude.h.
113358         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
113359         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
113360         * modules/file-type (EXTRA_DIST): Add file-type.h.
113361         * modules/filemode (EXTRA_DIST): Add filemode.h.
113362         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
113363         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113364         * modules/fpending (EXTRA_DIST): Add __fpending.h.
113365         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
113366         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
113367         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
113368         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
113369         * modules/getdate (EXTRA_DIST): Add getdate.c.
113370         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
113371         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
113372         * modules/getpass (EXTRA_DIST): Add getpass.h.
113373         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
113374         * modules/group-member (EXTRA_DIST): Add group-member.h.
113375         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
113376         * modules/hash (EXTRA_DIST): Add hash.h.
113377         * modules/human (EXTRA_DIST): Add human.h.
113378         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
113379         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
113380         * modules/lchown (EXTRA_DIST): Add lchown.h.
113381         * modules/long-options (EXTRA_DIST): Add long-options.h.
113382         * modules/lstat (EXTRA_DIST): Add lstat.h.
113383         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
113384         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
113385         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
113386         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
113387         * modules/memxor (EXTRA_DIST): Add memxor.h.
113388         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
113389         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
113390         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
113391         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
113392         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
113393         * modules/physmem (EXTRA_DIST): Add physmem.h.
113394         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
113395         * modules/posixver (EXTRA_DIST): Add posixver.h.
113396         * modules/quote (EXTRA_DIST): Add quote.h.
113397         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
113398         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
113399         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
113400         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
113401         regex_internal.h regexec.c.
113402         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
113403         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
113404         * modules/same (EXTRA_DIST): Add same.h.
113405         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
113406         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
113407         * modules/savedir (EXTRA_DIST): Add savedir.h.
113408         * modules/sha1 (EXTRA_DIST): Add sha1.h.
113409         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
113410         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
113411         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
113412         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
113413         * modules/strdup (EXTRA_DIST): Add strdup.h.
113414         * modules/strftime (EXTRA_DIST): Add strftime.h.
113415         * modules/strndup (EXTRA_DIST): Add strndup.h.
113416         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
113417         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
113418         * modules/time_r (EXTRA_DIST): Add time_r.h.
113419         * modules/timespec (EXTRA_DIST): Add timespec.h.
113420         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113421         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
113422         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
113423         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
113424         * modules/userspec (EXTRA_DIST): Add userspec.h.
113425         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
113426         * modules/utimens (EXTRA_DIST): Add utimens.h.
113427         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
113428         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
113429         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
113430         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
113431         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
113432         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
113433         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
113434         * modules/yesno (EXTRA_DIST): Add yesno.h.
113436 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113438         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
113440         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
113441         * m4/dev-ino.m4, same-inode.m4: Remove.
113443         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
113444         * m4/acl.m4 (AC_FUNC_ACL):
113445         * m4/backupfile.m4 (gl_BACKUPFILE):
113446         * m4/c-strtod.m4 (gl_C99_STRTOLD):
113447         * m4/canon-host.m4 (gl_CANON_HOST):
113448         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
113449         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
113450         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
113451         * m4/cloexec.m4 (gl_CLOEXEC):
113452         * m4/close-stream.m4 (gl_CLOSE_STREAM):
113453         * m4/closeout.m4 (gl_CLOSEOUT):
113454         * m4/dirfd.m4 (gl_FUNC_DIRFD):
113455         * m4/dirname.m4 (gl_DIRNAME):
113456         * m4/exclude.m4 (gl_EXCLUDE):
113457         * m4/exitfail.m4 (gl_EXITFAIL):
113458         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
113459         * m4/file-type.m4 (gl_FILE_TYPE):
113460         * m4/filemode.m4 (gl_FILEMODE):
113461         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
113462         * m4/fpending.m4 (gl_FUNC_FPENDING):
113463         * m4/fprintftime.m4 (gl_FPRINTFTIME):
113464         * m4/fts.m4 (gl_FUNC_FTS):
113465         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
113466         * m4/getdate.m4 (gl_GETDATE):
113467         * m4/gethrxtime.m4 (gl_GETHRXTIME):
113468         * m4/getpagesize.m4 (gl_GETPAGESIZE):
113469         * m4/getpass.m4 (gl_FUNC_GETPASS):
113470         * m4/gettime.m4 (gl_GETTIME):
113471         * m4/getugroups.m4 (gl_GETUGROUPS):
113472         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
113473         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
113474         * m4/hard-locale.m4 (gl_HARD_LOCALE):
113475         * m4/hash.m4 (gl_HASH):
113476         * m4/idcache.m4 (gl_IDCACHE):
113477         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
113478         * m4/lchown.m4 (gl_FUNC_LCHOWN):
113479         * m4/long-options.m4 (gl_LONG_OPTIONS):
113480         * m4/lstat.m4 (gl_FUNC_LSTAT):
113481         * m4/md5.m4 (gl_MD5):
113482         * m4/memcasecmp.m4 (gl_MEMCASECMP):
113483         * m4/memcoll.m4 (gl_MEMCOLL):
113484         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
113485         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
113486         * m4/memxor.m4 (gl_MEMXOR):
113487         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
113488         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
113489         * m4/modechange.m4 (gl_MODECHANGE):
113490         * m4/mountlist.m4 (gl_MOUNTLIST):
113491         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
113492         * m4/openat.m4 (gl_FUNC_OPENAT):
113493         * m4/pathmax.m4 (gl_PATHMAX):
113494         * m4/physmem.m4 (gl_PHYSMEM):
113495         * m4/posixtm.m4 (gl_POSIXTM):
113496         * m4/posixver.m4 (gl_POSIXVER):
113497         * m4/quote.m4 (gl_QUOTE):
113498         * m4/quotearg.m4 (gl_QUOTEARG):
113499         * m4/readtokens.m4 (gl_READTOKENS):
113500         * m4/readutmp.m4 (gl_READUTMP):
113501         * m4/regex.m4 (gl_REGEX):
113502         * m4/safe-read.m4 (gl_SAFE_READ):
113503         * m4/safe-write.m4 (gl_SAFE_WRITE):
113504         * m4/same.m4 (gl_SAME):
113505         * m4/save-cwd.m4 (gl_SAVE_CWD):
113506         * m4/savedir.m4 (gl_SAVEDIR):
113507         * m4/settime.m4 (gl_SETTIME):
113508         * m4/sha1.m4 (gl_SHA1):
113509         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
113510         * m4/stat-macros.m4 (gl_STAT_MACROS):
113511         * m4/stat-time.m4 (gl_STAT_TIME):
113512         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
113513         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
113514         * m4/strdup.m4 (gl_FUNC_STRDUP):
113515         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
113516         * m4/strndup.m4 (gl_FUNC_STRNDUP):
113517         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
113518         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
113519         * m4/time_r.m4 (gl_TIME_R):
113520         * m4/timespec.m4 (gl_TIMESPEC):
113521         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
113522         * m4/unlinkdir.m4 (gl_UNLINKDIR):
113523         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
113524         * m4/userspec.m4 (gl_USERSPEC):
113525         * m4/utimecmp.m4 (gl_UTIMECMP):
113526         * m4/utimens.m4 (gl_UTIMENS):
113527         * m4/xalloc.m4 (gl_XALLOC):
113528         * m4/xgetcwd.m4 (gl_XGETCWD):
113529         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
113530         * m4/xreadlink.m4 (gl_XREADLINK):
113531         * m4/xstrtod.m4 (gl_XSTRTOD):
113532         * m4/yesno.m4 (gl_YESNO):
113533         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113534         to get the necessary .h files and whatnot.
113536 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
113537             Bruno Haible  <bruno@clisp.org>
113539         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
113540         /bin/sh understanding of '!' conditional negation.
113542 2006-08-21  Jim Meyering  <jim@meyering.net>
113544         * modules/openat (Depends-on): Really alphabetize.
113546         * modules/acl (Depends-on): Add error and quote.
113548         * check-module (find_included_lib_files): Add at-func.c to the
113549         ok-to-include-more-than-once white list.
113551         * modules/openat (Depends-on): Add lstat.  Alphabetize.
113553 2006-08-21  Bruno Haible  <bruno@clisp.org>
113555         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
113556         Emit a pkgdata_DATA variable only if some snippets add contents to it.
113557         Reported by Martin Lambers <marlam@marlam.de>.
113559 2006-08-21  Bruno Haible  <bruno@clisp.org>
113561         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
113562         specify an installation location, don't emit a noinst_LIBRARIES or
113563         noinst_LTLIBRARIES assignment.
113565 2006-08-21  Bruno Haible  <bruno@clisp.org>
113567         BeOS portability.
113568         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
113569         BeOS has mbrtowc() but no <wctype.h>.
113571 2006-08-21  Bruno Haible  <bruno@clisp.org>
113573         BeOS portability.
113574         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
113575         exist.
113577 2006-08-21  Bruno Haible  <bruno@clisp.org>
113579         BeOS portability.
113580         * lib/mbchar.h: Include <wctype.h> only if it exists.
113582 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113584         Remove files that are no longer needed by their respective modules.
113585         * m4/obstack.m4: Remove.
113586         * m4/strerror_r.m4: Remove.
113587         * m4/uint32_t.m4: Remove.
113588         * m4/uintptr_t.m4: Remove.
113589         * m4/ullong_max.m4: Remove.
113590         * m4/xstrtoimax.m4: Remove.
113591         * m4/xstrtoumax.m4: Remove.
113593         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
113594         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
113595         dependencies now capture this.
113597         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
113598         Do not use AC_LIBSOURCES, since gnulib modules now do this.
113599         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
113600         * m4/human.m4 (gl_HUMAN): Likewise.
113601         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
113602         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
113604         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
113606         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
113607         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
113608         stdint.
113609         * m4/human.m4 (gl_HUMAN): Likewise.
113610         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
113611         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
113612         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
113613         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
113614         * m4/xstrtol (gl_XSTRTOL): Likewise.
113616         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
113617         AC_TYPE_LONG_LONG_INT.
113618         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
113619         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
113620         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
113621         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
113623         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
113624         on stdbool.
113626         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
113627         (gl_PREREQ_XSTRTOUL): Remove.
113629         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
113631         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
113632         mode.
113634 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113636         Add and change modules to make it easier for coreutils to use
113637         gnulib-tool.
113638         * modules/backupfile (Files): Remove m4/d-ino.m4.
113639         (Depends-on): Add d-ino.
113640         * modules/cycle-check (Depends-on): Add stdint.
113641         (lib_SOURCES): Add cycle-check.h.
113642         * modules/d-ino: New module.
113643         * modules/d-type: New module.
113644         * modules/error (Files): Remove m4/strerror_r.m4.
113645         * modules/filemode (Files): Add m4/st_dm_mode.m4.
113646         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113647         m4/inttypes_h.m4, m4/uintmax_t.m4.
113648         (Depends-on): Add stdint.
113649         (lib_SOURCES): Add fsusage.h.
113650         * modules/getcwd (Files): Remove d-ino.m4.
113651         (Depends-on): Add d-ino.
113652         * modules/getndelim2 (Depends-on): Add stdint.
113653         * modules/glob (Files): Remove m4/d-type.m4.
113654         (Depends-on): Add d-type.
113655         * modules/host-os: New module.
113656         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
113657         m4/inttypes_h.m4, m4/uintmax_t.m4.
113658         * Depends-on: Add stdint.
113659         (lib_SOURCES): Add human.h.
113660         * modules/inttostr (Files): Remove m4/intmax_t.m4,
113661         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
113662         m4/uintmax_t.m4, m4/ulonglong.m4.
113663         (Depends-on): Add stdint.
113664         (EXTRA_DIST): Add inttostr.h.
113665         * modules/lchmod: New module.
113666         * modules/link-follow: New module.
113667         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
113668         (Depends-on): Add lchmod.
113669         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
113670         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
113671         (Depends-on): Add stdint.
113672         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
113673         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
113674         (Depends-on): Add stdint.
113675         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
113676         * modules/perl: New module.
113677         * modules/regex (Depends-on): Add stdint.
113678         * modules/rmdir-errno: New module.
113679         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
113680         m4/intmax_t.m4.
113681         (Depends-on): Add stdint.
113682         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
113683         m4/uintmax_t.m4.
113684         (Depends-on): Add stdint.
113685         * modules/unlink-busy: New module.
113686         * modules/utimecmp (Depends-on): Add stdint.
113687         * modules/uptime: New module.
113688         * modules/winsz-ioctl: New module.
113689         * modules/winsz-termios: New module.
113690         * modules/xnanosleep (Depends-on): Add nanosleep.
113691         * modules/ullong_max: Remove.
113692         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
113693         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
113694         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
113695         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
113696         (Depends-on): Add inttypes.
113697         (lib_SOURCES): Add xstrtol.h.
113698         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
113699         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
113700         * MODULES.html.sh: Move 'assert' into the assert section.
113701         Move 'dummy' into the linking section.
113702         Remove ullong_max.
113703         Add section for compatibility checks for POSIX:2001 functions,
113704         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
113705         winsz-ioctl, and winsz-termios into it.
113706         Add lchmod.
113707         Add top-level Misc section and put host-os, perl, and uptime
113708         into it.
113710 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
113712         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
113713         now assume the stdint module.  Do not include inttypes.h.
113714         * lib/fsusage.h: Likewise.
113715         * lib/getndelim2.c: Likewise.
113716         * lib/human.h: Likewise.
113717         * lib/inttostr.h: Likewise.
113718         * lib/obstack.c: Likewise.
113719         * lib/regex_internal.h: Likewise.
113720         * lib/tempname.c: Likewise.
113721         * lib/utimecmp.c: Likewise.
113722         * lib/xstrtol.h: Likewise.
113724         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
113726         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
113727         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
113728         * lib/xtime.h: Likewise.
113730 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
113732         * modules/openat (Files): Add lib/fchmodat.c.
113733         Fixes problem reported by Jay Youngman.
113735 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
113737         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
113738         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
113740 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
113741             Bruno Haible  <bruno@clisp.org>
113743         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
113744         and is a script that invokes bison. Tighten the code. Add comments.
113746 2006-08-18  Jim Meyering  <jim@meyering.net>
113748         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
113749         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
113750         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
113751         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
113753 2006-08-18  Bruno Haible  <bruno@clisp.org>
113755         * modules/bison-i18n: New file.
113756         * MODULES.html.sh (Internationalization functions): Add it.
113758 2006-08-18  Bruno Haible  <bruno@clisp.org>
113760         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
113761         sys/statvfs.h. When getmntinfo was found, check its declaration and
113762         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
113764 2006-08-18  Bruno Haible  <bruno@clisp.org>
113766         * m4/bison-i18n.m4: New file, from bison.
113768 2006-08-18  Bruno Haible  <bruno@clisp.org>
113770         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
113771         (ME_DUMMY): Treat "kernfs" as a dummy.
113772         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
113774 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
113776         Update from coreutils.
113778         2006-08-15  Jim Meyering  <jim@meyering.net>
113780         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
113782         2006-01-17  Jim Meyering  <jim@meyering.net>
113784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
113786         2006-01-11  Jim Meyering  <jim@meyering.net>
113788         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
113789         Check for the lchmod function.
113791 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
113793         Update from coreutils.
113795         * lib/__fpending.h: Add copyright notice.
113796         * lib/fprintftime.h: Likewise.
113797         * lib/savedir.c: Use (C) in copyright notice.
113798         * lib/savedir.h: Likewise.
113800         2006-08-15  Jim Meyering  <jim@meyering.net>
113802         * lib/at-func.c: New file, with the logic of all emulated at-functions.
113803         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
113804         in support of the EXPECTED_ERRNO macro.
113805         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
113806         definitions.  Instead, define the appropriate symbols and include
113807         "at-func.c".
113808         * lib/mkdirat.c (mkdirat): Likewise.
113809         * lib/fchmodat.c (fchmodat): Likewise.
113810         (ENOSYS): Remove definition.
113811         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
113812         it.  Don't include "unistd--.h" -- it wasn't ever used.
113814         2006-01-17  Jim Meyering  <jim@meyering.net>
113816         Rewrite fts.c not to change the current working directory,
113817         by using openat, fstatat, fdopendir, etc..
113819         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
113820         (HAVE_OPENAT_SUPPORT): Define.
113821         [_LIBC] (fchdir): Don't undef or define; no longer used.
113822         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
113823         Now, this `function' always succeeds, and consumes its file descriptor
113824         parameter -- so callers must not close such FDs.  Update callers.
113825         (diropen_fd, opendirat, cwd_advance_fd): New functions.
113826         (diropen): Add parameter, SP.  Adjust all callers.
113827         Implement using diropen_fd, rather than open.
113828         (fts_open): Initialize new member, fts_cwd_fd.
113829         Remove fts_rft-setting code.
113830         (fts_close): Close fts_cwd_fd, if necessary.
113831         (__opendir2): Define in terms of opendir or opendirat,
113832         depending on whether the FST_NOCHDIR flag is set.
113833         (fts_build): Since fts_safe_changedir consumes its FD, and since
113834         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
113835         and close the dup'd file descriptor upon failure.
113836         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
113837         (fts_safe_changedir): Tweak semantics to reflect that this function
113838         now calls cwd_advance_fd and hence consumes its FD argument.
113839         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
113840         [struct FTS] (fts_rft): Remove now-unused member.
113841         [struct FTS] (fts_cycle.state): Improve comment.
113843         * lib/openat.c (openat_needs_fchdir): New function.
113844         * lib/openat.h (openat_needs_fchdir): Declare it.
113846 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
113848         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
113849         Problem and fix reported by Pádraig Brady in
113850         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
113852 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113854         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
113856 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113858         * lib/memcoll.c (memcoll): Optimize for the common case where the
113859         arguments are bytewise equal.
113861 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113863         * doc/regexprops-generic.texi: Add a copyright notice.
113865 2006-08-15  Bruno Haible  <bruno@clisp.org>
113867         * modules/tmpdir (License): Change to LGPL.
113869 2006-08-15  Bruno Haible  <bruno@clisp.org>
113871         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
113872         module.
113874 2006-08-14  Simon Josefsson  <jas@extundo.com>
113876         * config/srclist.txt: Add gnupload.
113878 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113880         Change copyright notice from LGPL 2 to GPL 2, since that's the
113881         standard form used in the gnulib repository.
113882         * tests/test-lock.c: Likewise.
113883         * tests/test-stdint.c: Likewise.
113884         * tests/test-tls.c: Likewise.
113886         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
113887         prelude-manager.  User shorter URLs for GNU projects, without '?'.
113888         Add copyright notice.
113890         * check-module: Add copyright notice.  Output a copyright
113891         notice if "--version" is specified.
113892         * modules/COPYING: New file.
113893         * tests/test-getaddrinfo.c: Add copyright notice.
113894         * tests/test-verify.c: Likewise.
113896 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113898         Change copyright notice from LGPL 2 to GPL 2, since that's the
113899         standard form used in the gnulib repository.
113900         * lib/lock.c: LGPL -> GPL.
113901         * lib/lock.h: Likewise.
113902         * lib/strnlen1.c: Likewise.
113903         * lib/strnlen1.h: Likewise.
113904         * lib/tls.c: Likewise.
113905         * lib/tls.h: Likewise.
113906         * lib/tmpdir.c: Likewise.
113908         * lib/TODO: Remove; this belongs only in coreutils.
113910 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113912         Add copyright notices to long-enough files that lack them, since
113913         otherwise the files aren't clearly free.  Use the same notice that
113914         getdate.texi already uses.
113915         * doc/alloca-opt.texi: Add copyright notice.
113916         * doc/alloca.texi: Likewise.
113917         * doc/ctime.texi: Likewise.
113918         * doc/functions.texi: Likewise.
113919         * doc/gcd.texi: Likewise.
113920         * doc/gnulib-tool.texi: Likewise.
113921         * doc/inet_ntoa.texi: Likewise.
113922         * doc/visibility.texi: Likewise.
113924         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
113925         * doc/quote.texi: Add copyright notice.
113927         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
113928         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
113929         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
113930         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
113931         is now obsolete, and give a pointer to the Sun list.
113932         Add copyright notice.
113934 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
113936         * config/srclistvars.sh: Add copyright notice.
113938 2006-08-14  Eric Blake  <ebb9@byu.net>
113940         Import the following change from libc:
113942         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
113944         Upstream bug 2997.
113945         * lib/misc/error.c: Add space between program name and message if file
113946         name is missing.
113948 2006-08-12  Karl Berry  <karl@gnu.org>
113950         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
113951         remove, these originate in gnulib now.
113953 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113955         * doc/Makefile (standards.info standards.html standards.dvi):
113956         Also depend on make-stds.texi.
113958 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
113960         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
113961         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
113963         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
113964         in wchar_t.  Problem reported by Eric Blake.
113966         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
113967         LEN is smaller than SIZE.  Suggested by Bruno Haible.
113968         Also, help the compiler to keep LEN in a register.
113970 2006-08-11  Eric Blake  <ebb9@byu.net>
113972         * users.txt: Sort.  Add tar.
113974 2006-08-11  Bruno Haible  <bruno@clisp.org>
113976         * users.txt: New file.
113978 2006-08-11  Bruno Haible  <bruno@clisp.org>
113980         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
113981         before <wchar.h>. Needed for OSF/1 and BSD/OS.
113983 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
113985         * modules/snprintf (Depends-on): Remove minmax.
113986         (Maintainer): Add self and Bruno.
113988 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
113990         * lib/.cppi-disable: Add snprintf.h, socket_.h.
113991         * lib/snprintf.c: Include <errno.h> and <limits.h>.
113992         (EOVERFLOW): Define if the system does not.
113993         Do not include "minmax.h"; it wasn't used.
113994         (snprintf): Don't assume size_t promotes to an unsigned type.
113995         Fix bug when generated string was too long for the buffer: the
113996         buffer's contents are supposed to be the initial prefix of the
113997         output.  Don't assume vasnprintf returns EOVERFLOW if the size
113998         exceeds INT_MAX; do the check ourselves.
114000         Import the following changes from libc:
114002         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
114004         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
114005         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
114006         set wc to the byte which couldn't be converted.
114007         (re_string_reconstruct): Don't clear valid_raw_len before calling
114008         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
114009         tip_context using re_string_context_at.
114011         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
114013         * lib/posix/regex.h: g++ still cannot handled [restrict].
114015         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
114017         * lib/posix/regex.h: Remove special handling for VMS.
114019 2006-08-10  Jim Meyering  <jim@meyering.net>
114021         * modules/same-inode: New module.
114022         * modules/dev-ino: New module.
114023         * modules/cycle-check: Depend on these modules, rather than simply
114024         including their .h files.
114025         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
114026         required via m4/cycle-check.m4.
114027         * modules/same: Depend on new same-inode module, rather than
114028         including same-inode.h.
114029         * modules/chdir-safer: New file.
114031         * modules/chown (Depends-on): Add stat-macros.
114033 2006-08-10  Jim Meyering  <jim@meyering.net>
114035         * m4/cycle-check.m4: New file.
114036         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
114037         * m4/dev-ino.m4, m4/same-inode.m4: New files.
114039 2006-08-10  Eric Blake  <ebb9@byu.net>
114041         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
114042         in from original proposal.
114044 2006-08-10  Eric Blake  <ebb9@byu.net>
114045         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114047         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
114048         namespace.
114050 2006-08-10  Bruno Haible  <bruno@clisp.org>
114052         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
114053         as well.
114055 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114057         Sync from coreutils.
114059         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
114061         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
114062         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
114064 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114066         * modules/restrict: Remove; no longer needed now that we assume
114067         Autoconf 2.59 or later.
114068         * MODULES.html.sh: Remove 'restrict'.
114069         * modules/argp (Depends-on): Remove 'restrict'.
114070         * modules/base64 (Depends-on): Likewise.
114071         * modules/gc (Depends-on): Likewise.
114072         * modules/getaddrinfo (Depends-on): Likewise.
114073         * modules/glob (Depends-on): Likewise.
114074         * modules/inet_ntop (Depends-on): Likewise.
114075         * modules/inet_pton (Depends-on): Likewise.
114076         * modules/memxor (Depends-on): Likewise.
114077         * modules/regex (Depends-on): Likewise.
114078         * modules/strtok_r (Depends-on): Likewise.
114079         * modules/time_r (Depends-on): Likewise.
114081 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114083         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
114084         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
114085         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114086         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
114087         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
114088         * m4/memxor.m4 (gl_MEMXOR): Likewise.
114089         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
114090         gl_C_RESTRICT replaced by AC_C_RESTRICT.
114092         Merge from coreutils.
114093         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
114094         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
114095         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
114096         * m4/time_r.m4 (gl_TIME_R): Likewise.
114098 2006-08-09  Karl Berry  <karl@gnu.org>
114100         * config/srclist.txt: no more gettext-tools, per Bruno.
114102 2006-08-08  Eric Blake  <ebb9@byu.net>
114104         * modules/verror: New module.
114105         * MODULES.html.sh: Document it.
114107 2006-08-08  Eric Blake  <ebb9@byu.net>
114109         * lib/verror.h, lib/verror.c: New files.
114111 2006-08-08  Eric Blake  <ebb9@byu.net>
114113         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
114114         verror_at_line output complies with GNU Coding Standards even when
114115         file is NULL.
114117 2006-08-07  Bruno Haible  <bruno@clisp.org>
114119         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
114120         versions of AIX.
114121         Reported by Ralf Wildenhues.
114123 2006-08-07  Bruno Haible  <bruno@clisp.org>
114125         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
114126         in an AC_DEFUN. Needed so that the autoconf snippets can use
114127         AC_REQUIRE.
114129 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114131         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114132         Initialize pkgdata_DATA.
114133         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
114134         overriding it.
114136 2006-08-06  Eric Blake  <ebb9@byu.net>
114138         * lib/error.h: Fold in some upstream changes from glibc.
114139         * lib/error.c: Likewise.
114141 2006-08-04  Bruno Haible  <bruno@clisp.org>
114143         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114144         Make the mostlyclean-local rule depend on mostlyclean-generic.
114145         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
114147 2006-07-31  Bruno Haible  <bruno@clisp.org>
114149         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
114150         <stdlib.h>, <string.h>.
114152 2006-07-30  Bruno Haible  <bruno@clisp.org>
114154         * modules/readlink (License): Change to LGPL.
114156 2006-07-30  Bruno Haible  <bruno@clisp.org>
114158         * modules/javaversion (Makefile.am): Distribute javaversion.java and
114159         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
114160         set PKGDATADIR to point to it.
114162 2006-07-30  Bruno Haible  <bruno@clisp.org>
114164         * modules/csharpexec (configure.ac): Comment out macro invocation.
114165         * modules/javaexec (configure.ac): Likewise.
114166         * modules/javacomp-script (configure.ac): Likewise.
114168         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
114170 2006-07-30  Bruno Haible  <bruno@clisp.org>
114172         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
114173         linked-list.
114175 2006-07-30  Bruno Haible  <bruno@clisp.org>
114177         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
114179 2006-07-30  Bruno Haible  <bruno@clisp.org>
114181         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114182         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
114183         get removed.
114185 2006-07-29  Bruno Haible  <bruno@clisp.org>
114187         Make it possible for gnulib-tool to work with locally modified or
114188         augmented gnulib repositories.
114189         * gnulib-tool (func_usage): Document --local-dir option.
114190         (local_gnulib_dir): New variable.
114191         Handle --local-dir option.
114192         (func_lookup_file): New function.
114193         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
114194         (func_get_description, func_get_filelist, func_get_description,
114195         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
114196         func_get_automake_snippet, func_get_include_directive,
114197         func_get_license, func_get_maintainer): Use func_lookup_file.
114198         (func_import, func_create_testdir): Use func_lookup_file.
114200 2006-07-29  Bruno Haible  <bruno@clisp.org>
114202         * modules/setenv (Depends-on): Add unistd.
114204 2006-07-29  Bruno Haible  <bruno@clisp.org>
114206         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
114208 2006-07-29  Bruno Haible  <bruno@clisp.org>
114210         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
114212 2006-07-29  Bruno Haible  <bruno@clisp.org>
114214         * gnulib-tool (import, update): If there is no Makefile.am, look at
114215         aclocal.m4, instead of bailing out.
114217 2006-07-29  Bruno Haible  <bruno@clisp.org>
114219         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
114220         Categorize the options by when they are useful.
114222 2006-07-29  Bruno Haible  <bruno@clisp.org>
114224         * gnulib-tool (func_usage): Document option --no-libtool.
114225         Handle option --no-libtool.
114226         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
114227         for changed semantics of $libtool variable.
114228         (func_import): Likewise. If libtool is not used, show this through
114229         an option --no-libtool.
114230         (func_create_testdir): Update.
114232 2006-07-29  Bruno Haible  <bruno@clisp.org>
114234         * gnulib-tool (func_import): Extend error message about missing
114235         --doc-base.
114237 2006-07-29  Bruno Haible  <bruno@clisp.org>
114239         * gnulib-tool (func_import): Don't create the $docbase directory if
114240         there is no file to store there.
114242 2006-07-29  Bruno Haible  <bruno@clisp.org>
114244         * gnulib-tool (autoconf_minversion): If a --dir option is given and
114245         relevant, look for configure.ac there, not in the current directory.
114246         Also use a simple search for AC_PREREQ, not "autoconf --trace".
114248 2006-07-29  Bruno Haible  <bruno@clisp.org>
114250         * gnulib-tool (SORT): New variable.
114251         (func_usage): Undocument --assume-autoconf option.
114252         Remove --assume-autoconf option handling.
114253         (autoconf_minversion): Determine from the contents of configure.ac.
114254         (func_import): Remove autoconf_minversion handling.
114255         Suggested by Eric Blake.
114257 2006-07-29  Bruno Haible  <bruno@clisp.org>
114259         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
114261 2006-07-29  Bruno Haible  <bruno@clisp.org>
114263         * config/srclist.txt (*setenv.[ch]): Remove rules.
114265 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114267         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
114269 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114271         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
114272         arpa/inet.h.
114274 2006-07-28  Simon Josefsson  <jas@extundo.com>
114276         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
114277         * modules/inet_pton (Depends-on): Likewise.
114279 2006-07-28  Simon Josefsson  <jas@extundo.com>
114281         * m4/netinet_in_h.m4: New file.
114283 2006-07-28  Simon Josefsson  <jas@extundo.com>
114285         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
114286         #include's.
114288 2006-07-28  Simon Josefsson  <jas@extundo.com>
114290         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
114291         #include's.
114293 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
114295         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
114296         setgid on directories only if they set these bits.
114297         * lib/modechange.h: Remove obsolete comment about masks.
114299 2006-07-28  Eric Blake  <ebb9@byu.net>
114301         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
114302         macro expansion.
114304 2006-07-28  Bruno Haible  <bruno@clisp.org>
114306         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
114308 2006-07-28  Bruno Haible  <bruno@clisp.org>
114310         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
114312 2006-07-28  Bruno Haible  <bruno@clisp.org>
114314         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
114315         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
114316         Define fallbacks.
114317         Avoids link error on FreeBSD 4.x.
114318         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
114320         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
114321         encoding.
114322         * lib/mbswidth.c (iswcntrl): Likewise.
114324 2006-07-27  Bruno Haible  <bruno@clisp.org>
114326         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
114327         test.
114329 2006-07-27  Bruno Haible  <bruno@clisp.org>
114331         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
114332         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
114333         defined.
114335 2006-07-26  Eric Blake  <ebb9@byu.net>
114337         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
114339 2006-07-26  Eric Blake  <ebb9@byu.net>
114341         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
114342         like mingw that lack mkstemp.
114343         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
114344         avoid compilation warning on mingw.
114346 2006-07-26  Bruno Haible  <bruno@clisp.org>
114348         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
114349         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
114350         INT_FAST*_MIN, INTPTR_MIN.
114352 2006-07-25  Bruno Haible  <bruno@clisp.org>
114354         * modules/version-etc (Depends-on): Add stdarg.
114356 2006-07-25  Bruno Haible  <bruno@clisp.org>
114358         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
114359         complex commands.
114361 2006-07-25  Bruno Haible  <bruno@clisp.org>
114363         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
114364         defined in <stdarg.h> or config.h.
114366 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114368         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
114369         (gl_STDIO_SAFER): Remove.
114371 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114373         * MODULES.html.sh (File stream based Input/Output):
114374         Add fopen-safer, tmpfile-safer; remove stdio-safer.
114375         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
114376         * modules/fopen-safer, modules/tmpfile-safer: New files.
114377         * modules/stdio-safer: Remove.
114379 2006-07-24  Bruno Haible  <bruno@clisp.org>
114381         * modules/tmpdir: New file.
114382         * MODULES.html.sh (File system functions): Add it.
114384 2006-07-24  Bruno Haible  <bruno@clisp.org>
114386         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
114387         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
114389 2006-07-24  Bruno Haible  <bruno@clisp.org>
114391         * modules/clean-temp: New file.
114393 2006-07-24  Bruno Haible  <bruno@clisp.org>
114395         * m4/tmpdir.m4: New file, from GNU gettext.
114397 2006-07-24  Bruno Haible  <bruno@clisp.org>
114399         * lib/tmpdir.h: New file, from GNU gettext.
114400         * lib/tmpdir.c: New file, from GNU gettext.
114402 2006-07-24  Bruno Haible  <bruno@clisp.org>
114404         * lib/clean-temp.h: New file, from GNU gettext.
114405         * lib/clean-temp.c: New file, from GNU gettext.
114407 2006-07-23  Eric Blake  <ebb9@byu.net>
114409         * modules/stdio-safer (Files): Add tmpfile-safer.c.
114410         (Depends-on): Add binary-io.
114412 2006-07-23  Eric Blake  <ebb9@byu.net>
114414         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
114416 2006-07-23  Eric Blake  <ebb9@byu.net>
114418         * lib/tmpfile-safer.c: New file.
114419         * lib/stdio-safer.h (fopen_safer): Add prototype.
114420         * lib/stdio--.h (tmpfile): Make safer.
114422 2006-07-23  Bruno Haible  <bruno@clisp.org>
114424         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
114425         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
114426         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
114427         gl_linked_remove_at): Use it.
114429 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114430         and Simon Josefsson <jas@extundo.com>
114432         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
114434         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
114436 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114438         * modules/close-stream: New file.
114439         * modules/closeout (Description): Make it clear that it exits
114440         with a diagnostic on error.
114441         (Depends-on): Add close-stream.  Remove fpending, stdbool.
114442         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
114444 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114446         * m4/close-stream.m4: New file.
114448 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114450         * lib/close-stream.c, lib/close-stream.h: New files.
114452 2006-07-22  Bruno Haible  <bruno@clisp.org>
114454         Merge from GNU gettext 0.15.
114456         2006-05-01  Bruno Haible  <bruno@clisp.org>
114458                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
114460         2006-07-22  Bruno Haible  <bruno@clisp.org>
114462                 * modules/javaversion: New file.
114463                 * MODULES.html.sh (Java): Add javaversion.
114465         2006-03-12  Bruno Haible  <bruno@clisp.org>
114467                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
114469         2005-12-04  Bruno Haible  <bruno@clisp.org>
114471                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
114472                 (untested).
114474         2006-06-21  Bruno Haible  <bruno@clisp.org>
114476                 Avoid warnings from recent versions of mcs.
114477                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
114478                 -o, -L, -r any more. Use options documented since mcs-1.0
114479                 instead. Similarly for -g.
114481         2005-12-04  Bruno Haible  <bruno@clisp.org>
114483                 * build-aux/csharpcomp.sh.in: Suffix for resources is
114484                 .resources, not .resource.
114486         2005-07-09  Bruno Haible  <bruno@clisp.org>
114488                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
114489                 add a .dll suffix.
114490                 Reported by Mark Junker <mjscod@gmx.de>.
114492         2006-07-22  Bruno Haible  <bruno@clisp.org>
114494                 * modules/gettext: Upgrade to gettext-0.15.
114495                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
114496                 m4/visibility.m4.
114497                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
114499 2006-07-22  Bruno Haible  <bruno@clisp.org>
114501         Merge from GNU gettext 0.15.
114503         2006-03-25  Bruno Haible  <bruno@clisp.org>
114505                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
114507         2006-07-21  Bruno Haible  <bruno@clisp.org>
114509                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
114510                 "1.1".
114512         2006-05-09  Bruno Haible  <bruno@clisp.org>
114514                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
114515                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
114516                 for the conftestver execution.
114518         2006-05-01  Bruno Haible  <bruno@clisp.org>
114520                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
114521                 optional target-version argument. Verify that the compiler
114522                 groks source of the specified source-version, or add -source
114523                 option as necessary. Verify that the compiler produces
114524                 bytecode in the specified target-version, or add -target and
114525                 -source options as necessary. Make the result of the test
114526                 available as variable CONF_JAVAC. Also log error output in
114527                 config.log.
114529         2006-03-11  Bruno Haible  <bruno@clisp.org>
114531                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
114533         2006-05-09  Bruno Haible  <bruno@clisp.org>
114535                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
114536                 CLASSPATH_SEPARATOR to a semicolon.
114538         2006-03-12  Bruno Haible  <bruno@clisp.org>
114540                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
114541                 available as variable CONF_JAVA, for subsequent autoconf
114542                 tests. Also log error output in config.log.
114544         2006-07-19  Bruno Haible  <bruno@clisp.org>
114546                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
114547                 that getline works on glibc2 systems. Needed to avoid trouble
114548                 in relocatable.c.
114549                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
114551         2005-12-04  Bruno Haible  <bruno@clisp.org>
114553                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
114554                 launcher (untested).
114556         2005-12-04  Bruno Haible  <bruno@clisp.org>
114558                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
114560         2006-07-22  Bruno Haible  <bruno@clisp.org>
114562                 * gettext.m4: Update from GNU gettext-0.15.
114563                 * nls.m4: Likewise.
114564                 * po.m4: Likewise.
114565                 * inttypes-pri.m4: Likewise.
114566                 * inttypes-h.m4: Renamed from inttypes.m4.
114567                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
114569 2006-07-22  Bruno Haible  <bruno@clisp.org>
114571         Merge from GNU gettext 0.15.
114573         2005-07-05  Bruno Haible  <bruno@clisp.org>
114575                 * printf-args.c (printf_fetchargs): Work around broken
114576                 definition of wint_t on mingw.
114578         2005-02-12  Bruno Haible  <bruno@clisp.org>
114580                 * xallocsa.h: Add extern "C" for C++.
114582         2006-05-17  Bruno Haible  <bruno@clisp.org>
114584                 Cygwin portability.
114585                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
114587         2006-04-30  Bruno Haible  <bruno@clisp.org>
114589                 * progreloc.c: Include <mach-o/dyld.h> if available.
114590                 (find_executable): Use _NSGetExecutablePath when possible.
114592         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
114594                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
114595                 function.
114597         2005-12-29  Bruno Haible  <bruno@clisp.org>
114599                 * progreloc.c (set_program_name_and_installdir): Fix
114600                 compilation error.
114602         2005-12-04  Bruno Haible  <bruno@clisp.org>
114604                 Cygwin portability.
114605                 * progreloc.c: Include <windows.h> also on Cygwin.
114606                 (find_executable): Add support for Cygwin.
114607                 (set_program_name_and_installdir): Handle also platforms with
114608                 nonempty EXEEXT.
114610         2006-07-11  Bruno Haible  <bruno@clisp.org>
114612                 * javacomp.c: Fix a comment.
114613                 Reported by Jim Meyering.
114615         2006-04-30  Bruno Haible  <bruno@clisp.org>
114617                 * javacomp.h (compile_java_class): Add source_version,
114618                 target_version arguments.
114619                 * javacomp.c: Rewritten to choose only a compiler that
114620                 respects the specified source_version and target_version.
114622         2006-06-27  Bruno Haible  <bruno@clisp.org>
114624                 Assume correct S_ISDIR macro.
114625                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
114627         2006-07-22  Bruno Haible  <bruno@clisp.org>
114629                 * javaversion.h: New file, from GNU gettext.
114630                 * javaversion.c: New file, from GNU gettext.
114631                 * javaversion.java: New file, from GNU gettext.
114632                 * javaversion.class: New file, from GNU gettext.
114634         2006-05-17  Bruno Haible  <bruno@clisp.org>
114636                 Cygwin portability.
114637                 * javaexec.c (execute_java_class): Test for jview program
114638                 also on Cygwin.
114640         2006-04-09  Bruno Haible  <bruno@clisp.org>
114642                 * fatal-signal.c: Don't include string.h.
114643                 (at_fatal_signal): Use a copying loop instead of memcpy.
114645         2005-12-04  Bruno Haible  <bruno@clisp.org>
114647                 * csharpexec.c: Add support for 'clix' launcher (untested).
114648                 (execute_csharp_using_sscli): New function.
114649                 (execute_csharp_program): Call it.
114651         2006-06-21  Bruno Haible  <bruno@clisp.org>
114653                 Avoid warnings from recent versions of mcs.
114654                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
114655                 -o, -L, -r any more. Use options documented since mcs-1.0
114656                 instead. Similarly for -g.
114658         2005-07-09  Bruno Haible  <bruno@clisp.org>
114660                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
114661                 add a .dll suffix.
114662                 Reported by Mark Junker <mjscod@gmx.de>.
114664         2006-06-17  Bruno Haible  <bruno@clisp.org>
114666                 * config.charset: Update for NetBSD 3.0.
114668         2006-05-17  Bruno Haible  <bruno@clisp.org>
114670                 Cygwin portability.
114671                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
114673         2006-05-16  Bruno Haible  <bruno@clisp.org>
114675                 * localcharset.c [CYGWIN]: Include <windows.h>.
114676                 (get_charset_aliases): For Cygwin, return the same CPxxx
114677                 aliases list as under WIN32.
114678                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
114679                 the environment variables. Fall back to GetACP().
114681         2006-04-05  Bruno Haible  <bruno@clisp.org>
114683                 * config.charset: Update Juan Manuel Guerrero's address.
114685         2005-02-12  Bruno Haible  <bruno@clisp.org>
114687                 * allocsa.h: Add extern "C" for C++.
114689         2005-02-10  Bruno Haible  <bruno@clisp.org>
114691                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
114692                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
114694         2006-07-22  Bruno Haible  <bruno@clisp.org>
114696                 * gettext.h: Update to GNU gettext-0.15.
114698 2006-07-22  Bruno Haible  <bruno@clisp.org>
114700         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
114701         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
114702         lib-prefix.m4, longdouble.m4, ssize_t.m4.
114704 2006-07-21  Eric Blake  <ebb9@byu.net>
114706         * modules/stdlib-safer: New file.
114707         * MODULES.html.sh (File stream based Input/Output): Add
114708         stdlib-safer.
114710 2006-07-21  Eric Blake  <ebb9@byu.net>
114712         * lib/stdlib-safer.h: New file from coreutils, required by
114713         stdlib--.h.
114715 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
114717         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
114719 2006-07-20  Bruno Haible  <bruno@clisp.org>
114721         * gnulib-tool: Recognize new option --assume-autoconf.
114722         (autoconf_minversion): New variable.
114723         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
114725 2006-07-20  Bruno Haible  <bruno@clisp.org>
114727         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
114729 2006-07-19  Derek R. Price  <derek@ximbiot.com>
114731         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
114732         Reindent and repaginate.
114734 2006-07-19  Derek Price  <derek@ximbiot.com>
114736         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
114737         Correct grammar.
114739 2006-07-17  Bruno Haible  <bruno@clisp.org>
114741         * modules/list: New file.
114742         * modules/array-list: New file.
114743         * modules/carray-list, modules/carray-list-tests: New files.
114744         * modules/linked-list, modules/linked-list-tests: New files.
114745         * modules/avltree-list, modules/avltree-list-tests: New files.
114746         * modules/rbtree-list, modules/rbtree-list-tests: New files.
114747         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
114748         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
114749         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
114750         * modules/oset: New file.
114751         * modules/array-oset: New file.
114752         * modules/avltree-oset, modules/avltree-oset-tests: New files.
114753         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
114754         * tests/test-carray_list.c: New file.
114755         * tests/test-linked_list.c: New file.
114756         * tests/test-avltree_list.c: New file.
114757         * tests/test-rbtree_list.c: New file.
114758         * tests/test-linkedhash_list.c: New file.
114759         * tests/test-avltreehash_list.c: New file.
114760         * tests/test-rbtreehash_list.c: New file.
114761         * tests/test-avltree_oset.c: New file.
114762         * tests/test-rbtree_oset.c: New file.
114763         * MODULES.html.sh (Container data structures): New section.
114765 2006-07-17  Bruno Haible  <bruno@clisp.org>
114767         * m4/gl_list.m4: New file.
114769 2006-07-17  Bruno Haible  <bruno@clisp.org>
114771         * lib/gl_list.h: New file.
114772         * lib/gl_list.c: New file.
114773         * lib/gl_array_list.h: New file.
114774         * lib/gl_array_list.c: New file.
114775         * lib/gl_carray_list.h: New file.
114776         * lib/gl_carray_list.c: New file.
114777         * lib/gl_linked_list.h: New file.
114778         * lib/gl_linked_list.c: New file.
114779         * lib/gl_anylinked_list1.h: New file.
114780         * lib/gl_anylinked_list2.h: New file.
114781         * lib/gl_avltree_list.h: New file.
114782         * lib/gl_avltree_list.c: New file.
114783         * lib/gl_anyavltree_list1.h: New file.
114784         * lib/gl_anyavltree_list2.h: New file.
114785         * lib/gl_rbtree_list.h: New file.
114786         * lib/gl_rbtree_list.c: New file.
114787         * lib/gl_anyrbtree_list1.h: New file.
114788         * lib/gl_anyrbtree_list2.h: New file.
114789         * lib/gl_anytree_list1.h: New file.
114790         * lib/gl_anytree_list2.h: New file.
114791         * lib/gl_linkedhash_list.h: New file.
114792         * lib/gl_linkedhash_list.c: New file.
114793         * lib/gl_anyhash_list1.h: New file.
114794         * lib/gl_anyhash_list2.h: New file.
114795         * lib/gl_avltreehash_list.h: New file.
114796         * lib/gl_avltreehash_list.c: New file.
114797         * lib/gl_rbtreehash_list.h: New file.
114798         * lib/gl_rbtreehash_list.c: New file.
114799         * lib/gl_anytreehash_list1.h: New file.
114800         * lib/gl_anytreehash_list2.h: New file.
114802         * lib/gl_oset.h: New file.
114803         * lib/gl_oset.c: New file.
114804         * lib/gl_array_oset.h: New file.
114805         * lib/gl_array_oset.c: New file.
114806         * lib/gl_avltree_oset.h: New file.
114807         * lib/gl_avltree_oset.c: New file.
114808         * lib/gl_rbtree_oset.h: New file.
114809         * lib/gl_rbtree_oset.c: New file.
114810         * lib/gl_anytree_oset.h: New file.
114812 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
114814         * m4/mkancesdirs.m4: New file.
114815         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
114816         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
114817         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
114818         it.
114820 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
114822         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
114823         * lib/mkancesdirs.h: New files.
114824         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
114825         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
114826         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
114827         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
114828         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
114829         callers changed.  Revamp internals significantly, by not
114830         attempting to create directories that are temporarily more
114831         permissive than the final results.  Do not attempt to use
114832         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
114833         This removes some race conditions, fixes some bugs, and simplifies
114834         things.  Use new dirchownmod function to do owner and mode changes.
114835         * lib/mkdir-p.h: Likewise.
114836         * lib/modechange.c (octal_to_mode): New function.
114837         (struct mode_change): New member mentioned.
114838         (make_node_op_equals): New arg mentioned.  All callers changed.
114839         (mode_compile): Keep track of which mode bits the user has explicitly
114840         mentioned.
114841         (mode_adjust): New arg DIR, so that we implement the X op correctly.
114842         New arg PMODE_BITS, to keep track of which mode bits the user
114843         mentioned; it treats S_ISUID and S_ISGID speciall.
114844         All callers changed.
114845         * lib/modechange.h: Likewise.
114847 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
114849         * MODULES.html.sh: Add mkancestors.
114850         * modules/mkancesdirs: New module.
114851         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
114852         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
114853         The chdir-safer and afs files are now orphans; I'll remove them
114854         unless someone speaks up.
114855         Add lib/dirchownmod.c, lib/dirchownmod.h.
114856         (Depends-on): Remove alloca, chown, save-cwd, dirname.
114857         Add lchown, mkancesdirs.
114858         (Maintainer): Add self.
114860 2006-07-15  Karl Berry  <karl@gnu.org>
114862         * gnulib-tool: help message wording/arrangement.
114864 2006-07-14  Simon Josefsson  <jas@extundo.com>
114866         * doc/gnulib.texi (Libtool and Windows): New section.
114868 2006-07-12  Simon Josefsson  <jas@extundo.com>
114870         * modules/gendocs (License): Fix license, approved by Karl.
114872 2006-07-12  Eric Blake  <ebb9@byu.net>
114874         * MODULES.html.sh: Add gendocs.
114876 2006-07-11  Eric Blake  <ebb9@byu.net>
114878         * modules/fdl: New module, to install doc/fdl.texi.
114879         * MODULES.html.sh: Add new section for documentation modules.
114880         * gnulib-tool: Avoid space-tab.
114881         (--doc-base): New option, to manage files from doc.
114883 2006-07-11  Eric Blake  <ebb9@byu.net>
114885         * m4/absolute-header.m4: Fix comments to match recent change.
114887 2006-07-11  Eric Blake  <ebb9@byu.net>
114889         * gnulib-tool: List --doc-base before --tests-base.
114891 2006-07-11  Derek R. Price  <derek@ximbiot.com>
114893         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
114895 2006-07-11  Bruno Haible  <bruno@clisp.org>
114897         * README: Mention where to put documentation.
114899 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114901         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
114903 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
114905         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
114906         to stdint.m4.
114908 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
114910         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
114911         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
114912         "no/such/file/stdint.h" when there is no such file, so that
114913         the resulting C code can be parsed by dodgy compilers.
114914         Problems reported by Bob Proulx.
114916 2006-07-10  Derek R. Price  <derek@ximbiot.com>
114918         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
114919         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
114920         macros into the GNU _D_EXACT_NAMLEN.
114921         * lib/savedir.c:  Likewise.
114922         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
114924 2006-07-10  Derek R. Price  <derek@ximbiot.com>
114925         and Paul Eggert  <eggert@cs.ucla.edu>
114927         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
114928         * m4/savedir.m4:
114929         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
114930         macros into the GNU _D_EXACT_NAMLEN.
114932 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114934         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
114935         around the absolute name, to work around a problem with the HP-UX
114936         11.23 native C compiler, reported by Bob Proulx.
114938 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114940         * doc/maintain.texi, make-stds.texi: Sync from
114941         <http://savannah.gnu.org/projects/gnustandards>.
114943 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
114945         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
114947 2006-07-09  Jim Meyering  <jim@meyering.net>
114949         * m4/glob.m4: Remove a doubled word in a comment.
114951 2006-07-09  Jim Meyering  <jim@meyering.net>
114953         * lib/argp-pv.c: Remove a doubled word in a comment.
114954         * lib/check-version.c (check_version): Likewise.
114955         * lib/javacomp.c (compile_java_class): Likewise.
114957 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
114959         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
114960         for the benefit of people using Autoconf 2.60.  If you want to
114961         support older Autoconf versions you can copy m4/onceonly_2_57.m4
114962         (or m4/onceonly.m4, if pre-2.57) manually.
114964 2006-07-08  Jim Meyering  <jim@meyering.net>
114966         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
114967         comment.
114968         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
114969         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
114970         comment.
114972 2006-07-08  Jim Meyering  <jim@meyering.net>
114974         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
114976 2006-07-07  Simon Josefsson  <jas@extundo.com>
114978         * tests/test-crc.c: Change expected crc value, the test vector
114979         were probably computed using the old broken crc.c?
114981 2006-07-06  Simon Josefsson  <jas@extundo.com>
114983         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
114984         now the canonical place for the M4 file).
114986         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
114987         from the sys_socket dependency now.
114989         * modules/inet_pton (Files): Ditto.
114991         * modules/inet_ntop (Files): Ditto.
114993 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
114995         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
114996         not gl_PREREQ_GETUSERSHELL.
114998 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115000         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
115001         with only one argument, for Autoconf 2.60.
115002         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
115003         expand to nothing, so add a shell command to avoid syntax error.
115004         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115006 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115008         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
115010 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115012         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
115013         no longer needed.  Check for isblank decl.
115014         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
115015         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
115016         of existence.
115018 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115020         * lib/getloadavg.c: Use __VMS, not VMS.
115021         * lib/getopt.c: Likewise.
115022         * lib/getpagesize.h: Likewise.
115023         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
115024         and probably does not work.
115026 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115028         * lib/.cppi-disable: Add wcwidth.
115029         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
115030         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
115031         (ISGRAPH): Remove.  All uses changed to isgraph.
115032         (FOLD) [!defined _LIBC]: Remove special case.
115033         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
115034         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
115035         HAVE_ISBLANK.
115036         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
115037         case.
115039 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115041         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
115042         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
115043         brackets.  Other minor changes to suppress some compiler
115044         warnings.
115046 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115047         and Paul Eggert  <eggert@cs.ucla.edu>
115049         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
115050         of invoking obsolescent AC_HEADER_DIRENT macro.
115051         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
115052         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
115053         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
115054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
115055         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
115056         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115057         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
115058         * m4/readdir.m4: Remove; no longer needed.
115060 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115061         and Paul Eggert  <eggert@cs.ucla.edu>
115063         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
115064         Don't worry about this obsolete case any more.
115065         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
115066         directories.
115067         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
115068         worry about this obsolete case any more.
115069         * lib/fts.c: Likewise.
115070         * lib/getcwd.c: Likewise.
115071         * lib/glob.h: Likewise.
115072         * lib/savedir.c: Likewise.
115074 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
115077         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
115078         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
115079         needed.
115080         All uses removed.
115081         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115082         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115083         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
115084         needed.
115085         * m4/getdate.m4 (gl_GETDATE): Likewise.
115086         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115087         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115088         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115089         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115090         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115091         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115092         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
115093         needed.
115095 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115097         * lib/memcasecmp.c: Include <limits.h>.
115098         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
115099         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
115100         Don't assume isdigit succeeds only on '0' through '9'.
115102 2006-07-05  Eric Blake  <ebb9@byu.net>
115104         * modules/getaddrinfo (Depends-on): Add snprintf.
115106 2006-07-05  Eric Blake  <ebb9@byu.net>
115108         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
115109         to avoid 'header present but could not be compiled' on cygwin.
115111 2006-07-05  Eric Blake  <ebb9@byu.net>
115113         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
115114         missing from netdb.h.
115115         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
115117 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115119         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
115120         no longer needed.
115121         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
115122         * m4/getdate.m4 (gl_GETDATE): Likewise.
115123         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115124         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115125         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115126         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115127         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115129 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115131         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
115132         All uses of is_space replaced by isspace.
115133         * lib/exit.h: Don't talk about STDC_HEADERS.
115134         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
115135         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
115136         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
115137         replaced by isprint etc.
115138         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
115139         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115140         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
115141         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
115142         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
115143         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115145 2006-07-05  Bruno Haible  <bruno@clisp.org>
115147         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
115148         the function exists, before testing against AIX.
115149         Reported by Martin Lambers <marlam@marlam.de>.
115151 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115153         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
115154         From Mark D. Baushke.
115156 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115158         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
115159         to the absolute name, not just one, to bypass Sun C 5.8's
115160         "warning: #include of /usr/include/... may be non-portable".
115162 2006-07-04  Eric Blake  <ebb9@byu.net>
115164         * modules/dirname-tests: New test module.
115165         * tests/test-dirname.c: New file, replacing dirname.c
115166         TEST_DIRNAME section that was recently deleted.
115168 2006-07-04  Bruno Haible  <bruno@clisp.org>
115170         Assume ANSI C header files and <ctype.h> functions.
115171         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
115172         (mbsnwidth): Use isprint, iscntrl instead.
115174 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115176         Merge from coreutils.
115177         * MODULES.html.sh: Add xstrtold.
115178         * modules/xstrtold: New file.
115179         * modules/cycle-check (Files): Add lib/same-inode.h.
115180         * modules/dirname (Files): Add m4/double-slash-root.m4.
115181         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
115182         * modules/mkdir-p (Files): Add lib/same-inode.h.
115183         * modules/same (Files): Add lib/same-inode.h.
115185 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115187         * m4/absolute-header.m4: Renamed from full-header-path.m4.
115188         This is to keep the terminology clean; POSIX talks about
115189         "absolute pathnames", not "full pathnames", but the GNU
115190         Coding Standards say to use "path" for something else;
115191         so use "absolute" to keep both sides happy.
115192         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
115193         Set gl_absolute_header, not gl_full_header_path.
115194         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
115195         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
115196         All uses changed.
115198         Merge from coreutils.
115200         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115202         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
115203         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
115204         want to require the building of c-strtod.o.
115205         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
115206         needs -lm directly.
115207         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
115209         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
115211         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
115212         --as-needed option if available.  Problem reported by Albert Chin in
115213         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
115214         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
115215         cc merely issues a bunch of annoying warnings for --as-needed
115216         (this problem was reported by Bob Proulx).  Also, try linking with
115217         -lm to detect a bug in binutils 2.16 (this problem was reported
115218         by Ralf Wildenhues).
115220         2006-06-18  Jim Meyering  <jim@meyering.net>
115222         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
115223         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
115224         macro.
115225         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
115226         also check for glibc-2.4's abort-inducing bug.
115228         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
115229         Low-probability clean-up should be to use rmdir to get rid of
115230         the just-created directory, not unlink.
115232         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
115233         configure fail, and request a bug report to inform us about it.
115234         Add a comment that, barring reports to the contrary, in 2007 we'll
115235         assume ftruncate is universally available.
115237         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115239         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
115241         2006-03-12  Jim Meyering  <jim@meyering.net>
115243         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
115244         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
115245         * m4/same.m4 (gl_SAME): Likewise.
115246         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
115248         2006-03-11  Eric Blake  <ebb9@byu.net>
115250         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
115251         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
115252         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
115253         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
115255 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115257         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
115258         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
115259         reported by Mark D. Baushke, one in
115260         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
115262         Merge from coreutils.
115264         * lib/.cppi-disable: Add stdint_.h.
115265         * lib/.cvsignore: Add stdint.h.
115267         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115269         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
115270         both double and long double versions.
115271         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
115272         * lib/xstrtold.c: New file.
115273         * lib/xstrtod.h (xstrtold): New decl.
115275         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
115277         * lib/filemode.c (setst): Remove.
115278         (strmode): Rewrite to avoid setst.  This makes the code shorter,
115279         (arguably) clearer, and the generated code is a bit smaller on my
115280         Debian GNU/Linux stable x86 host.
115282         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115284         * lib/filemode.c: Include "filemode.h" first, to test the interface.
115285         Assume that filemode.h includes sys/types.h and sys/stat.h.
115286         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
115287         (ftypelet): Reorder to put common cases first, for efficiency.
115288         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
115289         to do 'M'.
115290         (strmode): Renamed from mode_string, and now stores 12 bytes instead
115291         of 10, for compatibility with FreeBSD.  All callers changed.
115292         (filemodestring): Now stores 12 bytes instead of 10, and sets file
115293         types that can't be deduced solely from st_mode.  First arg is now a
115294         const pointer.
115295         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
115296         (strmode): Renamed from mode_string.
115297         (filemodestring): New decl.
115298         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
115299         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
115300         needed.
115301         (S_ISPORT, S_ISWHT): New macros, if not already defined.
115303         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
115305         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
115306         fsusage.h now does that.  Include fsusage.h first, to test interface.
115307         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
115308         at most one method (the old code could have generated decls that
115309         didn't conform to C89, not that this was ever exercised).
115310         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
115312         2006-03-19  Jim Meyering  <jim@meyering.net>
115314         Work even in a chroot where d_ino values for entries in "/"
115315         don't match the stat.st_ino values for the same names.
115316         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
115317         number, iterate through all entries again, using lstat instead.
115318         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
115319         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
115321         * lib/getcwd.c (__getcwd): Clarify a comment.
115322         Use memcpy in place of a call to strcpy.
115324         2006-03-12  Jim Meyering  <jim@meyering.net>
115326         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
115327         matches that of the current directory (which we're about to chdir ".."
115328         out of), then save the dev-ino of the parent, instead.
115330         * lib/same-inode.h (SAME_INODE): New file/macro.
115331         * lib/chdir-safer.c (SAME_INODE): Remove definition.
115332         Include "same-inode.h", instead.
115333         * lib/same.c: Likewise.
115334         * lib/cycle-check.h: Include "same-inode.h".
115335         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
115336         * lib/cycle-check.c (SAME_INODE): Remove definition.
115337         * lib/root-dev-ino.h: Include "same-inode.h".
115339         2006-03-11  Eric Blake  <ebb9@byu.net>
115341         * lib/same.c (same_name): s/base_name/last_component/
115342         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
115343         * lib/filenamecat.c (file_name_concat): Likewise.
115345         2006-03-11  Eric Blake  <ebb9@byu.net>,
115346                     Paul Eggert  <eggert@cs.ucla.edu>
115348         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
115349         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
115350         drive prefix.
115351         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
115352         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
115353         (last_component): New method.
115354         * lib/dirname.c (dir_len): Determine when drive letters need a
115355         subsequent slash.  Preserve // when it is special.
115356         (dir_name): Don't append dot when drive letter is absolute.
115357         [TEST_DIRNAME]: Move into a full-blown gnulib test.
115358         * lib/basename.c (base_name): New semantics - malloc the result.
115359         Preserve // when it is special.  Preserve relative files that look
115360         like drive letters.
115361         (base_len): Preserve // when it is special.
115362         (last_component): New method, similar to old base_name semantics.
115363         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
115364         base_name.  Strip redundant slashes from ///.
115366 2006-07-03  Jim Meyering  <jim@meyering.net>
115368         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
115369         macro is used before the first cycle_check call.
115371 2006-07-03  Eric Blake  <ebb9@byu.net>
115373         * modules/dirname (Depends-on): Add xstrndup.
115375 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115377         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
115378         test cases, so that config.log is a bit easier to follow.
115380 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115382         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
115383         both are 64 bits, since this seems to be the tradition, and this
115384         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
115385         we ever run into a host that prefers long long to long in this
115386         case, we'll need another configure-time test.  Problem reported by
115387         Jim Meyering.
115389 2006-07-02  Eric Blake  <ebb9@byu.net>
115391         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
115393 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115395         * modules/inttypes (Depends-on): No longer depends on stdint.
115396         * modules/stdint (Description): Say more about assumptions.
115397         Say that the fast types might differ.  Say macros are used.
115398         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
115399         (Makefile.am): Revise list of substituted symbols to match
115400         new stdint.m4.
115401         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
115402         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
115403         * tests/test-stdint.c (verify_same_types)
115404         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
115405         the code conforms to C99/C89.
115406         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
115407         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
115409 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115411         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
115412         but fix a bug, by requiring at least 64 bits.
115413         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
115414         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
115415         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
115416         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115418         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
115419         changes.  Make 2.59 a prerequisite.  Check and substitute for
115420         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
115421         inttypes.h.  Do not use special include files; just use the
115422         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
115423         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
115424         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
115425         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
115426         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
115427         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
115428         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
115429         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
115430         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
115431         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
115432         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
115433         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
115434         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
115435         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
115436         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
115437         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
115438         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
115439         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
115440         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
115441         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
115442         WINT_MAX.  Check for C99 conformance more strictly, by detecting
115443         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
115444         not check for things that C99 does not require, e.g., int8_t.  If
115445         a test isn't needed unless <stdint.h> isn't working, and is
115446         unlikely to be needed for any other reason, then don't do it
115447         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
115448         size_t, since we assume C89 freestanding at least.  Do not check
115449         for sig_atomic_t, wchar_t, or wint_t, since the code now does
115450         the right thing even if the types are not defined.  Instead use:
115451         (gl_STDINT_TYPE_PROPERTIES): New macro.
115452         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
115453         testing whether <sys/types.h> clashes, as Autoconf does this for
115454         us now.  All uses removed.
115455         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
115456         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
115457         (gl_CHECK_TYPE_SAME):
115458         Remove; no longer needed.
115459         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
115460         exists, since we'll return 0 anyway in that case.
115461         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
115463 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115465         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
115466         possible collision with system files.
115467         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
115468         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
115469         WCHAR_MIN and WCHAR_MAX in this case.
115470         (<stddef.h>): Do not include; no longer needed.
115471         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
115472         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
115473         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
115474         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
115475         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
115476         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
115477         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
115478         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
115479         !defined(__c99))]: Include in this case too, since it's harmless
115480         now.
115481         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
115482         dangerous to do so.
115483         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
115484         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
115485         (_STDINT_MIN, _STDINT_MAX): New macros.
115486         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
115487         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
115488         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
115489         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
115490         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
115491         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
115492         macros, not typedefs; this simplifies things quite a bit.
115493         Use long int for all types narrower than int64_t.
115494         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
115495         Define in terms of long long int or int64_t or long int,
115496         not int64_t or int32_t.  This saves some compile-time testing.
115497         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
115498         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
115499         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
115500         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
115501         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
115502         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
115503         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
115504         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
115505         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
115506         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
115507         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115508         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115509         undef any previous version and define our own version, for
115510         simplicity and consistency with the new macros for types.
115511         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
115512         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
115513         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
115514         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
115515         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
115516         @WINT_T_SUFFIX@ to keep things simple here.
115517         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
115518         Simplify by assuming typical 8/16/32/64 host, since we're
115519         already doing that elsewhere anyway.
115520         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
115521         and assume long long int is 64 bits if available.  This
115522         speeds up 'configure'.
115524 2006-07-01  Eric Blake  <ebb9@byu.net>
115526         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
115527         Reported by Andreas Buening.
115529 2006-07-01  Eric Blake  <ebb9@byu.net>
115531         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
115533 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115535         * lib/getaddrinfo.c: fixed typo
115537 2006-06-29  Jim Meyering  <jim@meyering.net>
115539         * modules/strftime (Maintainer): Add my name, since with the
115540         FPRINTFTIME changes strftime.c has forked from glibc.
115542 2006-06-29  Eric Blake  <ebb9@byu.net>
115544         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
115546 2006-06-29  Eric Blake  <ebb9@byu.net>
115548         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
115550 2006-06-29  Eric Blake  <ebb9@byu.net>
115552         * lib/stat_.h: New file.
115554 2006-06-29  Eric Blake  <ebb9@byu.net>
115556         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
115557         unused static function.
115559 2006-06-29  Eric Blake  <ebb9@byu.net>
115561         * doc/functions.texi (Function Portability): Document missing lstat
115562         on mingw.
115564 2006-06-29  Eric Blake  <ebb9@byu.net>
115566         * MODULES.html.sh: Add sys_stat.
115567         * modules/sys_stat: New module.
115568         * modules/mkstemp (Depends-on): Add sys_stat.
115570 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115572         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
115574 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115576         * m4/c-bs-a.m4: Removed.
115578 2006-06-29  Derek R. Price  <derek@ximbiot.com>
115580         * lib/strftime.c: Assume strftime() exists.
115582 2006-06-29  Derek Price  <derek@ximbiot.com>
115584         * modules/c-bs-a: Removed - \a is C89.
115585         * MODULES.html.sh: Remove c-bs-a.
115587 2006-06-29  Bruno Haible  <bruno@clisp.org>
115589         * modules/wcwidth (License): Change to LGPL.
115591 2006-06-28  Simon Josefsson  <jas@extundo.com>
115593         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
115594         on _WIN32.
115596         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
115597         getnameinfo.
115599 2006-06-28  Simon Josefsson  <jas@extundo.com>
115601         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
115603 2006-06-28  Simon Josefsson  <jas@extundo.com>
115605         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
115606         functions there.  It will succeed on Windows XP, but on Windows
115607         2000 and (presumably) earlier, it will fail, and use the internal
115608         re-implementation.
115609         (use_win32_p): New function.
115610         (getaddrinfo): Use strtoul on servname, to support numeric ports.
115611         Support AI_NUMERICSERV to disable getservbyname.
115612         (getnameinfo): New function, only supports
115613         NI_NUMERICHOST|NI_NUMERICSERV for now.
115615         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
115616         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
115617         getnameinfo.
115619 2006-06-28  Eric Blake  <ebb9@byu.net>
115621         * modules/wcwidth: New file.
115622         * modules/mbchar (Depends-on): Add wcwidth.
115623         * modules/mbswidth (Depends-on): Add wcwidth.
115624         * MODULES.html.sh: Add wcwidth.
115626 2006-06-28  Eric Blake  <ebb9@byu.net>
115628         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
115629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
115631 2006-06-28  Eric Blake  <ebb9@byu.net>
115633         * lib/xvasprintf.h: Fix comments.
115635 2006-06-28  Eric Blake  <ebb9@byu.net>
115637         * lib/mbchar.h (wcwidth): Include wcwidth.h.
115638         * lib/mbswidth.c (wcwidth): Move from here...
115639         * lib/wcwidth.h: ...to this new file.
115641 2006-06-28  Derek R. Price  <derek@ximbiot.com>
115643         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
115645         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
115646         it's obsolete.
115647         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
115649 2006-06-28  Derek R. Price  <derek@ximbiot.com>
115651         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
115652         Autoconf 2.60 says this stuff was obsolete.
115654 2006-06-28  Bruno Haible  <bruno@clisp.org>
115656         * modules/wcwidth (Files): Add m4/wchar_t.m4.
115658 2006-06-28  Bruno Haible  <bruno@clisp.org>
115660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
115661         gt_TYPE_WCHAR_T.
115663 2006-06-28  Bruno Haible  <bruno@clisp.org>
115665         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
115666         declaration for wcwidth.
115667         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
115669 2006-06-28  Bruno Haible  <bruno@clisp.org>
115671         * lib/mkdtemp.c [MINGW]: Include <io.h>.
115672         (mkdir): Define using _mkdir.
115674 2006-06-28  Bruno Haible  <bruno@clisp.org>
115676         * lib/getaddrinfo.h: Fix POSIX URL.
115677         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
115678         _WIN32.
115679         (use_win32_p): Make static.
115680         (getaddrinfo): Reject service name if it is empty or does not consist
115681         solely of decimal digits, or if its value is > 65535.
115682         (getnameinfo): Remove useless casts.
115684 2006-06-27  Simon Josefsson  <jas@extundo.com>
115686         * modules/sys_select: New file, suggested by Bruno Haible, Paul
115687         Eggert and Martin Lambers.
115689 2006-06-27  Simon Josefsson  <jas@extundo.com>
115691         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
115692         Eggert and Martin Lambers.
115694 2006-06-27  Bruno Haible  <bruno@clisp.org>
115696         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
115697         result to 0, not to empty.
115698         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
115700 2006-06-27  Bruno Haible  <bruno@clisp.org>
115702         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
115704 2006-06-26  Simon Josefsson  <jas@extundo.com>
115706         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
115707         present.
115709 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
115711         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
115712         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
115713         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
115715 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
115717         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
115719 2006-06-26  Bruno Haible  <bruno@clisp.org>
115721         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
115723 2006-06-26  Bruno Haible  <bruno@clisp.org>
115725         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
115727 2006-06-26  Bruno Haible  <bruno@clisp.org>
115729         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
115730         SGI C compiler in pre-C99 mode.
115731         Suggested by Mark D. Baushke and Larry Jones.
115733 2006-06-26  Bruno Haible  <bruno@clisp.org>
115735         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
115736         WCHAR_MAX.
115737         Reported by Mark D. Baushke and Larry Jones.
115739 2006-06-26  Bruno Haible  <bruno@clisp.org>
115741         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
115742         in pre-C99 mode.
115743         Suggested by Mark D. Baushke and Larry Jones.
115745 2006-06-23  Simon Josefsson  <jas@extundo.com>
115746             Bruno Haible  <bruno@clisp.org>
115748         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
115749         Emit mostlyclean-local rule.
115750         (func_emit_tests_Makefile_am): Likewise.
115751         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
115753 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
115755         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
115757 2006-06-23  Bruno Haible  <bruno@clisp.org>
115759         * tests/test-stdint.c: Update to match ISO C 99 Technical
115760         Corrigendum 1.
115762 2006-06-23  Bruno Haible  <bruno@clisp.org>
115764         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
115766 2006-06-23  Bruno Haible  <bruno@clisp.org>
115768         * lib/stdint_.h: Treat IRIX like OpenBSD.
115770 2006-06-23  Bruno Haible  <bruno@clisp.org>
115772         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
115773         ISO C 99 Technical Corrigendum 1.
115775 2006-06-22  Simon Josefsson  <jas@extundo.com>
115777         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
115778         MinGW.
115780 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115782         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
115783         needed.  Some compiler complained about some of them.  Problem reported
115784         by Larry Jones in
115785         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
115787 2006-06-21  Simon Josefsson  <jas@extundo.com>
115789         * tests/test-getaddrinfo.c: New file.
115791         * modules/getaddrinfo-tests: New file.
115793         * MODULES.html.sh: Add inet_pton.
115795         * modules/inet_pton: New file.
115797 2006-06-21  Simon Josefsson  <jas@extundo.com>
115799         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
115800         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
115801         of using the (limited) gnulib implementation on Windows XP.
115803         * m4/inet_pton.m4: New file.
115805 2006-06-21  Simon Josefsson  <jas@extundo.com>
115807         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
115808         variable.
115810         * lib/socket_.h: Don't define WINVER.
115812         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
115813         slightly modified to work in gnulib.
115815 2006-06-21  Simon Josefsson  <jas@extundo.com>
115817         * doc/gnulib.texi (Windows sockets): Add.
115819 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
115821         * lib/read-file.c (fread_file): Start with buffer allocation of
115822         0 bytes rather than 1 byte; this simplifies the code.
115823         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
115824         code to free buffer and save/restore errno.
115825         (internal_read_file): Remove unused local.
115827 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
115829         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
115830         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
115831         Problem reported by Denis Excoffier in
115832         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
115834 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115836         * modules/sys_socket, modules/socklen: Include sys/types since
115837         FreeBSD 4.x's sys/socket.h needs it.
115839 2006-06-19  Simon Josefsson  <jas@extundo.com>
115841         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
115843 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
115845         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
115847 2006-06-19  Bruno Haible  <bruno@clisp.org>
115849         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
115850         and FULL_PATH_INTTYPES_H in angle brackets.
115851         Reported by Mark D. Baushke <mdb@gnu.org>.
115853 2006-06-17  Eric Blake  <ebb9@byu.net>
115855         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
115856         errno.
115858 2006-06-17  Bruno Haible  <bruno@clisp.org>
115860         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
115861         <sys/inttypes.h>.
115863 2006-06-17  Bruno Haible  <bruno@clisp.org>
115865         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
115866         whether errno is declared. Assume <errno.h> declares errno.
115868 2006-06-17  Bruno Haible  <bruno@clisp.org>
115870         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
115872 2006-06-17  Bruno Haible  <bruno@clisp.org>
115874         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
115875         problem on Solaris 2.5.1.
115877 2006-06-16  Eric Blake  <ebb9@byu.net>
115879         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
115880         * lib/unicodeio.c [!defined errno]: Likewise.
115881         * lib/strtol.c [!defined errno]: Likewise.
115882         * lib/strtod.c [!defined errno]: Likewise.
115884 2006-06-15  Eric Blake  <ebb9@byu.net>
115886         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
115888 2006-06-15  Eric Blake  <ebb9@byu.net>
115890         * config/srclist.txt (ssize_t.m4): Lose sync.
115892 2006-06-15  Bruno Haible  <bruno@clisp.org>
115894         * modules/stdint (Files): Include m4/full-header-path.m4,
115895         m4/size_max.m4, m4/wchar_t.m4.
115896         (Makefile.am): Many more substitutions.
115897         * modules/stdint-tests: New file.
115898         * tests/test-stdint.c: New file.
115900 2006-06-15  Bruno Haible  <bruno@clisp.org>
115902         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
115903         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
115904         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
115905         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
115906         gl_CHECK_TYPE_SAME): New macros.
115908 2006-06-15  Bruno Haible  <bruno@clisp.org>
115910         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
115912 2006-06-15  Bruno Haible  <bruno@clisp.org>
115914         * lib/stdint_.h: Rewritten to be fully auto-configured.
115915         Fixes bug on HP-UX/IA64.
115917 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
115919         * lib/getdate.y (__attribute__): Don't define if already defined.
115920         Problem reported by Larry Jones.
115921         * lib/utimens.c (__attribute__): Likewise.
115923 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
115925         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
115926         reported by Andreas Schwab.
115928 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115929             Bruno Haible  <bruno@clisp.org>
115931         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
115932         check for the declaration of strnlen and a run test that exposes the
115933         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
115934         rpl_strndup.
115936 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115937             Bruno Haible  <bruno@clisp.org>
115939         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
115941 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115943         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
115944         compile test, for Tru64 4.0D.
115946 2006-05-28  Karl Berry  <karl@gnu.org>
115948         * config/srclist.txt (printf-args.c): lose sync.
115950 2006-05-26  Martin Lambers  <marlam@marlam.de>
115952         * lib/getpass.c: Updates the test for the native W32 API, and adds
115953         missing includes, thus fixing compilation warnings.
115955 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
115957         * lib/exclude.c (exclude_fnmatch): New function.
115958         (excluded_file_name): Call exclude_fnmatch.
115959         * lib/exclude.h (excluded_file_name): New prototype
115961 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
115963         * lib/tempname.c (small_open, large_open): New macros.
115964         (__open, __open64) [!_LIBC]: Remove.
115965         (__gen_tempname): Use small_open and large_open instead of __open
115966         and __open64.  This fixes a portability bug on HP-UX 11.11i
115967         reported by Simon Wing-Tang in
115968         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
115970 2006-05-24  Bruno Haible  <bruno@clisp.org>
115972         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
115973         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
115974         Reported by Thorsten Maerz <torte@netztorte.de> via
115975         Aaron Stone <aaron@serendipity.cx>.
115977 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
115979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
115980         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
115981         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
115982         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
115983         not really conditional on the cache.
115984         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
115986 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
115988         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
115989         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
115990         (my_usleep): Don't mishandle maximum value.
115992 2006-05-19  Jim Meyering  <jim@meyering.net>
115994         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
115996 2006-05-17  Bruno Haible  <bruno@clisp.org>
115998         Cygwin portability.
115999         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
116001 2006-05-17  Bruno Haible  <bruno@clisp.org>
116003         * lib/stdint_.h: Fix recognition of Cygwin.
116005 2006-05-15  Bruno Haible  <bruno@clisp.org>
116007         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
116008         on libtool patch by Ralf Wildenhues.
116010 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
116012         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
116013         test for C99 conformance; (bool) 0.5 is an integer constant
116014         expression, but (bool) -0.5 is not.  Problem reported by Fedor
116015         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
116017 2006-05-11  Simon Josefsson  <jas@extundo.com>
116019         * m4/xvasprintf.m4: Fix obvious typo.
116021 2006-05-11  Jim Meyering  <jim@meyering.net>
116023         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
116024         James Lemley.
116026 2006-05-10  Simon Josefsson  <jas@extundo.com>
116028         * lib/md4.c: Typo fix, update copyright years.
116029         (K1, K2): Don't use L because it turn computations into 64-bit on
116030         64-bit platforms.
116032 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
116034         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
116035         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
116036         unwanted sign propagation, e.g., on hosts with 64-bit int.
116037         There still are some problems with reeelly weird theoretical hosts
116038         (e.g., 33-bit int) but it's not worth worrying about now.
116039         * lib/sha1.c (rol): Likewise.
116040         (K1, K2, K3, K4): Remove unnecessary L suffix.
116042 2006-05-10  Bruno Haible  <bruno@clisp.org>
116044         * lib/des.c: Cast to avoid warnings.
116046 2006-05-09  Bruno Haible  <bruno@clisp.org>
116048         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
116049         (Depends-on): Depend also on xsize, stdarg.
116050         (configure.ac): Add gl_XVASPRINTF.
116052 2006-05-09  Bruno Haible  <bruno@clisp.org>
116054         * m4/xvasprintf.m4: New file.
116056 2006-05-09  Bruno Haible  <bruno@clisp.org>
116058         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
116059         (EOVERFLOW): Define fallback value.
116060         (xstrcat): New function.
116061         (xvasprintf): Recognize the special case of a string concatenation.
116063 2006-05-08  Eric Blake  <ebb9@byu.net>
116065         * gnulib-tool (func_version): Base copyright year on CVS date.
116066         (func_emit_copyright_notice): New function.
116067         (func_emit_lib_Makefile_am): Use it.
116068         (func_emit_tests_Makefile_am): Likewise.
116069         (func_import): Likewise.
116071 2006-05-08  Bruno Haible  <bruno@clisp.org>
116073         * modules/stdarg: New file.
116074         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
116076 2006-05-08  Bruno Haible  <bruno@clisp.org>
116078         * m4/stdarg.m4: New file, from GNU gettext.
116080 2006-05-08  Bruno Haible  <bruno@clisp.org>
116082         * config/srclist.txt (build-aux/config.rpath): different from latest
116083         release.
116085 2006-05-08  Bruno Haible  <bruno@clisp.org>
116087         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
116089 2006-05-05  Jim Meyering  <jim@meyering.net>
116091         * m4/warning.m4: New file, derived from bison's file by the same name.
116093 2006-05-03  Bruno Haible  <bruno@clisp.org>
116095         * lib/stdint_.h: Shorter URL.
116096         * lib/inttypes.h: Likewise.
116098 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116100         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
116102 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116104         * lib/verify.h: Document the internals better.  Most of this change
116105         was written by Bruno Haible.
116107 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116109         * doc/verify.texi: New file, partly based on a proposal by
116110         Bruno Haible.
116112 2006-05-02  Bruno Haible  <bruno@clisp.org>
116114         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
116115         test from here...
116116         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
116118 2006-04-29  Bruno Haible  <bruno@clisp.org>
116120         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
116121         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
116123 2006-04-29  Bruno Haible  <bruno@clisp.org>
116125         * gnulib-tool: Make --update option actually work.
116127 2006-04-29  Bruno Haible  <bruno@clisp.org>
116129         * doc/gcd.texi: New file.
116130         * doc/gnulib.texi: Include it.
116132 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
116134         * lib/getdate.y (get_date): When adding relative date, start with the
116135         initial time, not with the result of the first mktime call.
116137 2006-04-25  Bruno Haible  <bruno@clisp.org>
116139         * gnulib-tool (func_import): Output the include directives in three
116140         blocks, sorted separately.
116141         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116143 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116145         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
116146         to define main with arguments, for C++.  Reported by Eric Blake.
116147         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
116148         Prefer 'int main ()' to 'int main (void)', for C++.
116149         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
116150         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
116151         for 'main', for C99 and C++.
116153 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116155         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
116156         Don't assume that exit status -1 is valid.
116157         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116158         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
116159         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
116160         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
116161         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
116162         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
116163         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
116164         functions can be used without declaring them, or that you can
116165         exit with status -1.
116166         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
116168 2006-04-24  Karl Berry  <karl@gnu.org>
116170         * config/srclist.txt (longdouble.m4): sync lost.
116172 2006-04-24  Eric Blake  <ebb9@byu.net>
116174         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
116176 2006-04-24  Bruno Haible  <bruno@clisp.org>
116178         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
116179         poll() implementation in AIX.
116180         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116182 2006-04-24  Bruno Haible  <bruno@clisp.org>
116184         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
116185         assigned exactly once.
116187 2006-04-23  Claudio Fontana  <claudio@gnu.org>
116188             Bruno Haible  <bruno@clisp.org>
116190         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
116191         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
116192         for AM_CPPFLAGS.
116194 2006-04-23  Bruno Haible  <bruno@clisp.org>
116196         * modules/copy-file: Depend on unistd.
116197         * modules/execute: Likewise.
116198         * modules/fatal-signal: Likewise.
116199         * modules/findprog: Likewise.
116200         * modules/mkdtemp : Likewise.
116201         * modules/pipe: Likewise.
116202         * modules/wait-process: Likewise.
116204 2006-04-23  Bruno Haible  <bruno@clisp.org>
116206         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
116207         condition was already detected.
116208         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116210 2006-04-23  Bruno Haible  <bruno@clisp.org>
116212         * lib/copy-file.c: Include <unistd.h> unconditionally.
116213         * lib/execute.c: Likewise.
116214         * lib/fatal-signal.c: Likewise.
116215         * lib/findprog.c: Likewise.
116216         * lib/mkdtemp.c: Likewise.
116217         * lib/pipe.h: Likewise.
116218         * lib/pipe.c: Likewise.
116219         * lib/wait-process.h: Likewise.
116221 2006-04-23  Bruno Haible  <bruno@clisp.org>
116223         * gnulib-tool (func_usage): Fix --import description. Document
116224         --update.
116225         (func_import): Create temporary file in a temporary directory, if
116226         --dry-run is specified. Silence errors from 'grep' when there are no
116227         m4 files in $m4dir.
116228         (func_create_testdir): Silence errors from 'grep' when there are no
116229         m4 files in $m4dir.
116230         Reported by Karl Berry <karl@freefriends.org>.
116232 2006-04-20  Bruno Haible  <bruno@clisp.org>
116234         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
116235         one argument, so that the code will be portable to Autoconf 2.60.
116236         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
116237         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116238         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
116240 2006-04-19  Derek Price  <derek@ximbiot.com>
116241             Eric Blake  <ebb9@byu.net>
116243         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
116244         rather than "/full/path.h".  Update comment to match.  Shorten &
116245         generalize m4_translit call via AS_TR_CPP.
116247 2006-04-19  Derek Price  <derek@ximbiot.com>
116248             Eric Blake  <ebb9@byu.net>
116250         * lib/inttypes.h: Correct grammar in comment.
116252 2006-04-18  Derek Price  <derek@ximbiot.com>
116253             Paul Eggert  <eggert@cs.ucla.edu>
116255         * modules/inttypes: New file.
116256         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
116258 2006-04-18  Derek Price  <derek@ximbiot.com>
116259             Paul Eggert  <eggert@cs.ucla.edu>
116261         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
116262         New files.
116264 2006-04-18  Derek Price  <derek@ximbiot.com>
116265             Paul Eggert  <eggert@cs.ucla.edu>
116267         * lib/inttypes.h: New file.
116268         * lib/strtoimax.c: Assume <inttypes.h>.
116270 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
116272         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
116273         isn't mounted.  Problem reported by Kir Kolyshkin.
116275 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
116277         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
116278         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
116279         Derek R. Price.
116280         * lib/regex.h (RE_DUP_MAX): Update comment to match current
116281         implementation.
116283 2006-04-12  Eric Blake  <ebb9@byu.net>
116285         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
116286         is now done automatically by the corresponding Autoconf macro.
116288 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
116290         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
116291         time_r.h.
116293 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116295         Merge regex changes from libc, removing some of our
116296         POSIX-conformance changes that were rejected and redoing them in a
116297         less-intrusive way.
116299         * lib/regcomp.c (re_compile_internal, init_dfa):
116300         Length arg is now size_t, not Idx.  All uses changed.
116301         (peek_token): Forward decl now says internal_function.
116302         (__re_error_msgid, __re_error_msgid_idx):
116303         Now static rather than extern with attribute_hidden.
116304         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
116305         For some reason libc prefers K&R style defns for external functions.
116306         (regerror) [!defined _LIBC]: Likewise.
116307         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
116308         (seek_collating_symbol_entry, lookup_collation_sequence_value):
116309         (build_range_exp, build_collating_symbol):
116310         Use K&R-style defn.
116311         (re_compile_fastmap): Use '\0' to memset, not 0.
116312         (utf8_sb_map): Make the calculations more obvious.
116313         (init_dfa, parse_bracket_exp, build_charclass_op):
116314         Call calloc and cast result, as glibc does.
116315         (init_word_char, fetch_token, peek_token, peek_token_bracket):
116316         (build_range_exp, build_collating_symbol):
116317         Now internal functions.
116319         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
116321         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
116322         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
116323         Don't depend on VMS; depend on __VMS instead, for POSIX
116324         namespace cleanness.
116325         (regoff_t): Define to ssize_t, not long int.
116327         Remove the REG_ macros named below.  Instead, make the old names
116328         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
116329         __USE_GNU_REGEX.
116330         (REG_BACKSLASH_ESCAPE_IN_LISTS):
116331         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
116332         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
116333         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
116334         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
116335         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
116336         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
116337         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
116338         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
116339         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
116340         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
116341         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
116342         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
116343         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
116344         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
116345         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
116346         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
116347         (REG_NREGS):
116348         Remove.  All uses replaced by the old RE_* names.
116349         (RE_BACKSLASH_ESCAPE_IN_LISTS):
116350         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
116351         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
116352         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
116353         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
116354         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
116355         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
116356         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
116357         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
116358         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
116359         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
116360         Don't bother having these macros be independent of each others'
116361         values, since they no longer exist in the POSIX name space.
116363         Rename the following member names back to their old names,
116364         unless !__USE_GNU_REGEX.  All uses changed back.
116365         (buffer): Renamed from re_buffer.
116366         (allocated): Renamed from re_allocated.
116367         (used): Renamed from re_used.
116368         (syntax): Renamed from re_syntax.
116369         (fastmap): Renamed from re_fastmap.
116370         (translate): Renamed from re_translate.
116371         (can_be_null): Renamed from re_can_be_null.
116372         (regs_allocated): Renamed from re_regs_allocated.
116373         (fastmap_accurate): Renamed from re_fastmap_accurate.
116374         (no_sub): Renamed from re_no_sub.
116375         (not_bol): Renamed from re_not_bol.
116376         (not_eol): Renamed from re_not_eol.
116377         (newline_anchor): Renamed from re_newline_anchor.
116378         (num_regs): Renamed from rm_num_regs.
116379         (start): Renamed from rm_start.
116380         (end): Renamed from rm_end.
116382         (free_state): Move up a bit.
116384         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
116385         #define to be empty.
116386         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
116387         when that is what is intended.
116388         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
116389         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
116390         (MAX): New macro.
116391         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
116392         All uses changed back to re_malloc, etc.  It's now the caller's
116393         responsibility to check for overflow; all callers changed.
116394         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
116395         (re_x2nrealloc): Remove.
116396         (free_state): Remove decl.
116398         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
116399         (re_set_registers, re_exec):
116400         Use K&R-style defn.
116402         2006-01-31  Roland McGrath  <roland@redhat.com>
116404         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
116405         Reported by Mike Frysinger <vapier@gentoo.org>.
116407         2006-01-15  Andreas Jaeger  <aj@suse.de>
116409         [BZ #1950]
116410         * lib/regex_internal.c (re_string_reconstruct): Adjust for
116411         build_wcs_upper_buffer change.
116412         (build_wcs_upper_buffer): Change return type.
116414         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
116416         * lib/regex_internal.h: Include <stdint.h> if available.
116418         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
116420         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
116422         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
116424         * lib/regcomp.c: Adjust for changed secondary hash function.
116426         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
116428         * lib/regex.h: Pretty printing.
116429         Clean up namespace a bit.
116431         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
116433         * lib/regexec.c (update_cur_sifted_state, check_arrival,
116434         check_arrival_add_next_nodes): Avoid using uninitialized variable.
116436         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
116437                     Ulrich Drepper  <drepper@redhat.com>
116439         [BZ #1302]
116440         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
116441         changed.
116442         (bitset_word_t): Renamed from bitset_word.  All uses changed.
116444         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
116446         [BZ #281]
116447         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
116448         * lib/regcomp.c: Remove unnecessary uses of
116449         unsigned RE_TRANSLATE_TYPE.
116450         * lib/regex_internal.h: Likewise.
116451         * lib/regex_internal.c: Likewise.
116452         * lib/regexec.c: Likewise.
116453         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
116455         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
116457         * lib/regexec.c (find_recover_state): Remove unnecessary
116458         initialization.
116459         (transit_state_bkref): Make DFA a const pointer.
116460         (get_subexp): Likewise.
116461         (check_arrival): Likewise.
116462         (update_cur_sifted_state): Likewise.
116463         (re_search_internal): Likewise.
116464         (prune_impossible_nodes): Likewise.
116465         (acquire_init_state_context): Likewise.
116466         (proceed_next_node): Likewise.
116467         (set_regs): Likewise.
116468         (free_fail_stack_return): Likewise.
116469         (check_arrival_expand_ecl): Mark DFA parameter as const.
116470         (check_arrival_expand_ecl_sub): Likewise.
116471         (check_subexp_limits): Likewise.
116472         (sub_epsilon_src_nodes):  Likewise.
116473         (add_epsilon_src_nodes):  Likewise.
116474         (merge_state_array): Likewise.
116475         (update_regs): Likewise.
116476         (build_trtable): Likewise.
116477         (sift_states_backward): Mark MCTX parameter as const.
116478         (build_sifted_states): Likewise.
116479         (update_cur_sifted_state): Likewise.
116480         (sift_states_mkref): Likewise.
116481         (check_arrival_expand_ecl): Mark eclosure as const.
116482         (check_dst_limits_calc_pos_1): Likewise.
116483         * lib/regex_internal.h (re_match_context_t): Make dfa a const
116484         pointer.
116486         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
116488         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
116489         (transit_state_sb): Likewise.
116490         (transit_state_mb): Likewise.
116491         (sift_states_iter_mb): Likewise.
116492         (check_arrival_add_next_nodes): Likewise.
116493         (check_node_accept_bytes): Change first parameter to pointer-to-const.
116494         [_LIBC] (re_search_2_stub): Use mempcpy.
116496         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
116497         mbrtowc for very simple UTF-8 case.
116499         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
116500         a pointer-to-const.
116501         (re_acquire_state_context): Likewise.
116502         * lib/regex_internal.h: Adjust prototypes.
116504         * lib/regex.c: Prevent using C++ compilers.
116506         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
116507         (re_acquire_state_context): Likewise.
116509 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116511         * modules/regex (Depends-on): Add ssize_t.
116513 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116515         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
116516         translation table.
116518 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116520         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
116522 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
116523             Bruno Haible  <bruno@clisp.org>
116525         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
116526         <sys/types.h> and <inttypes.h>.
116528 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116530         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
116531         `__error_t_defined', so argp.h will not typedef the former.
116533 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
116535         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
116536         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
116537         glibc names.  Even if glibc is changed to conform to POSIX, the
116538         traditional names will be available anyway, since regex depends on
116539         the extensions module.  Also, fix a longstanding typo in the
116540         implementation of Spencer ERE test #75 from grep 2.3.  Problems
116541         reported by Emanuele Giaquinta.  Also, change sense of cached
116542         variable, so that the message makes sense.
116544 2006-03-24  Simon Josefsson  <jas@extundo.com>
116546         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
116547         including some doc fixes.
116548         (base64_encode_alloc): Fix +1 bug on allocation failures.
116550 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116552         * lib/base64.c (base64_encode): Do not read past end of array with
116553         unsanitized input on systems with CHAR_BIT > 8.
116555 2006-03-24  Eric Blake  <ebb9@byu.net>
116557         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
116559 2006-03-22  Karl Berry  <karl@gnu.org>
116561         * config/srclist.txt (*setenv.[ch]): get from coreutils.
116562         * config/srclistvars.sh (COREUTILS): new var.
116564 2006-03-17  Jim Meyering  <jim@meyering.net>
116566         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
116567         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
116569 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
116571         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
116572         no longer needs it.  Instead, check that regoff_t is as least
116573         as wide as ptrdiff_t.
116575         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
116576         so that our regex.h stays compatible with the installed regex.
116577         This is helpful for installers who configure --without-included-regex.
116578         Problem reported by Emanuele Giaquinta.
116580 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
116582         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
116583         Typedef to long int, not to off_, as POSIX will likely change
116584         in that direction.
116586 2006-03-15  Eric Blake  <ebb9@byu.net>
116588         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
116590 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
116592         * lib/argp-help.c (validate_uparams): Fix typo
116593         * lib/argp-parse.c (argp_default_options): Consistently begin help
116594         messages with a lowercase letter.
116596 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
116598         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
116599         overrun buffers and shouldn't be used (much as gets shouldn't be
116600         used).
116601         * lib/time_r.c (asctime_r, ctime_r): Likewise.
116603 2006-03-08  Simon Josefsson  <jas@extundo.com>
116605         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
116606         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116608 2006-03-08  Simon Josefsson  <jas@extundo.com>
116610         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
116611         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116613 2006-03-08  Simon Josefsson  <jas@extundo.com>
116615         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
116616         signal that configure disabled the device.
116618 2006-03-08  Simon Josefsson  <jas@extundo.com>
116620         * build-aux/maint.mk: Fix refresh-po, to handle no translated
116621         languages.
116623 2006-03-07  Simon Josefsson  <jas@extundo.com>
116625         * modules/getopt (Depends-on): Add unistd.
116627         * modules/unistd: New file.
116629 2006-03-07  Simon Josefsson  <jas@extundo.com>
116631         * modules/gc-random: New file.
116633 2006-03-07  Simon Josefsson  <jas@extundo.com>
116635         * m4/unistd_h.m4: New file.
116637 2006-03-07  Simon Josefsson  <jas@extundo.com>
116639         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
116640         test to be side-effect free by storing the result in the cache
116641         variable gl_cv_lib_readline, and moving the assignment of
116642         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
116643         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116645 2006-03-07  Simon Josefsson  <jas@extundo.com>
116647         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
116648         error on missing devices (the functions will return an error).
116650         * m4/gc.m4: Move random stuff to gc-random.m4
116652 2006-03-07  Simon Josefsson  <jas@extundo.com>
116654         * lib/unistd_.h: New file.
116656 2006-03-07  Simon Josefsson  <jas@extundo.com>
116658         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
116660 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116662         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
116663         Problem reported by Juan Manuel Guerrero.
116665 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116667         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
116668         the unistd module.
116669         * lib/getlogin_r.c: Likewise.
116670         * lib/getlogin_r.h: Likewise.
116671         * lib/glob.c: Likewise.
116672         * lib/pagealign_alloc.c: Likewise.
116673         * lib/unistd_.h: Remove; no longer needed.
116675 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
116677         * MODULES.html.sh (Support for systems lacking POSIX:2001):
116678         Add unistd.
116679         * modules/c-stack (Depends-on): Add unistd.
116680         * modules/getlogin_r: Likewise.
116681         * modules/glob: Likewise.
116682         * modules/pagealign_alloc: Likewise.
116683         * modules/unistd (Files): Remove lib/unistd_.h.
116684         (EXTRA_DIST): Remove.
116685         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
116686         need unistd_.h.
116687         (MOSTLYCLEANFILES): Remove unistd.h-t.
116689 2006-03-03  Simon Josefsson  <jas@extundo.com>
116691         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
116693 2006-03-03  Simon Josefsson  <jas@extundo.com>
116695         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
116696         libidn and bison.
116698 2006-03-03  Simon Josefsson  <jas@extundo.com>
116700         * build-aux/maint.mk: Add indent target.
116702 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
116704         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
116705         our replacement poll.h in any case, to avoid a differing
116706         declaration from a system header.  Seen on AIX.
116708 2006-03-01  Simon Josefsson  <jas@extundo.com>
116710         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
116711         <kasal@ucw.cz>.
116713 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116715         * modules/gettime (Depends-on): Add extensions module.
116716         * modules/nanosleep (Depends-on): Likewise.
116717         * modules/settime (Depends-on): Likewise.
116719 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116721         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
116722         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
116723         pedantically.
116724         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116725         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
116727         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
116728         not "==".  Reported by Ralf Wildenhues.
116730 2006-03-01  Karl Berry  <karl@gnu.org>
116732         * doc/Copyright/request-*: new files, synced from gnuorg.
116734 2006-03-01  Karl Berry  <karl@gnu.org>
116736         * config/srclist.txt (Copyright/*): new entries.
116738 2006-02-28  Simon Josefsson  <jas@extundo.com>
116740         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
116742 2006-02-27  Simon Josefsson  <jas@extundo.com>
116744         * lib/base64.h: Indent #define's.  From Jim Meyering
116745         <jim@meyering.net>.
116747 2006-02-27  Jim Meyering  <jim@meyering.net>
116749         Revert the change of 2006-02-24, so these files can continue
116750         to be sync'd from gettext.
116751         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
116752         of `config.h'.
116754 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
116756         * modules/intprops: New file.
116757         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
116758         Add intprops.
116759         * modules/getloadavg (Files): Remove lib/intprops.h.
116760         (Depends-on): Add intprops.
116761         * modules/human: Likewise.
116762         * modules/inttostr: Likewise.
116763         * modules/openat: Likewise.
116764         * modules/sig2str: Likewise.
116765         * modules/userspec: Likewise.
116766         * modules/utimecmp: Likewise.
116767         * modules/xnanosleep: Likewise.
116768         * modules/xstrtol: Likewise.
116770 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
116772         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
116773         * modules/lock-tests (TESTS): Use $(EXEEXT).
116774         * modules/tls-tests: Likewise.
116775         * modules/argp-tests: Likewise.
116776         (check_PROGRAMS): New var, replacing...
116777         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
116779 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116781         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
116782         `config.h'.
116784 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
116786         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
116788 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116790         Sync from coreutils.
116791         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
116792         gl_CHDIR_SAFER.
116794 2006-02-22  Jim Meyering  <jim@meyering.net>
116796         Sync from coreutils.
116797         * m4/chdir-safer.m4: New file.
116799 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
116801         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
116802         AT_FDCWD exceeds INT_MAX.
116803         * lib/openat.h (AT_FDCWD): Likewise.
116805 2006-02-17  Eric Blake  <address@hidden>
116807         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
116809 2006-02-16  Simon Josefsson  <jas@extundo.com>
116811         * modules/getaddrinfo (Depends-on): Add sys_socket.
116813 2006-02-15  Simon Josefsson  <jas@extundo.com>
116815         * build-aux/maint.mk: Add dsyntax-check rule.
116817 2006-02-15  Eric Blake  <ebb9@byu.net>
116819         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
116820         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
116821         'present but cannot compile' warnings on cygwin.
116822         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
116823         use ws2tcpip.h if sys/socket.h works.
116824         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
116825         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
116827 2006-02-14  Simon Josefsson  <jas@extundo.com>
116829         * modules/maintainer-makefile (Files): Rename.
116831         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
116832         and (the local) Makefile.cfg to maint-cfg.mk.
116834         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
116835         to the latter.
116837         * modules/maintainer-makefile: New module.
116839         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
116840         severaly stripped to make it possible to build it up from scratch
116841         with reliable tests.
116843         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
116844         fixes to permit overriding the default actions when configure and
116845         makefile are not available.
116847 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
116849         Sync from coreutils.
116850         * modules/lstat (Depends-on): Don't depend on xalloc.
116851         (License): Change from GPL to LGPL, since this is now simply a
116852         replacement for a libc function.
116854 2006-02-14  Jim Meyering  <jim@meyering.net>
116856         Sync from coreutils.
116858         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
116859         failure on deficient systems, and simplify gnulib lgpl dependencies.
116860         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
116861         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
116863         * lib/xalloc-die.c: Remove unused definition of N_.
116865 2006-02-14  Jim Meyering  <jim@meyering.net>
116867         Sync from coreutils.
116868         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
116869         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
116870         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
116871         double-quote uses of that variable, to accommodate the rare case in
116872         which getmntent is available in none of the libraries checked.  This
116873         happens at least on FreeBSD 5.0.
116875 2006-02-13  Simon Josefsson  <jas@extundo.com>
116877         * gnulib-tool (Usage): Fix --import, from
116878         karl@freefriends.org (Karl Berry).
116880 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
116882         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
116884 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
116886         * lib/argp-namefrob.h: Restore changes accidentally lost during the
116887         "autoupdate" on 2005-12-12.
116889 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116891         * modules/closeout (Depends-on): Remove atexit.
116893 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
116895         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
116896         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
116898 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
116900         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
116901         __EXTENSIONS__ if this causes compilation to fail.  Problem
116902         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
116903         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
116905 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
116907         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
116908         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
116909         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
116910         All uses changed.
116912 2006-01-26  Simon Josefsson  <jas@extundo.com>
116914         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
116915         prototype is visible on mingw32.
116917         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
116918         for mingw32.
116920         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
116921         mingw32).
116923 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
116925         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
116926         attempt to open for write; this always fails, at least on POSIX
116927         hosts.  This reinstates the 2006-01-09 change, which was
116928         inadvertently removed.
116930 2006-01-26  Bruno Haible  <bruno@clisp.org>
116932         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
116933         Reported by Paul Eggert.
116935 2006-01-26  Bruno Haible  <bruno@clisp.org>
116936             Paul Eggert  <eggert@cs.ucla.edu>
116938         * lib/stdbool_.h (_Bool)
116939         [(! (defined __cplusplus || defined __BEOS__)
116940           && !defined __GNUC__
116941           && !(defined __HP_cc || defined __xlc__
116942                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
116943                || defined __sgi))]:
116944         #define to signed char in these cases too; this simplifies
116945         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
116946         etc., separately) and makes it more conservative.
116948 2006-01-25  Simon Josefsson  <jas@extundo.com>
116950         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
116951         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
116952         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
116954 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116956         * lib/argp-namefrob.h: Bugfix. Remove stray #
116958 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
116960         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
116961         so that we test the test.
116962         Check for yet another HP-UX cc bug involving *bool |= bool.
116964 2006-01-25  Karl Berry  <karl@gnu.org>
116966         * config/srclist.txt (vasnprintf.c): sync lost.
116968 2006-01-25  Jim Meyering  <jim@meyering.net>
116970         Sync from the stable (b5) branch of coreutils:
116972         * lib/fts.c (fts_children): Don't let close() clobber errno from
116973         failed fchdir().
116975         * lib/fts.c (fts_stat): When following a symlink-to-directory,
116976         don't necessarily interpret stat-fails+lstat-succeeds as indicating
116977         a dangling symlink.  That can also happen at least for ELOOP.
116978         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
116979         FYI, this bug predates the inclusion of fts.c in coreutils.
116981         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
116982         in their own block, so pre-c99 compilers don't object.
116984         Avoid the double-free (first in fts_read, second in fts_close) that
116985         would occur when an `active' directory is made inaccessible (e.g.,
116986         via chmod a-x) during a traversal.
116987         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
116988         before returning.  Reproduce this failure by
116989         mkdir -p a/b; cd a; chmod a-x . b
116990         Reported by Stavros Passas.
116992 2006-01-25  Jim Meyering  <jim@meyering.net>
116994         * lib/fileblocks.c: Remove more useless parentheses.
116995         * lib/readutmp.h: Likewise.
116997 2006-01-25  Bruno Haible  <bruno@clisp.org>
116999         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
117000         warnings.
117001         Reported by Paul Eggert.
117003 2006-01-25  Bruno Haible  <bruno@clisp.org>
117005         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
117006         rid of a trap command. For Solaris sh.
117007         Reported by Mark D. Baushke <mdb@gnu.org>.
117009 2006-01-24  Simon Josefsson  <jas@extundo.com>
117011         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
117012         Bruno.
117014 2006-01-24  Karl Berry  <karl@gnu.org>
117016         * config/srclist.txt (argp-namefrob.h): sync lost.
117018 2006-01-24  Jim Meyering  <jim@meyering.net>
117020         * modules/openat (Files): Add lib/intprops.h.
117021         From Mark D. Baushke.
117023 2006-01-24  Jim Meyering  <jim@meyering.net>
117025         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
117026         Reported by Mark D. Baushke.
117028 2006-01-24  Jim Meyering  <jim@meyering.net>
117030         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
117032 2006-01-24  Bruno Haible  <bruno@clisp.org>
117034         * modules/strnlen (Maintainer): Change from glibc to all.
117036 2006-01-24  Bruno Haible  <bruno@clisp.org>
117038         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
117039         Patch by Paul Eggert.
117041 2006-01-24  Bruno Haible  <bruno@clisp.org>
117043         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
117044         already has it.
117045         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
117046         2005-11-26.
117048         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
117049         'signed char' to avoid problems with the built-in _Bool type.
117050         Reported by Paul Eggert on 2005-11-26.
117052 2006-01-24  Bruno Haible  <bruno@clisp.org>
117054         * gnulib-tool (func_import): Avoid constructing complicated sed
117055         expressions inside backquote.
117056         Report and solution by Mark D. Baushke <mdb@gnu.org>.
117058 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
117060         These changes imported from libc.
117061         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
117062         test and two separate function calls.
117063         * lib/strndup.c (__strndup): Add libc_hidden_def.
117065 2006-01-23  Simon Josefsson  <jas@extundo.com>
117067         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
117068         Remove the test_*_SOURCES variable: automake infers it by default.
117069         * modules/tls-tests: Likewise.
117071 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117073         Work around porting bugs reported by Dieter in
117074         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
117075         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
117076         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
117077         Include "getopt.h" first, to check interface.
117078         (getenv): Declare only if defined HAVE_DECL_GETENV &&
117079         !HAVE_DECL_GETENV.
117080         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
117081         (__strndup): Revert to K&R-style function dfns, the glibc style.
117082         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
117083         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
117084         Include strnlen.h first, to get prototype properly.
117085         (strnlen): Renamed from __strnlen.
117086         Remove weak alias.
117088 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117090         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
117092 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117094         * config/srclist.txt: Adjust to reflect glibc reorganization.
117095         This affects only comments.
117097 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
117099          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
117100          Reported by Bruce Korb <bkorb@gnu.org>.
117102 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
117104         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
117105         to pacify gcc -Wswitch-default.
117107 2006-01-22  Bruno Haible  <bruno@clisp.org>
117109         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
117110         temporary buffer for sprintf, take into account the precision also
117111         for 'd', 'i', 'u', 'o', 'x', 'X'.
117113 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117115         * modules/argp-tests: New module
117116         * tests/test-argp.c: New file
117117         * tests/test-argp-2.sh: New file
117119 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117121         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
117122         (__argp_base_name): Removed
117123         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
117124         typo.
117125         (__argp_base_name): Provide macro definition or extern declaration
117126         depending on the configuration
117128 2006-01-20  Simon Josefsson  <jas@extundo.com>
117130         * modules/inet_ntop (Depends-on): Depend on sys_socket.
117132 2006-01-20  Simon Josefsson  <jas@extundo.com>
117134         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
117136 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117138         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
117139         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
117140         Suggested by Bruno Haible.
117142 2006-01-20  Karl Berry  <karl@gnu.org>
117144         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
117145         until changes propagate, I guess.
117147 2006-01-19  Simon Josefsson  <jas@extundo.com>
117149         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
117151 2006-01-19  Simon Josefsson  <jas@extundo.com>
117153         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
117155 2006-01-19  Simon Josefsson  <jas@extundo.com>
117157         * gnulib-tool: Set check_PROGRAMS.
117159         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117160         modules/des-tests, modules/gc-arcfour-tests,
117161         modules/gc-arctwo-tests, modules/gc-des-tests,
117162         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117163         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117164         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117165         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117166         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117167         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
117168         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
117169         test_*_SOURCES.
117171 2006-01-18  Simon Josefsson  <jas@extundo.com>
117173         * modules/socklen (Depends-on): Depend on sys_socket.
117175 2006-01-18  Simon Josefsson  <jas@extundo.com>
117177         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117178         modules/des-tests, modules/gc-arcfour-tests,
117179         modules/gc-arctwo-tests, modules/gc-des-tests,
117180         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117181         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117182         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117183         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117184         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117185         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
117186         $(EXEEXT) to automake TESTS variable, for mingw32.
117188 2006-01-17  Simon Josefsson  <jas@extundo.com>
117190         * modules/socklen (Include): Need sys/socket.h.
117192 2006-01-17  Bruno Haible  <bruno@clisp.org>
117194         * modules/ssize_t (Include): Add <sys/types.h>.
117196 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
117198         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
117199         it's not portable and it doesn't work with cross-compiles.
117200         Problem reported by Bruno Haible.  Fix missing-$ typo in
117201         'test "gl_cv_ignore_unused_libraries" ...' that prevented
117202         -zignore from being used with Sun's C compiler.
117204 2006-01-12  Simon Josefsson  <jas@extundo.com>
117206         * lib/base64.c: Fix warning, reported by Bruno Haible
117207         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
117209 2006-01-12  Bruno Haible  <bruno@clisp.org>
117211         * modules/ldd: New file.
117212         * build-aux/ldd.sh.in: New file.
117213         * MODULES.html.sh (Support for building libraries and executables): Add
117214         ldd.
117216 2006-01-12  Bruno Haible  <bruno@clisp.org>
117218         * m4/ldd.m4: New file.
117220 2006-01-12  Bruno Haible  <bruno@clisp.org>
117222         * gnulib-tool (func_import, func_create_testdir): Don't go into an
117223         endless loop while replacing $auxdir with build-aux.
117225 2006-01-11  Simon Josefsson  <jas@extundo.com>
117227         * lib/stdint_.h (SIZE_MAX): Add missing (.
117229 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
117231         Sync from coreutils.
117232         * lib/md5.c: Fix commentary typos.
117233         (alignof, UNALIGNED_P): No need for a GCC-specific version.
117234         * lib/md5.h (__attribute__): Remove; unused.
117235         * lib/sha1.c: Fix commentary to match md5 better.
117236         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
117237         so that we don't need to worry about alignment.  All uses changed.
117238         This merges the 2005-10-28 md5 change into sha1.
117240 2006-01-11  Jim Meyering  <jim@meyering.net>
117242         Sync from coreutils.
117243         * lib/md5.c (OP): Fix spacing.
117245 2006-01-11  Bruno Haible  <bruno@clisp.org>
117247         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117248         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
117249         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
117251 2006-01-11  Bruno Haible  <bruno@clisp.org>
117253         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117254         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
117255         the "early" section as well.
117257 2006-01-11  Bruno Haible  <bruno@clisp.org>
117259         Avoid "ar: no archive members specified" error on MacOS X.
117260         * gnulib-tool (func_modules_add_dummy): New function.
117261         (func_import, func_create_testdir): Invoke it.
117263 2006-01-11  Bruno Haible  <bruno@clisp.org>
117265         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
117266         with $auxdir in AC_CONFIG_FILES statements.
117268 2006-01-11  Bruno Haible  <bruno@clisp.org>
117270         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
117271         Initialize also noinst_HEADERS to empty.
117273 2006-01-11  Bruno Haible  <bruno@clisp.org>
117275         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
117276         variables.
117277         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
117278         autoreconf.
117280 2006-01-11  Bruno Haible  <bruno@clisp.org>
117282         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
117283         overridable by the user.
117284         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117286 2006-01-10  Simon Josefsson  <jas@extundo.com>
117288         * modules/sys_socket: New file.
117290 2006-01-10  Simon Josefsson  <jas@extundo.com>
117292         * m4/sys_socket_h.m4: New file.
117294 2006-01-10  Simon Josefsson  <jas@extundo.com>
117296         * lib/socket_.h: New file.
117298 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117300         * modules/readutmp (Maintainer): Add myself.
117302 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117304         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
117305         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
117306         People who are still concerned with buggy memcmp implementations
117307         can invoke gl_FUNC_MEMCMP themselves.
117309 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117311         * lib/regex_internal.h (BITSET_WORD_BITS):
117312         Work around a bug in 64-bit PGC (before version 6.1-2), where the
117313         preprocessor mishandles large unsigned values as if they were signed.
117314         Problem reported by Claudio Fontana in
117315         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
117317 2006-01-10  Jim Meyering  <jim@meyering.net>
117319         Avoid the double-free (first in fts_read, second in fts_close) that
117320         would occur when an `active' directory is made inaccessible (e.g.,
117321         via chmod a-x) during a traversal.
117322         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117323         before returning.  Reproduce this failure by
117324         mkdir -p a/b; cd a; chmod a-x . b
117325         Reported by Stavros Passas.
117327         Sync from coreutils.
117328         * lib/sha1.c: Tweak grammar in a comment.
117330 2006-01-10  Jim Meyering  <jim@meyering.net>
117332         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
117333         Patch by Joerg Sonnenberger.
117335 2006-01-10  Bruno Haible  <bruno@clisp.org>
117337         * modules/readutmp: Depend on module free.
117338         * modules/strtok_r: Depend on module restrict.
117340 2006-01-10  Bruno Haible  <bruno@clisp.org>
117342         * modules/gettext (configure.ac): Add an invocation of
117343         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
117345 2006-01-10  Bruno Haible  <bruno@clisp.org>
117347         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
117348         Reported by Werner Lemberg <wl@gnu.org>.
117350 2006-01-10  Bruno Haible  <bruno@clisp.org>
117352         * lib/localcharset.c: Update from GNU gettext.
117354 2006-01-10  Bruno Haible  <bruno@clisp.org>
117356         * lib/argp.h (__const): Remove macro. Use const instead.
117357         * lib/argp-fmtstream.h (__const): Likewise.
117358         * lib/glob_.h (__const): Remove macro.
117359         * lib/glob-libc.h: Use const instead of __const.
117361 2006-01-10  Bruno Haible  <bruno@clisp.org>
117363         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
117364         variable.
117365         Needed to avoid an automake error regarding the 'gettext' module.
117367 2006-01-09  Simon Josefsson  <jas@extundo.com>
117369         * modules/inet_ntop (Depends-on): Add restrict.
117371 2006-01-09  Simon Josefsson  <jas@extundo.com>
117373         * modules/gc-rijndael-tests (License): Put under LGPL.
117375         * modules/gc-des-tests (License): Likewise.
117377         * modules/gc-arcfour-tests (License): Likewise.
117379         * modules/gc-arctwo-tests (License): Likewise.
117381         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
117383         * modules/gc-hmac-sha1-tests (Files): Likewise.
117385         * modules/gc-hmac-md5-tests (License): Likewise.
117387         * modules/gc-sha1-tests (License): Likewise.
117389         * modules/gc-md5-tests (License): Likewise.
117391         * modules/gc-md4-tests (License): Likewise.
117393         * modules/gc-md2-tests (License): Likewise.
117395         * modules/gc-tests (License): Likewise.
117397         * modules/des-tests (License): Likewise.
117399         * modules/md4-tests (License): Likewise.
117401         * modules/md2-tests (License): Likewise.
117403 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117405         Sync from coreutils:
117407         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
117408         * modules/lib-ignore: New file.
117409         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
117410         chdir-safer.m4, lchmod.m4.
117411         * modules/openat: Add mkdirat.c, openat-priv.h.
117413 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117415         Sync from coreutils.
117416         * m4/lib-ignore.m4: New file.
117417         * m4/lchmod.m4: New file.
117419 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117421         Sync from coreutils.
117422         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
117423         for write access: POSIX says that must fail.
117424         * lib/fts.c (diropen): Likewise.
117425         * lib/save-cwd.c (save_cwd): Likewise.
117426         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
117427         well, for minor improvements on hosts that lack O_DIRECTORY.
117428         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
117429         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
117430         Fall back on chown if open failed with EACCES.
117432         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
117433         Report an error at compile-time if only a 1-second nominal clock
117434         resolution is found.
117436         * lib/lchmod.h: New file.
117437         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
117438         (make_dir_parents): Use lchown rather than chown, and
117439         lchmod rather than chmod.
117441         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
117442         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
117443         "proc" reported by n0dalus.
117445         * lib/mountlist.c: Include <limits.h>.
117446         (dev_from_mount_options)
117447         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
117448         New function.  It no longer assumes "dev=" has the System V meaning
117449         on Linux (since it doesn't).  It also parses "dev=" more carefully.
117450         (read_file_system_list)
117451         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
117452         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
117453         dev= in that case.
117455         * lib/posixtm.h (PDS_PRE_2000): New macro.
117456         * lib/posixtm.c (year): Arg is now syntax_bits rather than
117457         allow_century.  All usages changed.  Reject dates outside the range
117458         1969-1999 if PDS_PRE_2000 is used.
117460 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117462         Sync from coreutils.
117463         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
117464         (Time of day items): Mention the possibility of leap seconds.
117465         Problem reported by Dr. David Alan Gilbert.
117467 2006-01-09  Jim Meyering  <jim@meyering.net>
117469         Sync from coreutils.
117471         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
117473         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
117475         * lib/modechange.c (mode_compile): Reject an invalid mode string
117476         that starts with an octal digit.  From Andreas Gruenbacher.
117478         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
117479         and dup to open_safer and dup_safer, respectively.
117480         (openat_permissive): Fix typo in comment.
117482         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
117483         "gettext.h"; either no longer needed or are guaranteed by openat.h.
117484         (_): Remove; no longer needed.
117485         (openat): Renamed from rpl_openat; no need for rpl_openat
117486         since openat.h renames openat for us.
117487         Replace most of the body with a call to openat_permissive,
117488         to avoid duplicate code.
117489         Port to (probably hypothetical) environments were mode_t is
117490         wider than int.
117491         (openat_permissive): Require mode arg, so that we can check
117492         types better.  Put it just after flags.  Change cwd failure
117493         indicator from pointer-to-bool to pointer-to-errno-value.
117494         All callers changed.
117495         Invoke openat_save_fail and/or openat_restore_fail if
117496         cwd_errno is null, so that openat can call us.
117497         (openat_permissive, fdopendir, fstatat, unlinkat):
117498         Simplify errno handling to avoid some duplicate code,
117499         as it's OK to set errno on success.
117500         * lib/openat.h: Revamp code so that function macros depend on
117501         __OPENAT_PREFIX only, not also on AT_FDCWD.
117502         (openat_ro): Remove.  Caller changed to use openat_permissive.
117503         (openat_permissive): Now a macro, if not a function.
117504         (openat_restore_fail, openat_save_fail): Now always functions,
117505         since mkdirat needs them even if __OPENAT_PREFIX is defined.
117507         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
117508         and openat.c.
117509         * lib/mkdirat.c: Include openat-priv.h.
117510         Remove definitions of macros defined therein.
117511         * lib/openat.c: Likewise.
117513         * lib/mkdirat.c (mkdirat): New file and function.
117514         * lib/openat.h (mkdirat): Declare.
117516         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
117518         * lib/openat.h (openat_permissive): Declare.
117519         (openat_ro): Define.
117521         * lib/openat.c (EXPECTED_ERRNO): New macro.
117522         (openat_permissive): New function -- used in remove.c rewrite.
117523         (all functions): Set errno just before returning, only if there
117524         was an actual failure.
117525         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
117527         Emulate openat-family functions using Linux's procfs, if possible.
117528         Idea and some code based on Ulrich Drepper's glibc changes.
117530         * lib/openat.c: (BUILD_PROC_NAME): New macro.
117531         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
117532         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
117533         before falling back on save_cwd and restore_cwd.
117534         (fdopendir, fstatat, unlinkat): Likewise.
117536         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
117537         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
117539         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
117540         as second argument to va_arg.  Otherwise, some versions of gcc
117541         warn that `if this code is reached, the program will abort'.
117543 2006-01-09  Jim Meyering  <jim@meyering.net>
117545         Sync from coreutils.
117546         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
117547         Require openat-priv.h.
117549 2006-01-09  Bruno Haible  <bruno@clisp.org>
117551         * modules/strnlen (Include): Use strnlen.h.
117553 2006-01-09  Bruno Haible  <bruno@clisp.org>
117555         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
117557 2006-01-09  Bruno Haible  <bruno@clisp.org>
117559         * lib/sysexit_.h (EX_OK): New macro.
117560         Suggested by Martin Lambers <marlam@marlam.de>.
117562 2006-01-09  Bruno Haible  <bruno@clisp.org>
117564         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
117565         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
117567 2006-01-09  Bruno Haible  <bruno@clisp.org>
117569         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
117570         numbers.
117572 2006-01-09  Bruno Haible  <bruno@clisp.org>
117574         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
117575         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
117576         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
117577         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
117579 2006-01-09  Bruno Haible  <bruno@clisp.org>
117581         * build-aux/javacomp.sh.in: New file, moved from lib/.
117582         * modules/javacomp-script (Files): Update.
117583         (configure.ac): Add AC_CONFIG_FILES invocation.
117584         (EXTRA_DIST): Remove variable.
117586         * build-aux/javaexec.sh.in: New file, moved from lib/.
117587         * modules/javaexec (Files): Update.
117588         (configure.ac): Add AC_CONFIG_FILES invocation.
117589         (EXTRA_DIST): Remove javaexec.sh.in.
117591         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
117592         * modules/csharpcomp-script (Files): Update.
117593         (configure.ac): Add AC_CONFIG_FILES invocation.
117594         (EXTRA_DIST): Remove variable.
117596         * build-aux/csharpexec.sh.in: New file, moved from lib/.
117597         * modules/csharpexec (Files): Update.
117598         (configure.ac): Add AC_CONFIG_FILES invocation.
117599         (EXTRA_DIST): Remove csharpexec.sh.in.
117601 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
117603         Sync from coreutils.
117605         Add POSIX ACL support
117606         * lib/acl.h (copy_acl, set_acl): Add declarations.
117607         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
117608         systems other than Linux.
117609         (chmod_or_fchmod): New function: use fchmod when possible,
117610         and chmod otherwise.
117611         (file_has_acl): Add a POSIX ACL implementation, with a
117612         Linux-specific subcase.
117613         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
117614         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
117615         acls are unsupported.
117616         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
117617         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
117618         are unsupported.
117620 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
117622         Sync from coreutils.
117623         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
117625 2006-01-07  Bruno Haible  <bruno@clisp.org>
117627         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
117628         gl_EARLY.
117630 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
117632         * lib/strftime.c (tzname): Don't declare if it is already #defined.
117633         Problem reported for Mingw by Mark Junker.
117635 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
117637         * README: Gnulib normally doesn't generate a tarball.
117639 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
117641         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
117642         long int, not int, for nanosecond counts, so that people who are
117643         used to POSIX struct timespec won't be surprised.  Reported by Jim
117644         Meyering.
117646 2005-12-28  Bruno Haible  <bruno@clisp.org>
117648         * build-aux/config.rpath: Update from GNU gettext.
117650 2005-12-16  Jim Meyering  <jim@meyering.net>
117652         * modules/fprintftime: New module.
117653         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
117655 2005-12-16  Jim Meyering  <jim@meyering.net>
117657         * m4/fprintftime.m4: New file.
117659 2005-12-16  Jim Meyering  <jim@meyering.net>
117661         * lib/fprintftime.c, lib/fprintftime.h: New files.
117663 2005-12-15  Simon Josefsson  <jas@extundo.com>
117665         * modules/socklen (configure.ac): Fix M4 macro name, to align with
117666         new m4/socklen.m4.
117668 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
117670         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
117671         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
117673 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
117675         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
117676         * lib/argp-help.c (fill_in_uparams): Check if the constructed
117677         struct uparams is valid. Fall back to the default values if it is
117678         not.
117680 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117682         * modules/argp (Files): Add argp-pin.c
117683         (Depends-on): dirname
117684         (lib_SOURCES): Add argp-pin.c
117686 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117688         * m4/argp.m4:  Check if program_invocation_name and
117689         program_invocation_short_name are declared and define appropriate
117690         macros if they are not.
117692 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
117694         * lib/argp-help.c (__argp_base_name): New function
117695         (__argp_short_program_name): Rewrite using __argp_base_name
117696         * lib/argp-namefrob.h: Define program_invocation_name and
117697         program_invocation_short_name if requested
117698         (__argp_base_name): Add prototype
117699         * lib/argp-parse.c (argp_def): Use gettext wrappers
117700         (argp_default_parser): Use __argp_base_name
117701         * lib/argp-pin.c: New file. Defines program_invocation_name and
117702         program_invocation_short_name on systems that lack them.
117704 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117706         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
117707         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
117708         porting problem reported by Georg Schwarz in
117709         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
117711 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117713         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
117714         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
117715         porting problem reported by Georg Schwarz in
117716         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
117718 2005-12-05  Bruno Haible  <bruno@clisp.org>
117720         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
117721         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
117722         Reported by Mark Junker <mjscod@gmx.de>.
117724 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
117726         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
117727         Use implementation from Albert Chin, with some
117728         comments/corrections by Stepan Kasal and myself.
117730 2005-12-02  Bruno Haible  <bruno@clisp.org>
117732         * gnulib-tool (func_import): Accept GPLed build tool modules when
117733         --lgpl is given.
117734         * modules/csharpcomp-script: New file.
117735         * modules/csharpcomp: Depend on it.
117736         * modules/javacomp-script: New file.
117737         * modules/javacomp: Depend on it.
117738         Suggested by Simon Josefsson.
117740 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
117742         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
117743         statement, to work around an HP-UX 10.20 compiler bug reported by
117744         Peter O'Gorman.
117746 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
117748         * modules/savedir (Depends-on): Add openat.
117750 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
117752         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
117753         (uintmax_t) [defined uintmax_t]: Do not declare.
117754         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
117755         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
117756         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
117757         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
117758         sake of portability to weird hosts that C allows (though we don't
117759         know of any practical examples).
117761         * lib/savedir.h (fdsavedir): New decl.
117762         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
117763         contains most of the former guts of savedir.
117764         (savedir): Use savedirstream.
117765         Include "openat.h".
117767 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
117769         * modules/obstack (Files): Add m4/ulonglong.m4.
117770         Problem reported by Davide Angelocola.
117772 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
117774         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
117775         coreutils no longer futzes with rounding modes.
117777 2005-11-14  Jim Meyering  <jim@meyering.net>
117779         * lib/mkstemp-safer.c: Include <config.h>, required for possible
117780         replacement of mkstemp.
117782 2005-11-10  Simon Josefsson  <jas@extundo.com>
117784         * lib/readline.c: Remove EOL.
117786 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117788         * modules/gethrxtime (Depends-on): Add gettime.
117790 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117792         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
117793         or gettimeofday; no longer needed.
117795 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117797         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
117798         time business.
117799         (gethrxtime) [! (HAVE_NANOUPTIME
117800         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
117801         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
117802         our own approximation.
117804 2005-11-08  Eric Blake  <ebb9@byu.net>
117806         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
117808 2005-11-08  Eric Blake  <ebb9@byu.net>
117810         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
117812 2005-11-04  Bruno Haible  <bruno@clisp.org>
117814         * gnulib-tool: Implement --update mode.
117816 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
117818         Fix porting problem reported by Theodoros V. Kalamatianos.
117819         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
117820         Don't assume that futimes failing means we must fail.
117822 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
117824         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
117825         variables to suggest the intended function of the PATH_MAX check.
117827 2005-10-30  Kean Johnston  <jkj@sco.com>
117829         Trivial changes to support SCO systems.
117830         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
117831         as PATH_MAX.
117832         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
117833         where __ptr is null when no I/O is pending.
117835 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
117837         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
117838         leave errno alone.  Problem reported by Dmitry V. Levin.
117840 2005-10-28  Simon Josefsson  <jas@extundo.com>
117842         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
117843         Test more.
117845         * tests/test-gc-md2.c, tests/test-md2.c: New files.
117847         * modules/md2, modules/md2-tests: New files.
117849 2005-10-28  Simon Josefsson  <jas@extundo.com>
117851         * m4/inet_ntop.m4: More tests.
117853         * m4/gc-md2.m4, md2.m4: New file.
117855 2005-10-28  Simon Josefsson  <jas@extundo.com>
117857         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
117858         "restrict" keywords, as per POSIX.  Protect the function
117859         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
117860         Don't use K&R prototypes.  Check the sprintf return values.
117861         Re-define EAFNOSUPPORT if not present.  Indent.
117863         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
117864         suggested by Bruno Haible <bruno@clisp.org>.
117866         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
117868         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
117870         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
117871         libgcrypt).
117873         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
117875         * lib/md2.h, lib/md2.c: New files.
117877 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
117879         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
117880         errno alone.  Problem reported by Frederic Jolliton.
117882 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
117884         * modules/verify (License): Change from GPL to LGPL.  This is a
117885         tiny module and there are apparently near-equivalents that are
117886         under the BSD license.
117888 2005-10-24  Simon Josefsson  <jas@extundo.com>
117890         * modules/sha1: Relicense to LGPL.
117892 2005-10-24  Simon Josefsson  <jas@extundo.com>
117894         * lib/md4.h: Shrink buffer size, now that we changed the type.
117896 2005-10-23  Simon Josefsson  <jas@extundo.com>
117898         * gnulib-tool (func_import): Fix --tests-base.
117900 2005-10-22  Simon Josefsson  <jas@extundo.com>
117902         * modules/arcfour (Depends-on): Need stdint.
117904 2005-10-22  Simon Josefsson  <jas@extundo.com>
117906         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
117907         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
117909 2005-10-22  Simon Josefsson  <jas@extundo.com>
117911         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
117912         suggested by Bruno Haible <bruno@clisp.org>.
117914 2005-10-22  Simon Josefsson  <jas@extundo.com>
117916         * lib/crc.h: Include stddef.h, for size_t.
117918 2005-10-22  Simon Josefsson  <jas@extundo.com>
117920         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
117921         arcfour_context struct (simplify test vector testing in GNU
117922         Shishi).
117924 2005-10-21  Simon Josefsson  <jas@extundo.com>
117926         * modules/des, modules/des-tests: New files.
117928         * modules/gc-des, modules/gc-des-tests: New files.
117930         * tests/test-des.c, tests/test-gc-des.c: New file.
117932 2005-10-21  Simon Josefsson  <jas@extundo.com>
117934         * modules/arctwo, modules/arctwo-tests: New files.
117936         * tests/test-arctwo.c: New file.
117938         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
117940         * tests/test-gc-arctwo.c: New file.
117942 2005-10-21  Simon Josefsson  <jas@extundo.com>
117944         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
117945         Bruno Haible <bruno@clisp.org>.
117947         * m4/gc-des.m4: New file.
117949 2005-10-21  Simon Josefsson  <jas@extundo.com>
117951         * m4/arctwo.m4: New file.
117953         * m4/gc-arctwo.m4: New file.
117955 2005-10-21  Simon Josefsson  <jas@extundo.com>
117957         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
117958         block.
117960 2005-10-21  Simon Josefsson  <jas@extundo.com>
117962         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
117963         <bruno@clisp.org>.
117965         * lib/hmac-sha1.c (hmac_sha1): Likewise.
117967         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
117968         Bruno Haible <bruno@clisp.org>.
117970         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
117971         <bruno@clisp.org>.
117973 2005-10-21  Simon Josefsson  <jas@extundo.com>
117975         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
117977 2005-10-21  Simon Josefsson  <jas@extundo.com>
117979         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
117981 2005-10-21  Simon Josefsson  <jas@extundo.com>
117983         * lib/des.h, lib/des.c: New files.
117985         * lib/gc-gnulib.c: Support DES.c
117987 2005-10-21  Simon Josefsson  <jas@extundo.com>
117989         * lib/arctwo.h, lib/arctwo.c: New files.
117991         * lib/gc-gnulib.c: Support ARCTWO.
117993 2005-10-21  Simon Josefsson  <jas@extundo.com>
117995         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
117996         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117998 2005-10-21  Simon Josefsson  <jas@extundo.com>
118000         * gnulib-tool (func_import, func_create_testdir): Define automake
118001         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
118002         Makefile.am snippet),
118003         suggested by Bruno Haible <bruno@clisp.org>.
118005         * modules/gc (Makefile.am): Use it.
118007 2005-10-21  Bruno Haible  <bruno@clisp.org>
118009         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
118010         patch.
118012 2005-10-19  Simon Josefsson  <jas@extundo.com>
118014         * tests/test-gc-rijndael.c: New file.
118016         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
118018 2005-10-19  Simon Josefsson  <jas@extundo.com>
118020         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
118021         interface too.
118023 2005-10-19  Simon Josefsson  <jas@extundo.com>
118025         * tests/test-gc-arcfour.c: New file.
118027         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
118029 2005-10-19  Simon Josefsson  <jas@extundo.com>
118031         * modules/gc-md4, modules/gc-md4-tests: New file.
118033         * tests/test-gc-md4.c: New file.
118035 2005-10-19  Simon Josefsson  <jas@extundo.com>
118037         * m4/gc-md4.m4: New file.
118039 2005-10-19  Simon Josefsson  <jas@extundo.com>
118041         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
118042         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
118043         <kasal@ucw.cz>.
118045 2005-10-19  Simon Josefsson  <jas@extundo.com>
118047         * m4/gc-arcfour.m4: New file.
118049         * m4/gc-rijndael.m4: New file.
118051 2005-10-19  Simon Josefsson  <jas@extundo.com>
118053         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
118055 2005-10-19  Simon Josefsson  <jas@extundo.com>
118057         * lib/gc-gnulib.c: Support ARCFOUR.
118059 2005-10-19  Simon Josefsson  <jas@extundo.com>
118061         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
118062         support.
118064         * lib/gc.h: Add ECB enum type.
118066         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
118068 2005-10-18  Simon Josefsson  <jas@extundo.com>
118070         * tests/test-md5.c: New file.
118072         * modules/md5-tests: New file.
118074 2005-10-18  Simon Josefsson  <jas@extundo.com>
118076         * tests/test-md4.c: New file.
118078         * modules/md4, modules/md4-tests: New files.
118080 2005-10-18  Simon Josefsson  <jas@extundo.com>
118082         * m4/md4.m4: New file.
118084 2005-10-18  Simon Josefsson  <jas@extundo.com>
118086         * lib/md4.h, lib/md4.c: New files, based on md5.?.
118088 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
118090         * gnulib-tool (func_create_testdir): Omit the second check whether
118091         BUILT_SOURCES in nonempty.
118093 2005-10-17  Simon Josefsson  <jas@extundo.com>
118095         * tests/test-rijndael.c: New file.
118097 2005-10-17  Simon Josefsson  <jas@extundo.com>
118099         * modules/sha1: Depend on stdint instead of md5.
118101         * modules/md5: Depend on stdint, remove uint32_t.
118103 2005-10-17  Simon Josefsson  <jas@extundo.com>
118105         * modules/gc-sha1-tests: New file.
118107         * tests/test-gc-sha1.c: New file.
118109 2005-10-17  Simon Josefsson  <jas@extundo.com>
118111         * m4/md5.m4: Remove call to uint32_t.m4.
118113 2005-10-17  Simon Josefsson  <jas@extundo.com>
118115         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
118117         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
118118         md5.h.
118120         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
118122         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
118124 2005-10-17  Simon Josefsson  <jas@extundo.com>
118126         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
118128 2005-10-17  Simon Josefsson  <jas@extundo.com>
118130         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
118132 2005-10-17  Simon Josefsson  <jas@extundo.com>
118134         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
118136         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
118138 2005-10-17  Bruno Haible  <bruno@clisp.org>
118140         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
118141         that it can also be used in a test.
118143 2005-10-16  Bruno Haible  <bruno@clisp.org>
118145         * gnulib-tool (func_emit_tests_Makefile_am): Also define
118146         TESTS_ENVIRONMENT, so that individual tests can augment it.
118148         * gnulib-tool (func_create_testdir): Use an intermediate target for
118149         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
118150         macros, like $(ALLOCA_H), which cannot be passed through the command
118151         line.
118153 2005-10-15  Simon Josefsson  <jas@extundo.com>
118155         * modules/rijndael-tests: New file.
118157         * modules/rijndael: New file.
118159 2005-10-15  Simon Josefsson  <jas@extundo.com>
118161         * m4/rijndael.m4: New file.
118163 2005-10-15  Simon Josefsson  <jas@extundo.com>
118165         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
118167         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
118169 2005-10-14  Simon Josefsson  <jas@extundo.com>
118171         * tests/test-arcfour.c: New file.
118173         * modules/arcfour, modules/arcfour-tests: New files.
118175 2005-10-14  Simon Josefsson  <jas@extundo.com>
118177         * m4/arcfour.m4: New file.
118179 2005-10-14  Simon Josefsson  <jas@extundo.com>
118181         * lib/arcfour.h, lib/arcfour.c: New files.
118183 2005-10-14  Roland McGrath  <roland@redhat.com>
118185         Import from libc.  [BZ #1331]
118186         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
118187         macro argument.
118188         Reported by Matej Vela <vela@debian.org>.
118190 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118192         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
118193         include <wchar.h>; no longer needed.
118195 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118197         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
118199 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
118200         and  Ulrich Drepper  <drepper@redhat.com>
118202         Import from libc.
118203         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
118204         instead of inline stream orientation test and two separate
118205         function calls.  Pay no attention to USE_IN_LIBIO.
118207 2005-10-13  Simon Josefsson  <jas@extundo.com>
118209         * modules/gc-hmac-md5-tests: New file.
118211         * tests/test-gc-hmac-sha1.c: New file.
118213         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
118215         * modules/gc-hmac-md5-tests: New file.
118217         * tests/test-gc-md5.c: New file.
118219         * modules/gc-md5-tests: New file.
118221 2005-10-13  Simon Josefsson  <jas@extundo.com>
118223         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
118224         Move memory allocation outside of loop.
118226 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
118228         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
118229         intermediate directory is in a read-only file system.  Problem
118230         reported by Eric Blake.
118232 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
118234         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
118236 2005-10-12  Simon Josefsson  <jas@extundo.com>
118238         * tests/test-hmac-sha1.c: New file.
118240         * modules/hmac-sha1-tests: New file.
118242         * modules/hmac-sha1: New file.
118244 2005-10-12  Simon Josefsson  <jas@extundo.com>
118246         * modules/gc-sha1: New file.
118248 2005-10-12  Simon Josefsson  <jas@extundo.com>
118250         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
118252         * tests/test-gc-pbkdf2-sha1.c: New file.
118254 2005-10-12  Simon Josefsson  <jas@extundo.com>
118256         * modules/gc-md5, modules/gc-hmac-md5: New files.
118258         * modules/gc (Files): Remove md5, memxor and hmac files.
118260 2005-10-12  Simon Josefsson  <jas@extundo.com>
118262         * m4/gc-pbkdf2-sha1.m4: New file.
118264         * m4/gc-hmac-sha1.m4: New file.
118266         * m4/gc-sha1: New file.
118268         * m4/hmac-sha1.m4: New file.
118270 2005-10-12  Simon Josefsson  <jas@extundo.com>
118272         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
118274         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
118276 2005-10-12  Simon Josefsson  <jas@extundo.com>
118278         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
118279         suggested by Bruno Haible <bruno@clisp.org>.
118281 2005-10-12  Simon Josefsson  <jas@extundo.com>
118283         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
118285 2005-10-12  Simon Josefsson  <jas@extundo.com>
118287         * lib/gc-pbkdf2-sha1.c: New file.
118289         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
118291 2005-10-12  Simon Josefsson  <jas@extundo.com>
118293         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
118295         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
118297 2005-10-12  Simon Josefsson  <jas@extundo.com>
118299         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
118300         GC_USE_HMAC_MD5, respectively.
118302         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
118303         (gc_md5): Fix typo.
118305         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
118307         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
118309         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
118311 2005-10-12  Bruno Haible  <bruno@clisp.org>
118313         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
118314         Reported by Stepan Kasal <kasal@ucw.cz>.
118316 2005-10-11  Simon Josefsson  <jas@extundo.com>
118318         * tests/test-crc.c: New file.
118320         * modules/crc, modules/crc-tests: New files.
118322 2005-10-11  Simon Josefsson  <jas@extundo.com>
118324         * m4/crc.m4: New file.
118326 2005-10-11  Simon Josefsson  <jas@extundo.com>
118328         * lib/gc.h: Add gc_hash and gc_hash_buffer.
118330         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
118332         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
118334 2005-10-11  Simon Josefsson  <jas@extundo.com>
118336         * lib/crc.h, lib/crc.c: New files.
118338         * lib/gc.h (gc_hash_buffer): Add doc.
118340 2005-10-11  Bruno Haible  <bruno@clisp.org>
118342         * modules/c-strcasestr: New file.
118343         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
118345 2005-10-11  Bruno Haible  <bruno@clisp.org>
118347         * modules/c-strcase: New file.
118348         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
118350 2005-10-11  Bruno Haible  <bruno@clisp.org>
118352         * lib/strcasecmp.c: Include limits.h.
118353         (strcasecmp): Avoid integer overflow on exotic platforms.
118354         * lib/strncasecmp.c: Include limits.h.
118355         (strncasecmp): Avoid integer overflow on exotic platforms.
118356         Reported by Paul Eggert.
118358 2005-10-11  Bruno Haible  <bruno@clisp.org>
118360         * lib/c-strcasestr.h: New file, from GNU gettext.
118361         * lib/c-strcasestr.c: New file, from GNU gettext.
118363 2005-10-11  Bruno Haible  <bruno@clisp.org>
118365         * lib/c-strcase.h: New file, from GNU gettext.
118366         * lib/c-strcasecmp.c: New file, from GNU gettext.
118367         * lib/c-strncasecmp.c: New file, from GNU gettext.
118369 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
118371         * modules/mempcpy (License): GPL -> LGPL.
118372         * modules/strchrnul (License): Likewise.
118373         * modules/sysexits (License): Likewise.
118375 2005-10-08  Simon Josefsson  <jas@extundo.com>
118377         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
118379 2005-10-07  Simon Josefsson  <jas@extundo.com>
118381         * m4/memxor.m4: Remove gl_C_RESTRICT call.
118383 2005-10-06  Simon Josefsson  <jas@extundo.com>
118385         * tests/test-hmac-md5.c: New file.
118387         * modules/hmac-md5-tests: New file.
118389         * modules/hmac-md5: New file.
118391 2005-10-06  Simon Josefsson  <jas@extundo.com>
118393         * m4/hmac-md5.m4: New file.
118395         * m4/memxor.m4: Require gl_C_RESTRICT.
118397 2005-10-06  Simon Josefsson  <jas@extundo.com>
118399         * lib/memxor.c (memxor): Avoid casts and warnings.
118401 2005-10-06  Simon Josefsson  <jas@extundo.com>
118403         * lib/hmac-md5.c: New file.
118405         * lib/hmac.h: New file.
118407 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
118409         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
118410         promotes to int, not unsigned int, to catch the AIX 5.3
118411         compiler bug.
118413 2005-10-05  Simon Josefsson  <jas@extundo.com>
118415         * modules/memxor: New file.
118417         * modules/iconv (Files): Move config.rpath to havelib, it is used
118418         there.
118420         * modules/havelib (Files): Add config.rpath.
118422 2005-10-05  Simon Josefsson  <jas@extundo.com>
118424         * m4/memxor.m4: New file.
118426 2005-10-05  Simon Josefsson  <jas@extundo.com>
118428         * lib/memxor.c (memxor): Fix compiler error.
118430         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
118431         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
118433         * lib/memxor.h, lib/memxor.c: New files.
118435         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
118436         we assume all systems have it, suggested by Jim Meyering
118437         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
118438         any systems lack sys/socket.h; mingw32 is known to lack it, but we
118439         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
118440         same reasons.
118442 2005-10-05  Simon Josefsson  <jas@extundo.com>
118444         * config/srclist.txt: Add glibc bug 1423 for md5.h.
118446 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
118448         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
118449         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
118450         needed, since the source code now assumes these .h files.
118452 2005-10-05  Derek Price  <derek@ximbiot.com>
118454         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
118456 2005-10-05  Bruno Haible  <bruno@clisp.org>
118458         * modules/stdint (License): Change to LGPL.
118460 2005-10-04  Simon Josefsson  <jas@extundo.com>
118462         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
118463         D. Baushke" <mdb@gnu.org>.
118465 2005-10-04  Bruno Haible  <bruno@clisp.org>
118467         * lib/verify.h (verify_true): Provide alternative definition for C++.
118469 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
118471         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
118472         (SSIZE_MAX): New macro, if not already defined.
118473         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
118474         than 2 GiB.
118476 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118478         Sync from coreutils.
118479         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
118480         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
118481         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
118482         ULLONG_MAX doesn't work with 2.7.2.1.
118484 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118486         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
118487         From Ben Pfaff.
118489         * modules/exclude (Depends-on): Depend on verify.
118490         * modules/strtoimax (Depends-on): Likewise.
118491         * modules/utimecmp (Depends-on): Likewise.
118493 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118495         * lib/exclude.c: Include verify.h.
118496         (verify): Remove.  All callers changed to use verify.h's version.
118497         * lib/strtoimax.c: Likewise.
118498         * lib/utimecmp.c: Likewis.e
118500         Sync from coreutils.
118501         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
118502         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
118503         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
118504         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
118505         bother returning ENOSYS if settimeofday or stime fails; just let
118506         them return whatever errno they want to return.
118507         * lib/utimens.c: Include unistd.h, for dup2.
118508         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
118509         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
118511 2005-10-02  Jim Meyering  <jim@meyering.net>
118513         Sync from coreutils.
118514         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
118515         from glibc-2.2.5 that fails for read-only files.
118517 2005-10-02  Jim Meyering  <jim@meyering.net>
118519         Sync from coreutils.
118520         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
118521         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
118522         `#if HAVE_CONFIG_H'.
118523         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
118524         Remove AT_FDCWD test.
118525         Do not consume the fd unless successful.
118526         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
118527         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
118528         block, so that we don't even try to compile it if settimeofday is
118529         available.  This works around a compilation failure on OSF1 V5.1,
118530         due to stime requiring a `long int*' while tv_sec is `int'.
118532 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
118534         Sync from coreutils.
118535         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
118536         against `yes', rather than just testing for nonempty.
118538 2005-10-01  Simon Josefsson  <jas@extundo.com>
118540         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
118541         and Darwin.
118543         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
118544         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
118545         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
118546         freeaddrinfo and gai_strerror are declared by the POSIX headers.
118547         Check if struct addrinfo is declared.
118549 2005-10-01  Simon Josefsson  <jas@extundo.com>
118551         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
118552         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
118553         AI_* and EAI_* definitions.  Protect function declarations.
118555 2005-10-01  Jim Meyering  <jim@meyering.net>
118557         Sync from coreutils.
118559         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
118560         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
118561         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
118562         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
118563         in the inet and nsl libraries.  Required on Solaris 5.7.
118565 2005-10-01  Jim Meyering  <jim@meyering.net>
118567         Sync from coreutils.
118568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
118569         in the inet and nsl libraries.  Required on Solaris 5.7.
118571 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
118573         * lib/getdelim.c (getdelim): Remove unused variables.
118575 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
118577         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
118578         so that the code works even with ancient cpp.  Portability problem
118579         with GCC 2.7.2.1 reported by Thomas M.Ott.
118581 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
118583         * modules/regex (Depends-on): Add strcase.
118585         * modules/gethostname (Licence): Change from GPL to LGPL, since
118586         gethostname.c is a trivial implementation of a standard library
118587         function.
118588         * modules/poll (License): Change from GPL to LGPL, since it's
118589         derived from LGPL code.
118591 2005-09-27  Jim Meyering  <jim@meyering.net>
118593         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
118594         HAVE_CONFIG_H.
118596         * lib/intprops.h (signed_type_or_expr__): Define.
118597         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
118598         for unsigned types.
118600 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
118602         * lib/verify.h (verify_expr): Remove, replacing with:
118603         (verify_true): New macro that returns true instead of void.
118604         (verify_type__): Remove.
118605         (verify): Use verify_true rather than verify_type__.
118607 2005-09-26  Bruno Haible  <bruno@clisp.org>
118609         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
118610         is necessary.
118611         (lib_SOURCES): Remove mbchar.c.
118612         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
118613         (Files): Add m4/mbrtowc.m4.
118614         * modules/mbiter: Likewise.
118615         * modules/mbuiter: Likewise.
118617 2005-09-26  Bruno Haible  <bruno@clisp.org>
118619         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
118620         compile mbchar.c if they are not both present.
118621         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
118622         * m4/mbiter.m4 (gl_MBITER): Likewise.
118623         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
118624         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
118625         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
118627 2005-09-25  Jim Meyering  <jim@meyering.net>
118629         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
118630         also uses socklen_t.
118632 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
118634         * lib/utimens.c (ENOSYS): Define if not already defined.
118635         (futimens): Support having a null PATH if the file descriptor
118636         is nonnegative.
118638         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
118639         Remove.
118640         (__attribute): Define to empty unless GCC 3.1 or later.
118641         This works around a core dump on OpenBSD 3.4, which has GCC
118642         2.95.3, which dumps core when given __attribute__(()).  It also
118643         simplifies other tests, since we really don't want to bother with
118644         worrying about which ancient version of GCC supported what.
118645         Original problem reported by Yoann Vandoorselaere, with part of
118646         the fix suggested by Derek Price.
118648 2005-09-24  Jim Meyering  <jim@meyering.net>
118650         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
118651         so we can once again use a positive bitfield width of 1 -- now we
118652         don't have to explain why we were using a bitfield width of 2.
118654 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
118656         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
118657         and similarly for the other external symbols.  Problem reported
118658         by James Gallager.
118660         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
118661         bug reported by Jim Meyering.
118663         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
118664         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
118665         not needed, since socklen is a prerequisite module.
118667 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
118669         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
118670         Problem reported by Eric Blake.
118671         (getaddrinfo): Initialize se so that it's not garbage.
118672         Redo internal storage allocation so that it doesn't make unportable
118673         assumptions about alignment.
118674         Fix a memory leak.
118676         * lib/utimens.c (futimens): Use futimesat if available.
118677         Prefer it to futimes since it doesn't have the futimes bug.
118679         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
118680         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
118681         Instead, declare a function that returns a pointer to an array,
118682         and use verify_type__ to declare the size of the array.
118683         Problem and germ of a solution reported by Bruno Haible.
118684         (verify_type__): Use 2, not 1, for bitfield size, to avoid
118685         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
118687 2005-09-23  Jim Meyering  <jim@meyering.net>
118689         Sync from coreutils.
118690         Correct build failure (socklen_t not defined) on at least
118691         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
118692         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
118694 2005-09-23  Jim Meyering  <jim@meyering.net>
118696         * modules/getaddrinfo (Depends-on): Add socklen.
118698 2005-09-23  Bruno Haible  <bruno@clisp.org>
118700         * tests/test-verify.c: New file.
118702 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118704         Sync from coreutils.
118706         * modules/argmatch (Depends-on): Add verify.
118707         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
118708         unistd-safer.
118709         * modules/save-cwd (Depends-on): Likewise.
118711         * modules/openat (Files): Add lib/openat-die.c.
118712         (Depends-on): Remove error, exitfail.
118713         Add dirname.
118715         * modules/verify: New file.
118716         * MODULES.html.sh (Diagnostics <assert.h>): New section,
118717         with "verify" module.
118719 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118721         Sync from coreutils.
118723         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
118724         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
118725         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
118726         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
118727         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
118728         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
118729         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
118730         Don't bother checking for string.h, stdlib.h, unistd.h.
118731         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
118732         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
118733         module's job.
118734         * m4/jm-macros.m4 (gl_MACROS): Likewise.
118735         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
118737         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
118738         (gl_GETDATE): Use it.
118740         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
118742 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118744         Sync from coreutils.
118746         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
118747         stat-time.h.
118748         * lib/argmatch.h: Include verify.h
118749         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
118750         (ARGMATCH_ASSERT): Remove; unused.
118751         * lib/canonicalize.c: Assume STDC_HEADERS.
118752         * lib/exclude.c: Include "strcase.h".
118753         * lib/regex_internal.h [!defined _LIBC]: Likewise.
118754         * lib/getusershell.c: Include stdio--.h rather than stdio.h
118755         and stdio-safer.h.
118756         (getusershell): Call fopen, not fopen_safer.
118757         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
118758         Do not include unistd-safer.h.
118759         (save_cwd): Don't call fd_safer; no longer needed
118760         now that we include fcntl--.h.
118762         * lib/getdate.y (relative_time): New type.
118763         (RELATIVE_TIME_0): New constant.
118764         (parser_control): Use relative_time instead of doing it ourselves.
118765         (%union): Add new relative_time rel member.
118766         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
118767         Now typeless.
118768         (relunit, relunit_snumber): Now of type rel.
118769         (zone, rel, relunit, get_date): Adjust to above changes.
118771         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
118772         Do not include unistd-safer.h.
118773         (getloadavg): Don't call fd_safer; no longer needed
118774         now that we include fcntl--.h.
118776         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
118777         (make_dir_parents): Treat ENOSYS like EEXIST.
118779         Improve quality of diagnostics on restore_cwd failure.
118780         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
118781         (make_dir_parents): Last arg is now int * (for errno), not bool *.
118782         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
118783         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
118784         each time through the loop.  Do not diagnose restore_cwd failure;
118785         that is the caller's job (and perhaps the caller does not care).
118787         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
118788         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
118789         If the file already exists but is not a directory, don't bother
118790         to try to make its parents.
118791         Close potential file descriptor leak if we can't chdir("/") (!).
118792         Don't always return true if chdir($PWD) fails; return true only
118793         if the requested action was done successfully (except for the
118794         chdir($PWD)).
118795         Don't log final directory unless we actually made it.
118796         Refactor to avoid duplicate code to fix up permissions.
118797         Don't attempt to fix up parent permissions if chdir($PWD) fails.
118799         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
118800         to make it a bit faster and (I hope) clearer.
118801         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
118802         Fix bug in formats like %2N.
118804         * lib/verify.h: New file.
118806 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
118808         Sync from coreutils.
118809         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
118811 2005-09-22  Jim Meyering  <jim@meyering.net>
118813         Sync from coreutils.
118815         * m4/lstat.m4 (gl_FUNC_LSTAT):
118816         Use AC_LIBSOURCES to require lstat.c and lstat.h.
118817         Remove obsolete comment.
118818         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
118819         * m4/xstrtod.m4: Likewise.
118821         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
118823 2005-09-22  Jim Meyering  <jim@meyering.net>
118825         Sync from coreutils.
118827         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
118829         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
118830         the .tm_year member, since otherwise gcc-4.0 would now warn about
118831         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
118833         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
118834         order to avoid an unsuppressible warning from gcc on 64-bit systems.
118836         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
118837         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
118838         when run in a time zone for which daylight savings time is in effect
118839         for the starting date.
118841         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
118842         stop us from restricting permissions of just-created absolute-named
118843         directories.
118844         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
118845         to restore initial working directory.
118846         * lib/mkdir-p.c (make_dir_parents): New parameter:
118847         different_working_dir, to tell caller if/when we change the working
118848         directory and are unable to return to the initial one.
118849         * lib/mkdir-p.h (make_dir_parents): Update prototype.
118850         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
118851         `return false'.  This fixes a bug introduced on 2004-07-30.
118853         * lib/openat.c (fdopendir): Be sure to close the supplied
118854         file descriptor before returning.  This makes our replacement
118855         implementation a little closer to Solaris's, where fdopendir
118856         ties the file descriptor to the returned DIR* pointer.
118857         * lib/openat.c (unlinkat): New function.
118858         * lib/openat.h (unlinkat): Add prototype.
118859         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
118860         (openat_restore_fail): Rename from openat_restore_die.
118861         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
118863         Provide an alternative to exiting immediately upon save_cwd or
118864         restore_cwd failure.  Now, an application can arrange e.g.,
118865         to perform a longjump in that case.
118866         * lib/openat.c: Include dirname.h.
118867         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
118868         (rpl_openat, fdopendir, fstatat): Call openat_save_die
118869         and openat_restore_die rather than calling error directly.
118870         Don't include "error.h" or "exitfail.h"; they're no longer needed.
118872         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
118873         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
118874         define.
118876         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
118877         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
118878                             int utc, int nanoseconds);
118879         Background:
118880         date should not have to allocate a megabyte of virtual memory to
118881         handle a format argument like +%1048575T.  When implemented with
118882         strftime, it must allocate such a buffer, use strftime to fill it
118883         in, print it, then free it.
118884         With fprintftime, it simply prints everything and exits.
118885         With no need for memory allocation, that's one fewer way to fail.
118886         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
118887         optional field width, not before, so we accept %9:z, not %:9z.
118888         (my_strftime): Be sure to use L_('x') for literals.
118890         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
118891         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
118892         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
118893         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
118894         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
118895         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
118896         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
118897         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
118898         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
118899         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
118900         * lib/xgethostname.c, lib/xreadlink.c:
118901         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
118903         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
118904         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
118905         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
118906         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
118907         and don't include <sys/file.h>).
118909 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
118911         Sync from coreutils.
118913         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
118914         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
118915         [!LDAV_DONE]: Avoid unused variable warning.
118917 2005-09-21  Bruno Haible  <bruno@clisp.org>
118919         * lib/unicodeio.h (unicode_to_mb): New declaration.
118921 2005-09-20  Derek Price  <derek@ximbiot.com>
118923         * lib/getaddrinfo.c: Don't include <netdb.h> included from
118924         getaddrinfo.h.
118926 2005-09-20  Bruno Haible  <bruno@clisp.org>
118928         * gnulib-tool: Remove trailing slashes from the values specified for
118929         --source-base, --m4-base, --tests-base, --aux-dir.
118930         Suggested by Simon Josefsson <jas@extundo.com>.
118932 2005-09-20  Bruno Haible  <bruno@clisp.org>
118934         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
118935         func_modules_to_filelist, func_import, func_create_testdir): Make all
118936         sorting results locale-independent, so that gnulib-cache.m4 doesn't
118937         change when gnulib-tool is invoked in a different locale.
118939 2005-09-19  Simon Josefsson  <jas@extundo.com>
118941         * m4/socklen.m4: Fix typo.
118943 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
118945         Use a consistent style for including <config.h>.
118946         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
118947         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
118948         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
118949         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
118950         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
118951         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
118952         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
118953         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
118954         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
118955         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
118956         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
118957         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
118958         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
118959         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
118960         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
118961         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
118962         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
118963         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
118964         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
118965         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
118966         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
118967         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
118968         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
118969         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
118970         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
118971         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
118972         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
118973         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
118974         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
118975         lib/xstrtoumax.c, lib/yesno.c:
118976         Standardize inclusion of config.h.
118977         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
118978         lib/inttostr.h:  Removed inclusion of config.h from header files.
118979         * lib/inttostr.c:  Adjusted in-tree users.
118980         * lib/timespec.h: Remove superfluous warning to include config.h.
118981         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
118982         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
118983         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
118984         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
118985         config.h with HAVE_CONFIG_H.
118987 2005-09-19  Jim Meyering  <jim@meyering.net>
118989         * modules/pathmax (License): Change to LGPL.
118991 2005-09-19  Derek Price  <derek@ximbiot.com>
118993         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
118995 2005-09-19  Bruno Haible  <bruno@clisp.org>
118997         * gnulib-tool (import): Provide default for --tests-base.
118999 2005-09-19  Bruno Haible  <bruno@clisp.org>
119001         * doc/quote.texi: New file, extracted from gnulib.texi.
119002         * doc/ctime.texi: New file, extracted from gnulib.texi.
119003         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
119004         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
119005         * doc/gnulib.texi: Include them.
119007 2005-09-18  Bruno Haible  <bruno@clisp.org>
119009         Portability fix.
119010         * gnulib-tool (func_readlink): New function.
119011         (func_ln_if_changed): Use it.
119013 2005-09-18  Bruno Haible  <bruno@clisp.org>
119015         * gnulib-tool: Support --with-tests also with --import.
119016         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
119017         (func_import): Use variables $testsbase and $inctests. Emit a
119018         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
119019         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
119020         SUBDIRS += $testsdir.
119021         (func_create_testdir): Update.
119023 2005-09-18  Bruno Haible  <bruno@clisp.org>
119025         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
119026         instead of $dry_run.
119027         (func_cp_if_changed, func_mv_if_changed): Remove functions.
119028         (func_ln_if_changed): Don't handle dry-run here.
119029         (func_import): In dry-run mode, detect more precisely which actions
119030         would be performed, and don't use "...ing" verbs.
119032 2005-09-18  Bruno Haible  <bruno@clisp.org>
119034         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
119035         (func_import): Use join on two temporary files instead of three nested
119036         loops, in order to determine which files are new or old.
119038 2005-09-18  Bruno Haible  <bruno@clisp.org>
119040         * gnulib-tool (func_import): Comment out code that spits out the
119041         new files with --dry-run.
119043 2005-09-18  Bruno Haible  <bruno@clisp.org>
119045         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
119047 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119049         * lib/stat-time.h: New file.
119050         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
119051         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
119052         in a different way.
119053         (timespec_cmp): New function.
119054         * lib/utimecmp.c: Include stat-time.h.
119055         (SYSCALL_RESOLUTION): Depend on whether various struct stat
119056         members exist, not on the obsolescent ST_MTIM_NSEC.
119057         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
119059 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119061         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
119063 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119065         * MODULES.html.sh (File system functions): Add stat-time.
119066         * modules/stat-time: New file.
119067         * modules/timespec (Files): Remove m4/st_mtim.m4; this
119068         is now done in a different way, by the stat-time module.
119069         * modules/utimecmp (Depends-on): Add stat-time.
119071 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
119073         * m4/st_mtim.m4: Remove.  Superseded by...
119074         * m4/stat-time.m4: New file.
119075         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
119076         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
119078 2005-09-15  Derek Price  <derek@ximbiot.com>
119080         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
119082 2005-09-15  Derek Price  <derek@ximbiot.com>
119084         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
119085         * lib/regex_internal.c: Ditto, using this...
119086         (__GNUC_PREREQ): ...new macro.
119087         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
119088         using...
119089         (__GNUC_PREREQ): ...this new macro.
119091         * lib/strstr.h: Include string.h. Define strstr as a macro here.
119093 2005-09-15  Derek Price  <derek@ximbiot.com>
119094             Paul Eggert  <eggert@cs.ucla.edu>
119096         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
119097         changes, consolidating in...
119098         * lib/regex_internal.h: ...this file.
119100 2005-09-13  Jim Meyering  <jim@meyering.net>
119102         * lib/canon-host.c: Filter through gnu indent and reword comments
119103         slightly.
119104         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
119106 2005-09-13  Derek Price  <derek@ximbiot.com>
119108         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
119109         failure.
119110         Reported by Jim Meyering  <jim@meyering.net>.
119112 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119114         * lib/base64.c: Typo.
119115         (base64_encode): Put b64str in initialized data section.
119117 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
119119         Merge glibc and coreutils changes into gnulib, plus a few
119120         extra fixes.
119121         * lib/md5.c: Use #error rather than a string.
119122         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
119123         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
119124         (__attribute__): Define to empty for non recent-GCC.
119125         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
119126         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
119127         Renamed from their non-__ counterparts, with new macros replacing
119128         them if not _LIBC.  Add __THROW attribute.
119129         (rol): Remove.
119130         (struct md5_ctx): Align buffer if using GCC.
119131         * lib/sha1.h (struct sha1_ctx): Likewise.
119132         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
119133         The old name was backwards.
119134         (NOTSWAP): Remove; not used.
119135         (rol): New macro, moved here from md5.h.
119136         (sha1_process_block): Remove a FIXME that doesn't make sense.
119138 2005-09-12  Derek Price  <derek@ximbiot.com>
119140         Return usable errors from canon-host.
119141         * lib/canon-host.h: New file.
119142         * lib/canon-host.c (canon_host): Wrap...
119143         (canon_host_r): ...this new function, which now relies exclusively on
119144         getaddrinfo.
119145         (ch_strerror): New function.
119146         (last_cherror): New global.
119147         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
119148         interface.
119149         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
119150         void *.
119151         (freeaddrinfo): Free ai->ai_canonname when set.
119153 2005-09-12  Derek Price  <derek@ximbiot.com>
119155         Make canon-host require getaddrinfo.
119156         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
119157         AC_LIBSOURCE canon-host.h.  Call...
119158         (gl_PREREQ_CANON_HOST): ...this new function, which requires
119159         gl_GETADDRINFO.
119160         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
119162 2005-09-12  Derek Price  <derek@ximbiot.com>
119164         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
119165         LGPL.
119166         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
119168 2005-09-12  Derek Price  <derek@ximbiot.com>
119170         * lib/gai_strerror.c: Include config.h when available.  Include
119171         getaddrinfo.h before other headers to test interface.
119172         Reported by Larry Jones <lawrence.jones@ugs.com>.
119174 2005-09-12  Derek Price  <derek@ximbiot.com>
119175             Paul Eggert  <eggert@cs.ucla.edu>
119177         * modules/glob (Files): Add glob-libc.h.
119179 2005-09-12  Derek Price  <derek@ximbiot.com>
119180             Paul Eggert  <eggert@cs.ucla.edu>
119182         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
119183         glob_.h, glob-libc.h.
119184         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
119186 2005-09-12  Derek Price  <derek@ximbiot.com>
119187             Paul Eggert  <eggert@cs.ucla.edu>
119189         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
119190         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
119191         protecting things that should be done only in gnulib contexts.
119192         * lib/glob_.h: New file, containing only the glob things needed for
119193         gnulib.
119194         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
119195         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
119196         (glob, globfree, glob_pattern_p): Now defined simply in terms of
119197         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
119198         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
119199         and to respect the namespace rules better.
119201 2005-09-08  Simon Josefsson  <jas@extundo.com>
119203         * modules/socklen: New file.
119205 2005-09-08  Simon Josefsson  <jas@extundo.com>
119207         * m4/socklen.m4: New file.
119209 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119211         * modules/utimens (Files): Add m4/utimbuf.m4, since
119212         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
119213         Reported by Sergey Poznyakoff.
119215 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119217         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
119218         definitions, since that's the preferred style in glibc.
119219         Fix a minor spacing issue, and update copyright notice to match
119220         glibc's.
119222 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119224         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
119226 2005-09-06  Simon Josefsson  <jas@extundo.com>
119228         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
119229         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
119231 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119233         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
119234         warning.
119236 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119238         * config/srclist.txt: Add glibc bug 1302.
119240 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
119242         Change bitset word type from unsigned int to unsigned long int,
119243         as this has better performance on typical 64-bit hosts.
119244         Port bitset code to hosts with unusual word sizes.
119245         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
119246         (build_collating_symbol):
119247         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
119248         argument is a bitset.  This is merely a style issue, but it makes
119249         it clearer that an entire array is expected.
119250         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
119251         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
119252         Port to the case where bitset_word is not the same as unsigned int.
119253         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119254         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
119255         Likewise.
119256         * lib/regexec.c (check_dst_limits_calc_pos_1,
119257         check_subexp_matching_top):
119258         (build_trtable, group_nodes_into_DFAstates):
119259         Likewise.
119260         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
119261         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
119262         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
119263         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
119264         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
119265         * lib/regcomp.c (optimize_subexps, lower_subexp):
119266         Work even if bitset_word has holes in its bitwise representation.
119267         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
119268         * lib/regexec.c (check_dst_limits_calc_pos_1,
119269         check_subexp_matching_top):
119270         Likewise.
119271         * lib/regex_internal.c (re_string_reconstruct):
119272         Don't assume UCHAR_MAX == 255.
119273         * lib/regex_internal.h (bitset_set_all): Likewise.
119274         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
119275         All uses changed.
119276         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
119277         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
119278         All uses changed.
119279         (BITSET_WORD_MAX): New macro.
119280         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
119281         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
119282         (bitset_empty, bitset_copy):
119283         Prefer sizeof (bitset) to multiplying it out ourselves.
119284         (bitset_not_merge): Remove; unused.
119285         (bitset_contain): Return bool, not unsigned int with one bit on.
119286         All callers changed.
119287         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
119288         alignment than re_node_set; do this by defining a new internal
119289         type struct dests_alloc and using it to allocate memory.
119291 2005-09-05  Bruno Haible  <bruno@clisp.org>
119293         * gnulib-tool (func_import): Fix comparison in handling of symbolic
119294         links.
119296 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
119298         * modules/size_max (Makefile.am): Add size_max.h
119300 2005-09-04  Derek Price  <derek@ximbiot.com>
119302         * gnulib-tool (func_import): Fix reversed $symbolic logic.
119304 2005-09-03  Simon Josefsson  <jas@extundo.com>
119306         * gnulib-tool: Fix typo.
119308 2005-09-03  Simon Josefsson  <jas@extundo.com>
119310         * config/srclist.txt: Add glibc bug 1293.
119312 2005-09-03  Derek Price  <derek@ximbiot.com>
119314         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
119315         From Larry Jones <lawrence.jones@ugs.com>.
119317 2005-09-02  Simon Josefsson  <jas@extundo.com>
119319         * modules/socklen: New file.
119321 2005-09-02  Simon Josefsson  <jas@extundo.com>
119323         * modules/havelib: New module.
119325         * modules/gettext, modules/iconv, modules/lock, modules/readline:
119326         Use havelib.
119328 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119330         Check for arithmetic overflow when calculating sizes, to prevent
119331         some buffer-overflow issues.  These patches are conservative, in the
119332         sense that when I couldn't determine whether an overflow was possible,
119333         I inserted a run-time check.
119334         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
119335         macros.
119336         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
119337         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
119338         (re_xnrealloc, re_x2nrealloc): New inline functions.
119339         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
119340         parse_bracket_exp):
119341         (build_equiv_class, build_charclass): Check for arithmetic overflow
119342         in size expression calculations.
119343         * lib/regex_internal.c (re_string_realloc_buffers):
119344         (build_wcs_upper_buffer, re_node_set_add_intersect):
119345         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
119346         (re_dfa_add_node, register_state): Likewise.
119347         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
119348         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
119349         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
119350         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
119352 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119354         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
119355         m4/ulonglong.m4.  Problem reported by Martin Lambers.
119357 2005-09-02  Bruno Haible  <bruno@clisp.org>
119359         Support for lib vs. lib64 distinction on biarch platforms.
119360         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
119361         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
119362         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
119364 2005-09-02  Bruno Haible  <bruno@clisp.org>
119366         * gnulib-tool (import): In the other first-use case, provide defaults
119367         as well.
119369 2005-09-02  Bruno Haible  <bruno@clisp.org>
119371         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
119372         patches not yet found in the latest gettext release.
119374 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119376         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
119377         to avoid a collision with bits/local_lim.h in glibc.
119378         All uses changed.  Problem reported by Dmitry V. Levin in
119379         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
119381         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
119382         bugs in int versus size_t comparisons.
119383         (re_string_context_at): Fix bug where the code assumed that
119384         Idx is signed.
119386         Use bool where appropriate.
119387         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
119388         All callers changed.
119389         (calc_eclosure_iter): Likewise, for ROOT arg.
119390         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
119391         (build_charclass_op): Likewise, for NON_MATCH arg.
119392         * lib/regex_internal.c (re_string_allocate, re_string_construct):
119393         (re_string_construct_common): Likewise, for ICASE arg.
119394         * lib/regexec.c (re_search_2_stub, re_search_stub):
119395         Likewise, for RET_LEN arg.
119396         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
119397         (set_regs): Likewise, for FL_BACKTRACK arg.
119398         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
119399         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
119400         (calc_eclosure_iter, parse_bracket_exp):
119401         Use bool for internal variables that are booleans.
119402         * lib/regexec.c (re_search_internal, check_matching,
119403         proceed_next_node):
119404         (set_regs, build_sifted_states, sift_states_bkref):
119405         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
119406         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
119407         (find_collation_sequence_value):
119408         Likewise.
119409         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
119410         (re_node_set_compare):
119411         Return bool, not int. All callers changed.
119412         * lib/regexec.c (check_halt_node_context, check_dst_limits):
119413         (build_trtable, check_node_accept): Likewise.
119414         * lib/regex_internal.h: Include stdbool.h.
119416         Fix bugs uncovered when converting to bool.
119417         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
119418         failure instead of charging ahead blindly.
119419         * lib/regex_internal.c (register_state): Likewise.
119420         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
119421         for freeing internal storage.
119422         (group_nodes_into_DFA_states): Use unsigned int, not int, for
119423         bitset pieces used as boolean, to avoid undefined behavior
119424         on hosts that do int overflow checking.
119426 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119428         * config/srclist.txt: Add glibc bugs 1285-1287.
119430 2005-09-01  Jim Meyering  <jim@meyering.net>
119432         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
119433         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
119434         Require gl_STAT_MACROS, too.
119436 2005-09-01  Bruno Haible  <bruno@clisp.org>
119438         * gnulib-tool (import): In the first-use case, provide defaults.
119440 2005-09-01  Bruno Haible  <bruno@clisp.org>
119442         * gnulib-tool (func_import): Remove the .tmp files.
119444 2005-09-01  Bruno Haible  <bruno@clisp.org>
119446         * gnulib-tool (func_import): Fix handling of symbolic links.
119448 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119450         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
119451         old glibc regex code mishandles strings longer than 2**31 bytes.
119452         This patch fixes this when the regex code is used in gnulib
119453         (i.e., outside glibc).
119455         This patch should not affect the use of the regex code inside
119456         glibc.  No doubt this problem also needs to be handled for glibc
119457         as well, but the result will be an incompatible change to the
119458         glibc ABI, and the old ABI will have to be supported too.  That
119459         can be the subject for another patch.
119461         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
119462         governing whether the rest of this patch is active.  By default,
119463         the macro is disabled and the patch has no effect.
119464         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
119465         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
119466         (struct re_pattern_buffer, re_search, re_search_2, re_match):
119467         (re_match_2, re_set_registers): Use the new types.
119468         * lib/regex_internal.h (Idx, re_hashval_t): New types.
119469         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
119470         New macros.
119471         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
119472         (re_string_context_at, bin_tree_t, re_dfastate_t):
119473         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
119474         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
119475         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
119476         (re_string_char_size_at, re_string_wchar_at):
119477         (re_string_elem_size_at):
119478         Use the new types and macros to port to 64-bit hosts.
119479         Use unsigned types for internal values, so that the code
119480         mostly works even for arrays larger than SSIZE_MAX.
119481         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
119482         (search_duplicated_node, calc_eclosure_iter, fetch_number):
119483         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
119484         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
119485         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
119486         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
119487         (calc_inveclosure, parse_dup_op, build_range_exp):
119488         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
119489         (fetch_number, create_token_tree, mark_opt_subexp):
119490         Likewise.
119491         * lib/regex_internal.c (re_string_construct_common,
119492         create_ci_newstate):
119493         (create_cd_newstate, re_string_allocate, re_string_construct):
119494         (re_string_realloc_buffers, build_wcs_upper_buffer):
119495         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
119496         (re_string_reconstruct, re_string_peek_byte_case):
119497         (re_string_fetch_byte_case, re_string_context_at):
119498         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
119499         (re_node_set_init_copy, re_node_set_add_intersect):
119500         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119501         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119502         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
119503         (re_acquire_state, re_acquire_state_context, register_state):
119504         Likewise.
119505         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
119506         search_cur_bkref_entry):
119507         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
119508         (re_search_internal, re_search_2_stub, re_search_stub)
119509         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
119510         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
119511         (update_cur_sifted_state, check_dst_limits):
119512         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
119513         (check_subexp_limits, sift_states_bkref, merge_state_array):
119514         (check_subexp_matching_top, get_subexp, get_subexp_sub):
119515         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
119516         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
119517         (expand_bkref_cache, check_node_accept_bytes):
119518         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
119519         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
119520         (acquire_init_state_context, check_halt_node_context):
119521         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
119522         (sift_states_backward, clean_state_log_if_needed):
119523         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
119524         (find_recover_state, transit_state_sb, transit_state_mb):
119525         (transit_state_bkref, build_trtable, match_ctx_clean):
119526         Likewise.
119527         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
119528         to work around an assumption that REG_MISSING is negative.
119530         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
119531         (seek_collating_symbol_entry) [defined _LIBC]:
119532         (lookup_collation_sequence_value) [defined _LIBC]:
119533         (build_range_exp, build_collating_symbol) [defined _LIBC]:
119534         Use prototypes rather than old-style function definitions.
119535         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
119536         (transit_state_sb) [0]:
119537         (find_collation_sequence_value) [defined _LIBC]: Likewise.
119539         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
119540         rm_eo.
119542         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
119543         (optimize_subexps, lower_subexp):
119544         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
119545         since the signed shift might overflow.  Use 1u<<31 instead.
119546         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119547         Likewise.
119548         * lib/regexec.c (check_dst_limits_calc_pos_1,
119549         check_subexp_matching_top): Likewise.
119551         * lib/regcomp.c (optimize_subexps, lower_subexp):
119552         Use CHAR_BIT rather than 8, for clarity.
119553         * lib/regexec.c (check_dst_limits_calc_pos_1):
119554         (check_subexp_matching_top): Likewise.
119555         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
119556         have to worry about portability issues when shifting it left.
119557         Remove no-longer-needed test for table_size > 0.
119558         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
119559         in a word, as the resulting behavior is undefined.
119560         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
119561         in one case, a <= should have been an <, and in another case the
119562         whole test was missing.
119563         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
119564         the standard name CHAR_BIT.
119565         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
119566         this is not true on one's complement and signed-magnitude hosts.
119568         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
119569         next_last_offset.
119570         (struct re_dfa_t): Remove unused member states_alloc.
119571         * lib/regcomp.c (init_dfa): Don't initialize unused members.
119573 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119575         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
119576         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
119577         and large-file glibc and in 32-bit large-file Solaris.
119579 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119581         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
119582         lengths fit in regoff_t; this isn't true if regoff_t is the same
119583         width as size_t.
119584         * lib/regex.c (re_search_internal): 5th arg is LAST_START
119585         (= START + RANGE) instead of RANGE.  This avoids overflow
119586         problems when regoff_t is the same width as size_t.
119587         All callers changed.
119588         (re_search_2_stub): Check for overflow when adding the
119589         sizes of the two strings.
119590         (re_search_stub): Check for overflow when adding START
119591         to RANGE; if it occurs, substitute the extreme value.
119593 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119595         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
119597 2005-08-31  Jim Meyering  <jim@meyering.net>
119599         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
119600         a pointer-to-const.
119601         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
119602         (register_state): Likewise.
119603         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
119604         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
119605         (group_nodes_into_DFAstates): Likewise.
119607 2005-08-31  Jim Meyering  <jim@meyering.net>
119609         * check-module: Add a FIXME comment.
119611 2005-08-31  Eric Blake  <ebb9@byu.net>
119613         * modules/unistd-safer (Files): Add unistd--.h.
119614         * modules/stdio-safer (Files): Add stdio--.h.
119616 2005-08-31  Derek Price  <derek@ximbiot.com>
119618         * lib/getdelim.c (getdelim): Return EOF on EOF.
119619         Reported by Larry Jones <lawrence.jones@ugs.com>.
119621 2005-08-31  Bruno Haible  <bruno@clisp.org>
119623         Avoid unnecessary diffs in the generated lib/Makefile.am.
119624         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
119625         the generated files.
119626         (func_import): Don't set cmd.
119628 2005-08-31  Bruno Haible  <bruno@clisp.org>
119630         * lib/strstr.c: Include <stddef.h>, for NULL.
119631         * lib/strcasestr.c: Likewise.
119632         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
119634 2005-08-31  Bruno Haible  <bruno@clisp.org>
119636         * gnulib-tool: New option --macro-prefix.
119637         (func_import): Use macro_prefix.
119638         (import): Handle option --macro-prefix.
119640 2005-08-31  Bruno Haible  <bruno@clisp.org>
119642         * gnulib-tool (import): Rename most ac_* variables to cached_*.
119643         Also use new variables cached_lgpl, cached_libtool.
119645 2005-08-31  Bruno Haible  <bruno@clisp.org>
119647         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
119648         always instantiating them.
119650 2005-08-31  Bruno Haible  <bruno@clisp.org>
119652         * gnulib-tool (func_import): Read the previous cached settings
119653         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
119654         earlier added by gnulib but are now dropped. Warn when a gnulib file
119655         overwrites a non-gnulib file.
119657 2005-08-31  Bruno Haible  <bruno@clisp.org>
119659         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
119660         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
119661         projects that don't keep autogenerated files in CVS. Put into
119662         actioncmd only the specified modules, not the transitive closure.
119664 2005-08-31  Bruno Haible  <bruno@clisp.org>
119666         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
119667         Create directories that shall be filled.
119668         (import): Don't look for gl_* macros in configure.ac. Recurse across
119669         all directories containing a gnulib-cache.m4 files, if meaningful.
119671 2005-08-31  Bruno Haible  <bruno@clisp.org>
119673         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
119674         (import): Set seen_libtool when we see gl_LIBTOOL.
119676 2005-08-31  Bruno Haible  <bruno@clisp.org>
119678         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
119679         declaration macro definitions from generated gnulib.m4.
119681 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
119683         * lib/iconvme.h: Add prototype for iconv_alloc.
119685 2005-08-29  Simon Josefsson  <jas@extundo.com>
119687         * lib/iconvme.c: Fix errno.
119689 2005-08-29  Bruno Haible  <bruno@clisp.org>
119691         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
119692         that it works when the directory contains spaces.
119694 2005-08-29  Bruno Haible  <bruno@clisp.org>
119696         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
119698 2005-08-29  Bruno Haible  <bruno@clisp.org>
119700         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
119701         Emit more advice.
119703 2005-08-29  Bruno Haible  <bruno@clisp.org>
119704         and Stepan Kasal  <kasal@ucw.cz>
119706         * check-module: If more parameters are given, check each of them
119707         separately; add more exceptions, as noted by Jim Meyering.
119708         (check_module): New procedure.
119709         (%exempt_header): Now contains all exceptions.
119711 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
119713         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
119715 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
119717         * lib/iconvme.c: Split iconv_string into iconv_alloc.
119719 2005-08-28  Bruno Haible  <bruno@clisp.org>
119721         * m4/gnulib-tool.m4: New file.
119723 2005-08-27  Jim Meyering  <jim@meyering.net>
119725         * modules/unistd-safer (Files): Add pipe-safer.c.
119726         * modules/fcntl-safer (Files): Add creat-safer.c.
119728 2005-08-27  Jim Meyering  <jim@meyering.net>
119730         * m4/stdlib-safer.m4: New file.  From coreutils.
119731         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
119732         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
119733         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
119734         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
119735         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
119737 2005-08-27  Jim Meyering  <jim@meyering.net>
119739         * lib/fopen-safer.c: Merge minor changes from coreutils.
119740         * lib/dup-safer.c: Likewise.
119741         * lib/fd-safer.c: Likewise.
119743         Merge from coreutils.
119744         * lib/stdio--.h: New file.
119745         * lib/stdlib--.h: New file.
119746         * lib/mkstemp-safer.c: New file.
119748         GNU tar needs these.
119749         * lib/pipe-safer.c: New file.
119750         * lib/creat-safer.c: New file.
119751         * lib/fcntl--.h (creat): Define to creat_safer.
119752         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
119753         * lib/unistd--.h (pipe): Define to pipe_safer.
119754         * lib/unistd-safer.h: Declare pipe_safer.
119756 2005-08-26  Simon Josefsson  <jas@extundo.com>
119758         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
119759         Haible <bruno@clisp.org>.
119761 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
119763         * lib/regex_internal.h: Remove all references to
119764         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
119765         or better.
119766         (bitset_not, bitset_merge, bitset_not_merge):
119767         (bitset_mask, re_string_allocate, re_string_construct):
119768         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
119769         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
119770         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
119771         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
119772         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
119773         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
119774         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
119775         (re_acquire_state_context):
119776         Remove unnecessary forward decls.
119777         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
119778         Put __attribute at function definition,
119779         now that the function decl has been removed.
119780         * lib/regex_internal.c (re_string_peek_byte_case):
119781         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
119782         Likewise.
119784 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
119786         * m4/regex.m4: Add AC_PREREQ(2.50).
119787         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
119789 2005-08-25  Simon Josefsson  <jas@extundo.com>
119791         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
119792         __fsetlocking.
119794 2005-08-25  Simon Josefsson  <jas@extundo.com>
119796         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
119797         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
119798         GLIBC specific code.
119800 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119802         Make regex safe for g++.  This fixes one real bug (an "err"
119803         that should have been "*err").  g++ problem reported by
119804         Sam Steingold.
119805         * lib/regex_internal.h (re_calloc): New macro, consistent with
119806         re_malloc etc.  All callers of calloc changed to use re_calloc.
119807         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
119808         not int.  All callers changed.
119809         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
119810         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
119811         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
119812         (find_recover_state): Change "err" to "*err"; this fixes what
119813         appears to be a real bug.
119814         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
119815         versus int.
119817 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119819         * modules/regex (Depends-on): Add malloc, since the code
119820         assumes that !malloc(0) means failure.
119822 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119824         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
119826         alloca modernization/simplification for regex.
119827         * lib/regex.c: Remove portability cruft for alloca.  This no longer
119828         needs to be at the start of the file, and can be moved into
119829         regex_internal.h and simplified.
119830         * lib/regex_internal.h: Include <alloca.h>.
119831         (__libc_use_alloca) [!defined _LIBC]: New macro.
119832         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
119833         now works outside glibc.
119835 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
119837         * config/srclist.txt: Add glibc bugs 1241, 1245.
119839 2005-08-25  Jim Meyering  <jim@meyering.net>
119841         * lib/open-safer.c: Include <config.h>.
119842         Otherwise, we'd lose LARGEFILE support in any file using
119843         e.g. "fcntl--.h"
119845 2005-08-25  Bruno Haible  <bruno@clisp.org>
119847         * m4/minmax.m4: Require autoconf 2.52.
119848         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
119849         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
119850         alternatives of translit over the alphabet.
119851         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
119853 2005-08-24  Simon Josefsson  <jas@extundo.com>
119855         * tests/test-getpass.c: New file.
119857 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
119859         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
119860         for GNU regex features.
119862 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
119864         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
119865         * lib/regex.h (regerror): Likewise.
119867         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
119868         requires this.  (The code never needed it.)
119870         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
119871         All uses of recently-renamed identifiers changed to use the new,
119872         POSIX-compliant names.  The code will build and run just fine
119873         without these changes, but it's better to eat our own dog food
119874         and use the standard-conforming names.
119876         * lib/regex.h: Fix a multitude of POSIX name space violations.
119877         These changes have an effect only for programs that define
119878         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
119879         do not change anything for programs compiled in the normal way.
119880         Also, there is no effect on the ABI.
119882         (_REGEX_SOURCE): New macro.
119883         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
119884         defined and _GNU_SOURCE is not; this fixes a name space violation.
119886         Rename the following macros to obey POSIX requirements.
119887         The old names are still visible as macros if _REGEX_SOURCE is defined.
119888         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
119889         RE_BACKSLASH_ESCAPE_IN_LISTS.
119890         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
119891         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
119892         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
119893         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
119894         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
119895         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
119896         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
119897         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
119898         (REG_INTERVALS): renamed from RE_INTERVALS.
119899         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
119900         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
119901         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
119902         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
119903         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
119904         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
119905         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
119906         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
119907         RE_UNMATCHED_RIGHT_PAREN_ORD.
119908         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
119909         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
119910         (REG_DEBUG): renamed from RE_DEBUG.
119911         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
119912         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
119913         unusual, since we can't clash with the POSIX REG_ICASE.
119914         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
119915         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
119916         (REG_NO_SUB): renamed from RE_NO_SUB.
119917         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
119918         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
119919         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
119920         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
119921         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
119922         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
119923         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
119924         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
119925         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
119926         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
119927         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
119928         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
119929         RE_SYNTAX_POSIX_MINIMAL_BASIC.
119930         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
119931         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
119932         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
119933         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
119934         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
119935         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
119936         (REG_FIXED): Renamed from REGS_FIXED.
119937         (REG_NREGS): Renamed from RE_NREGS.
119939         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
119940         of other REG_* macros, since POSIX says the user is allowed to
119941         #undef these macros selectively.
119943         (reg_errcode_t): Update comment stating what other tables need
119944         to be consistent.
119946         Rename the following enum values to obey POSIX requirements.
119947         The old names are still visible as macros.
119948         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
119949         is not defined, since GNU is supposed to be a superset of POSIX as
119950         much as possible, and since we want reg_errcode_t to be a signed
119951         type for implementation consistency.
119952         (_REG_NOERROR): Renamed from REG_NOERROR.
119953         (_REG_NOMATCH): Renamed from REG_NOMATCH.
119954         (_REG_BADPAT): Renamed from REG_BADPAT.
119955         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
119956         (_REG_ECTYPE): Renamed from REG_ECTYPE.
119957         (_REG_EESCAPE): Renamed from REG_EESCAPE.
119958         (_REG_ESUBREG): Renamed from REG_ESUBREG.
119959         (_REG_EBRACK): Renamed from REG_EBRACK.
119960         (_REG_EPAREN): Renamed from REG_EPAREN.
119961         (_REG_EBRACE): Renamed from REG_EBRACE.
119962         (_REG_BADBR): Renamed from REG_BADBR.
119963         (_REG_ERANGE): Renamed from REG_ERANGE.
119964         (_REG_ESPACE): Renamed from REG_ESPACE.
119965         (_REG_BADRPT): Renamed from REG_BADRPT.
119966         (_REG_EEND): Renamed from REG_EEND.
119967         (_REG_ESIZE): Renamed from REG_ESIZE.
119968         (_REG_ERPAREN): Renamed from REG_ERPAREN.
119969         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
119970         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
119971         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
119972         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
119974         (_REG_RE_NAME, _REG_RM_NAME): New macros.
119975         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
119976         changed.  But support the old name if the new one is not defined
119977         and if _REGEX_SOURCE.
119979         Change the following member names in struct re_pattern_buffer.
119980         The old names are still supported if !_REGEX_SOURCE.
119981         The new names are always supported, regardless of _REGEX_SOURCE.
119982         (re_buffer): Renamed from buffer.
119983         (re_allocated): Renamed from allocated.
119984         (re_used): Renamed from used.
119985         (re_syntax): Renamed from syntax.
119986         (re_fastmap): Renamed from fastmap.
119987         (re_translate): Renamed from translate.
119988         (re_can_be_null): Renamed from can_be_null.
119989         (re_regs_allocated): Renamed from regs_allocated.
119990         (re_fastmap_accurate): Renamed from fastmap_accurate.
119991         (re_no_sub): Renamed from no_sub.
119992         (re_not_bol): Renamed from not_bol.
119993         (re_not_eol): Renamed from not_eol.
119994         (re_newline_anchor): Renamed from newline_anchor.
119996         Change the following member names in struct re_registers.
119997         The old names are still supported if !_REGEX_SOURCE.
119998         The new names are always supported, regardless of _REGEX_SOURCE.
119999         (rm_num_regs): Renamed from num_regs.
120000         (rm_start): Renamed from start.
120001         (rm_end): Renamed from end.
120003         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
120004         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
120005         Prepend __ to parameter names.
120007         Undo yesterday's changes.
120009 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120011         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
120012         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
120013         lib/regex.c.
120015 2005-08-24  Jim Meyering  <jim@meyering.net>
120017         Sync from coreutils.
120018         * m4/fcntl-safer.m4: New file.
120020         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
120021         and object files for this module.
120023 2005-08-24  Jim Meyering  <jim@meyering.net>
120025         Sync from coreutils.
120026         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
120028 2005-08-24  Jim Meyering  <jim@meyering.net>
120030         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
120031         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
120033 2005-08-24  Jim Meyering  <jim@meyering.net>
120035         * modules/fcntl-safer: New module.
120036         * modules/fts (Depends-on): Add fcntl-safer.
120037         * MODULES.html.sh (File descriptor based Input/Output):
120038         Add fcntl-safer.
120040 2005-08-24  Bruno Haible  <bruno@clisp.org>
120042         Support for unit test modules.
120043         * modules/README: Mention tests modules.
120044         * modules/TEMPLATE-TESTS: New file.
120045         * gnulib-tool: New options --extract-tests-module, --with-tests and
120046         --tests-base (unused for the moment).
120047         (testsbase, inctests): New variables.
120048         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
120049         (func_verify_module): Exclude TEMPLATE-TESTS.
120050         (func_verify_nontests_module, func_verify_tests_module): New functions.
120051         (func_get_dependencies): Add implicit dependency for tests modules.
120052         (func_get_tests_module): New function.
120053         (func_modules_transitive_closure): When --with-tests was specified,
120054         include the unit tests as well, unless explicitly avoided.
120055         (func_emit_lib_Makefile_am): Ignore the tests modules here.
120056         (func_emit_tests_Makefile_am): New function.
120057         (func_create_testdir): When --with-tests was specified, emit a
120058         tests/ directory.
120059         * MODULES.html.sh (Future developments): Update.
120061 2005-08-24  Bruno Haible  <bruno@clisp.org>
120063         * modules/tls-tests: New file.
120064         * tests/test-tls.c: New file, from GNU gettext.
120066 2005-08-24  Bruno Haible  <bruno@clisp.org>
120068         * modules/lock-tests: New file.
120069         * tests/test-lock.c: New file, from GNU gettext.
120071 2005-08-24  Bruno Haible  <bruno@clisp.org>
120073         * lib/lock.h: Add multiple inclusion guard.
120074         * lib/tls.h: Add multiple inclusion guard.
120076 2005-08-24  Bruno Haible  <bruno@clisp.org>
120078         * gnulib-tool: Add support for the --aux-dir option to
120079         --create-testdir, --create-megatestdir, --test, --megatest.
120080         (func_create_testdir, func_create_megatestdir): Optionally emit a
120081         AC_CONFIG_AUX_DIR directive.
120082         (create-testdir, create-megatestdir, test, megatest): Provide a
120083         default value for $auxdir.
120085 2005-08-24  Bruno Haible  <bruno@clisp.org>
120087         * gnulib-tool (import): Use compound statement instead of subshell
120088         where possible.
120090 2005-08-24  Bruno Haible  <bruno@clisp.org>
120092         * gnulib-tool (import): Change --aux-dir default to "build-aux".
120094 2005-08-24  Bruno Haible  <bruno@clisp.org>
120096         * gnulib-tool (func_version): Update.
120098 2005-08-24  Bruno Haible  <bruno@clisp.org>
120100         * gnulib-tool (func_import, func_create_testdir,
120101         func_create_megatestdir): Quote all autoconf macro arguments.
120103 2005-08-24  Bruno Haible  <bruno@clisp.org>
120105         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
120106         option --force, because --force causes the aclocal.m4 of each
120107         subdirectory to be newer than the corresponding config.h.in.
120109 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120111         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
120112         All contents moved to gl_REGEX.
120113         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
120114         assume that it does.
120116 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120118         * lib/regex.h (REG_NOSYS)
120119         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
120120         Define, since POSIX requires it as of 2001.
120121         (_REG_ENOSYS)
120122         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
120123         New private symbol, used to keep the enum signed in all cases.
120124         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
120125         Youngman in
120126         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
120128         * lib/regex_internal.c (re_string_skip_chars, register_state):
120129         (calc_state_hash):
120130         Remove forward decls; no longer needed now that we use prototypes.
120131         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
120132         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
120133         (clean_state_log_if_needed): Likewise.
120135 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120137         * config/srclist.txt: Add glibc bugs 1231-1233.
120139 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120141         Fix problems reported by Sam Steingold in
120142         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
120143         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
120144         assumed that reg_errcode_t is a signed type, which is not
120145         necessarily true if _XOPEN_SOURCE is not defined.
120146         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
120147         since some compilers warn about it otherwise.
120149 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120151         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
120152         (init_word_char, create_initial_state, duplicate_node_closure):
120153         (fetch_token, peek_token_bracket, build_range_exp):
120154         (build_collating_symbol): Remove forward decls; no longer needed
120155         now that we use prototypes.
120157         * lib/regcomp.c:
120158         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
120159         (re_compile_fastmap_iter, regcomp, regerror, regfree):
120160         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
120161         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
120162         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
120163         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
120164         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
120165         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
120166         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
120167         (build_range_exp, build_collating_symbol, parse_bracket_exp):
120168         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
120169         (build_charclass, build_charclass_op, fetch_number, create_tree):
120170         (create_token_tree, mark_opt_subexp, duplicate_tree):
120171         Use prototypes rather than old-style definitions.
120173         * lib/regex_internal.c:
120174         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
120175         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
120176         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120177         (re_string_reconstruct, re_string_peek_byte_case):
120178         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
120179         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120180         (re_node_set_init_copy, re_node_set_add_intersect):
120181         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120182         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120183         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120184         (re_acquire_state, re_acquire_state_context, register_state):
120185         (create_ci_newstate, create_cd_newstate, free_state):
120186         Likewise.
120187         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
120188         re_search_2):
120189         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
120190         (re_search_internal, prune_impossible_nodes):
120191         (acquire_init_state_context, check_matching, static):
120192         (check_halt_node_context, check_halt_state_context, proceed_next_node):
120193         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
120194         (update_regs, sift_states_backward, build_sifted_states):
120195         (clean_state_log_if_needed, merge_state_array):
120196         (update_cur_sifted_state, add_epsilon_src_nodes):
120197         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
120198         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
120199         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
120200         (find_recover_state, check_subexp_matching_top, transit_state_mb):
120201         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
120202         (check_arrival, check_arrival_add_next_nodes):
120203         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120204         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120205         (check_node_accept_bytes, check_node_accept, extend_buffers):
120206         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
120207         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
120208         (sift_ctx_init):
120209         Likewise.
120211         * lib/regex_internal.h:
120212         (re_string_allocate, re_string_construct, re_string_reconstruct):
120213         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
120214         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
120215         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
120216         (re_string_context_at, re_string_peek_byte_case):
120217         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
120218         is defined, since we now use prototypes always.
120220         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
120221         C89 or better.  All uses removed.
120223 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120225         * config/srclist.txt: Add glibc bugs 1220-1227.
120227 2005-08-20  Jim Meyering  <jim@meyering.net>
120229         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
120230         of unused local, dfa.
120232 2005-08-20  Bruno Haible  <bruno@clisp.org>
120234         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
120236 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120238         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
120239         (re_node_set_insert_last, re_dfa_add_node):
120240         Rename local variables to avoid GCC shadowing warnings.
120242 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120244         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
120245         [defined lint]: Suppress bogus uninitialized-variable warnings.
120247         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
120248         and let the caller return REG_ESPACE if out of space.  This
120249         removes an uninitialied-variable warning with GCC 4.0.1, and also
120250         avoids taking the address of a local variable.  All callers
120251         changed.
120253 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120255         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
120256         $LIBCSRC/posix/regexec.c.
120257         Add glibc bug 1217 for regcomp.c.
120259 2005-08-19  Jim Meyering  <jim@meyering.net>
120261         * lib/regexec.c (proceed_next_node): Redo local variables to
120262         avoid GCC shadowing warnings.
120264 2005-08-18  Bruno Haible  <bruno@clisp.org>
120266         * lib/strstr.c (strstr): Fix return value in multibyte case.
120267         * lib/strcasestr.c (strcasestr): Likewise.
120269 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
120271         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
120273 2005-08-17  Jim Meyering  <jim@meyering.net>
120275         Make the %s format (seconds since the epoch) work for a negative
120276         number and when used with a zero-padded field width, e.g. %015s.
120278         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
120279         label so that it precedes the code to set `digits'.  Otherwise,
120280         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
120281         print `00-22'.  Now, it prints `-0022', as it should.
120283 2005-08-17  Bruno Haible  <bruno@clisp.org>
120285         * modules/strstr (Files): Add m4/mbrtowc.m4.
120286         (Depends-on): Add mbuiter.
120288 2005-08-17  Bruno Haible  <bruno@clisp.org>
120290         * modules/strcasestr: New file.
120291         * MODULES.html.sh (String handling, based on ANSI C 89): Add
120292         strcasestr.
120294 2005-08-17  Bruno Haible  <bruno@clisp.org>
120296         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
120298 2005-08-17  Bruno Haible  <bruno@clisp.org>
120300         * modules/mbuiter: New file.
120301         * MODULES.html.sh (Extended multibyte and wide character utilities):
120302         Add mbuiter.
120304 2005-08-17  Bruno Haible  <bruno@clisp.org>
120306         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
120307         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
120309 2005-08-17  Bruno Haible  <bruno@clisp.org>
120311         * m4/strcasestr.m4: New file.
120313 2005-08-17  Bruno Haible  <bruno@clisp.org>
120315         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
120316         * lib/strstr.c: Completely rewritten, with multibyte locale support.
120318 2005-08-17  Bruno Haible  <bruno@clisp.org>
120320         * lib/strcasestr.h: New file.
120321         * lib/strcasestr.c: New file.
120323 2005-08-17  Bruno Haible  <bruno@clisp.org>
120325         * lib/strcasecmp.c: Use mbuiter.h.
120327 2005-08-17  Bruno Haible  <bruno@clisp.org>
120329         * lib/mbuiter.h: New file.
120331 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
120333         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
120334         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
120335         and gl_GETOPT are both invoked via different paths (as happens
120336         with GNU tar CVS because it uses both argp and getopt), the former
120337         wins.
120339 2005-08-16  Bruno Haible  <bruno@clisp.org>
120341         * modules/tls: New file.
120342         * MODULES.html.sh (Multithreading): Add tls.
120344 2005-08-16  Bruno Haible  <bruno@clisp.org>
120346         * modules/strnlen1: New file.
120347         * MODULES.html.sh (String handling): Add strnlen1.
120349 2005-08-16  Bruno Haible  <bruno@clisp.org>
120351         * modules/strcase (Files): Add m4/mbrtowc.m4.
120352         (Depends-on): Add strnlen1, mbchar.
120354 2005-08-16  Bruno Haible  <bruno@clisp.org>
120356         * modules/mbiter: New file.
120357         * MODULES.html.sh (Extended multibyte and wide character utilities):
120358         Add mbiter.
120360 2005-08-16  Bruno Haible  <bruno@clisp.org>
120362         * modules/mbfile: New file.
120363         * MODULES.html.sh (Extended multibyte and wide character utilities):
120364         Add mbfile.
120366 2005-08-16  Bruno Haible  <bruno@clisp.org>
120368         * modules/mbchar: New file.
120369         * MODULES.html.sh (Extended multibyte and wide character utilities):
120370         New section.
120372 2005-08-16  Bruno Haible  <bruno@clisp.org>
120374         * m4/tls.m4: New file, from GNU gettext.
120376 2005-08-16  Bruno Haible  <bruno@clisp.org>
120378         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
120379         always.
120380         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
120382 2005-08-16  Bruno Haible  <bruno@clisp.org>
120384         * m4/mbiter.m4: New file.
120386 2005-08-16  Bruno Haible  <bruno@clisp.org>
120388         * m4/mbfile.m4: New file.
120390 2005-08-16  Bruno Haible  <bruno@clisp.org>
120392         * m4/mbchar.m4: New file.
120394 2005-08-16  Bruno Haible  <bruno@clisp.org>
120396         * lib/tls.h: New file, from GNU gettext.
120397         * lib/tls.c: New file, from GNU gettext.
120399 2005-08-16  Bruno Haible  <bruno@clisp.org>
120401         * lib/strnlen1.h: New file.
120402         * lib/strnlen1.c: New file.
120404 2005-08-16  Bruno Haible  <bruno@clisp.org>
120406         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
120407         (mbi_init): Update.
120408         (mbi_avail, mbi_advance): Let the iteration end before the terminating
120409         NUL byte, not after it.
120411 2005-08-16  Bruno Haible  <bruno@clisp.org>
120413         * lib/strcase.h (strcasecmp): Add note in comments.
120414         * lib/strncasecmp.c: Use code from strcasecmp.c.
120415         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
120416         (strcasecmp): Work correctly in multibyte locales.
120418 2005-08-16  Bruno Haible  <bruno@clisp.org>
120420         * lib/mbiter.h: New file.
120422 2005-08-16  Bruno Haible  <bruno@clisp.org>
120424         * lib/mbfile.h: New file.
120426 2005-08-16  Bruno Haible  <bruno@clisp.org>
120428         * lib/mbchar.h: New file.
120429         * lib/mbchar.c: New file.
120431 2005-08-16  Bruno Haible  <bruno@clisp.org>
120433         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
120434         the valid ones. Makes the comparison operations transitive:
120435         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
120436         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
120438 2005-08-15  Simon Josefsson  <jas@extundo.com>
120440         * modules/ssize_t (License): Change to 'unlimited'.
120442         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
120444 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
120446         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
120447         Add comments for each pending glibc patch.
120449 2005-08-15  Bruno Haible  <bruno@clisp.org>
120451         * lib/regex.h (__restrict_arr): Don't define to __restrict if
120452         __cplusplus is defined.
120454 2005-08-14  Jim Meyering  <jim@meyering.net>
120456         Sync from coreutils.
120458         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
120459         Use the hash-table-based cycle-detection code not just when
120460         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
120461         Reported by James Youngman in
120462         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
120463         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
120464         FTS_TIGHT_CYCLE_CHECK.
120465         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
120466         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
120467         once again.
120468         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
120469         * lib/fts.c (fd_safer): Remove decl.
120470         Include fcntl--.h rather than unistd-safer.h
120471         (fts_safe_changedir): Don't call fd_safer; no longer needed
120472         now that we include fcntl--.h.
120474 2005-08-12  Simon Josefsson  <jas@extundo.com>
120476         * modules/getndelim2: Use ssize_t module.
120477         * modules/getnline: Likewise.
120478         * modules/safe-read: Likewise.
120479         * modules/xreadlink: Likewise.
120481         * modules/ssize_t: New file.
120483 2005-08-12  Simon Josefsson  <jas@extundo.com>
120485         * m4/readline.m4: Look for termcap, curses or ncurses if required.
120487 2005-08-12  Simon Josefsson  <jas@extundo.com>
120489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
120490         ssize_t.
120492 2005-08-12  Simon Josefsson  <jas@extundo.com>
120494         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
120495         readline, getdelim and check_version.
120496         (Support for systems lacking ISO C 99: Sizes of integer types):
120497         Add size_max.
120499 2005-08-12  Bruno Haible  <bruno@clisp.org>
120501         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
120503 2005-08-11  Simon Josefsson  <jas@extundo.com>
120505         * modules/readline: New file.
120507         * modules/strnlen (Files): Add strnlen.h.
120509 2005-08-11  Simon Josefsson  <jas@extundo.com>
120511         * m4/readline.m4: New file.
120513 2005-08-11  Simon Josefsson  <jas@extundo.com>
120515         * lib/readline.h, readline.c: New file.
120517 2005-08-11  Simon Josefsson  <jas@extundo.com>
120519         * doc/gnulib.texi (Initial import, Finishing touches): Mention
120520         gl_AVOID.
120522 2005-08-11  Bruno Haible  <bruno@clisp.org>
120524         * lib/strnlen.h (strnlen): Change parameter name to match comment.
120526 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
120528         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
120530 2005-08-10  Simon Josefsson  <jas@extundo.com>
120532         * tests/test-iconvme.c: New file.
120534 2005-08-10  Simon Josefsson  <jas@extundo.com>
120536         * m4/strnlen.m4: New file.
120538         * m4/strndup.m4: Don't check for strnlen declaration, done in
120539         strnlen.m4.
120541 2005-08-10  Simon Josefsson  <jas@extundo.com>
120543         * lib/strndup.c: Use strnlen.h.
120545         * lib/strnlen.h: New file.
120547 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120549         * README: Typos.
120551 2005-08-02  Simon Josefsson  <jas@extundo.com>
120553         * modules/readline: New file.
120555 2005-08-02  Simon Josefsson  <jas@extundo.com>
120557         * modules/getdelim: New file.
120559         * modules/getline: Rewrite, don't use getndelim2.
120561 2005-08-02  Simon Josefsson  <jas@extundo.com>
120563         * m4/getline.m4: Separate out getdelim stuff into separate module.
120565         * m4/getdelim.m4: New file.
120567 2005-08-02  Simon Josefsson  <jas@extundo.com>
120569         * lib/getline.h, getline.c: Rewrite.
120571         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
120573 2005-07-31  Bruno Haible  <bruno@clisp.org>
120575         * lib/lock.h (gl_lock_initializer): New macro.
120576         (gl_lock_define_initialized): Use it.
120577         (gl_rwlock_initializer): New macro.
120578         (gl_rwlock_define_initialized): Use it.
120579         (gl_recursive_lock_initializer): New macro.
120580         (gl_recursive_lock_define_initialized): Use it.
120582 2005-07-30  Karl Berry  <karl@gnu.org>
120584         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
120585         Report from Ben Pfaff, regarding getopt.
120587 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
120589         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
120590         normal way.
120591         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
120592         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
120593         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
120594         (gl_GETOPT): Use the new macros.  Most of the implementation
120595         is moved to the new macros.  This is for programs like Emacs
120596         that don't want all the functionality of gl_GETOPT.
120598 2005-07-26  Bruno Haible  <bruno@clisp.org>
120600         * m4/lock.m4: Update from GNU gettext.
120602 2005-07-26  Bruno Haible  <bruno@clisp.org>
120604         * lib/lock.h: Update from GNU gettext.
120605         * lib/lock.c: Update from GNU gettext.
120607 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
120609         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
120610         obsolescent AC_TRY_RUN.  Include the default includes files, for
120611         'exit'.
120613 2005-07-24  Bruno Haible  <bruno@clisp.org>
120615         * modules/visibility: New file.
120616         * MODULES.html.sh (Misc): Add visibility.
120618 2005-07-24  Bruno Haible  <bruno@clisp.org>
120620         * m4/visibility.m4: New file.
120622 2005-07-24  Bruno Haible  <bruno@clisp.org>
120624         * doc/visibility.texi: New file.
120626 2005-07-22  Bruno Haible  <bruno@clisp.org>
120628         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
120629         $(ALLOCA_H), redundant through BUILT_SOURCES.
120630         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
120631         redundant through BUILT_SOURCES.
120632         * modules/byteswap (Makefile.am): Remove explicit dependency on
120633         $(BYTESWAP_H), redundant through BUILT_SOURCES.
120634         * modules/fnmatch (Makefile.am): Remove explicit dependency on
120635         $(FNMATCH_H), redundant through BUILT_SOURCES.
120636         * modules/getopt (Makefile.am): Remove explicit dependency on
120637         $(GETOPT_H), redundant through BUILT_SOURCES.
120638         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
120639         redundant through BUILT_SOURCES.
120640         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
120641         redundant through BUILT_SOURCES.
120642         * modules/stdbool (Makefile.am): Remove explicit dependency on
120643         $(STDBOOL_H), redundant through BUILT_SOURCES.
120644         * modules/stdint (Makefile.am): Remove explicit dependency on
120645         $(STDINT_H), redundant through BUILT_SOURCES.
120646         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
120647         Remove explicit dependency on $(SYSEXITS_H).
120648         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
120650 2005-07-18  Simon Josefsson  <jas@extundo.com>
120652         * lib/check-version.c (check_version): Accept identical versions too.
120654 2005-07-18  Bruno Haible  <bruno@clisp.org>
120656         * modules/lock: New file.
120657         * MODULES.html.sh (Multithreading): New section.
120659 2005-07-18  Bruno Haible  <bruno@clisp.org>
120661         * m4/lock.m4: New file, from GNU gettext.
120663 2005-07-18  Bruno Haible  <bruno@clisp.org>
120665         * lib/lock.h: New file, from GNU gettext.
120666         * lib/lock.c: New file, from GNU gettext.
120668 2005-07-18  Bruno Haible  <bruno@clisp.org>
120670         * lib/lock.h (gl_once_t): New type.
120671         (gl_once_define, gl_once): New macros.
120672         * lib/lock.c (fresh_once): New variable.
120673         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
120674         functions.
120676 2005-07-16  Simon Josefsson  <jas@extundo.com>
120678         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
120679         workaround, suggested by Bruno.
120681 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
120683         * modules/xalloc (Depends-on): Add xalloc-die.
120684         * modules/xvasprintf (Depends-on): Add xalloc-die.
120686 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
120688         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
120689         with a minor change.
120691 2005-07-15  Bruno Haible  <bruno@clisp.org>
120693         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
120694         When using lib/poll.c, define poll as rpl_poll.
120696 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
120698         * modules/argp (Depends-on): Remove unlocked-io.
120700 2005-07-14  Derek Price  <derek@ximbiot.com>
120702         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
120703         for glob symlink bug.
120705 2005-07-14  Bruno Haible  <bruno@clisp.org>
120707         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
120708         Instead, test for *_unlocked function declarations directly.
120710 2005-07-11  Simon Josefsson  <jas@extundo.com>
120712         * modules/size_max: New file.
120714         * modules/xsize: Depend on size_max module for size_max.m4.
120716 2005-07-11  Simon Josefsson  <jas@extundo.com>
120718         * lib/size_max.h: New file.
120720 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
120722         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
120723         copyright symbol and the year.
120724         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
120725         (version_etc_va): Use parameterized copyright notice.
120726         Reword to conform to the current GNU coding standards.
120728 2005-07-11  Karl Berry  <karl@gnu.org>
120730         * doc/gnulib.texi (Quoting): new node.
120731         (Initial import): more info, from Patrice.
120733 2005-07-11  Bruno Haible  <bruno@clisp.org>
120735         * gnulib-tool (func_usage): Document option --avoid.
120736         (Command line options): Handle --avoid.
120737         (func_acceptable): New function.
120738         (func_modules_transitive_closure): Use it.
120740 2005-07-11  Bruno Haible  <bruno@clisp.org>
120742         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
120743         Reported by Jim Meyering.
120745 2005-07-10  Bruno Haible  <bruno@clisp.org>
120747         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
120748         Needed when size_t is smaller than 'unsigned int'.
120749         Reported by Paul Eggert.
120751 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
120753         * modules/argp (Depends-on): Add unlocked-io
120755 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
120757         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
120758         block of defines.
120760 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
120762         * config/srclist.txt: Comment out regcomp.c, since we have a porting
120763         fix now.
120765 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
120766         and Paul Eggert  <eggert@cs.ucla.edu>
120768         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
120769         in wint_t, not wchar_t.  Remove now-unnecessary cast.
120771 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120773         * modules/regex (Files): Add lib/regex_internal.c,
120774         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
120775         (Depends-on): Add extensions.
120776         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
120778 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120780         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
120781         pathconf.
120782         * m4/same.m4 (gl_SAME): Likewise.
120783         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
120785         * m4/regex.m4: Adjust to new libc regex implementation.
120786         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
120787         all the .c and .h parts of (the new) regex.
120788         Quote the m4 stuff better.
120789         Check for RE_ICASE bug of old gnulib.
120790         Check for REG_STARTEND of recent libc.
120791         Rename local variables from jm_* to gl_*.
120792         Quote operand of "test -f".
120793         Say "recent enough" version of libc, not "version 2".
120794         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
120795         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
120796         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
120797         Remove check for btowc, isascii.
120798         Require AM_LANGINFO_CODESET.
120800 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120802         * lib/regex.c, regex.h: Sync from libc.
120803         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
120804         * lib/regexec.c:
120805         New files, synced from libc, except that regex_internal.h
120806         currently has a small porting fix.
120808 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
120810         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
120811         regex_internal.c, regexec.c.
120812         Add regex_internal.h too, but as a comment, since the libc version
120813         is currently broken in gnulib mode.
120815 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
120817         Support programs like Emacs that use gnulib but not gettext.
120818         * MODULES.html.sh (Internationalization functions): Add gettext-h.
120819         * modules/gettext-h: New file.
120820         * modules/gettext (Files): Remove lib/gettext.h.
120821         (Depends-on): Add gettext-h.
120822         (Makefile.am): Remove lib_SOURCES.
120823         * modules/argmatch, modules/c-stack, modules/closeout:
120824         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
120825         * modules/execute, modules/file-type, modules/getaddrinfo:
120826         * modules/getopt, modules/human, modules/javacomp:
120827         * modules/javaexec, modules/mkdir-p, modules/obstack:
120828         * modules/openat, modules/pagealign_alloc, modules/pipe:
120829         * modules/quotearg, modules/regex, modules/rpmatch:
120830         * modules/unicodeio, modules/userspec, modules/version-etc:
120831         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
120832         * modules/xsetenv:
120833         Depend on gettext-h, not gettext.
120835 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
120837         * gnulib-tool (func_import): Add support for 'public domain' license.
120838         * modules/alloca, modules/atexit, modules/memmove:
120839         Now public domain, not GPL.
120840         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
120841         * modules/realloc, modules/strerror, modules/strtod:
120842         Now LGPL, not GPL.
120844 2005-07-05  Bruno Haible  <bruno@clisp.org>
120846         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
120847         autoconf CVS. Needed for mingw.
120849 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
120851         Remove the dependency of the strftime module on the tzset module.
120852         * modules/strftime (Depends-on): Remove dependency on tzset.
120854 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
120856         Remove the dependency of the strftime module on the tzset module.
120857         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
120858         gl_FUNC_TZSET_CLOBBER.
120860 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
120862         Remove the dependency of the strftime module on the tzset module.
120863         * lib/strftime.c (my_strftime)
120864         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
120865         Copy the input structure, to work around some of the bug with
120866         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
120867         Solaris releases, you should also use the tzset module, but we won't
120868         require it as a dependency any more since we don't want LGPLed code
120869         to depend on GPLed code.
120871 2005-07-02  Jim Meyering  <jim@meyering.net>
120873         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
120874         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
120875         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
120876         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
120878 2005-07-02  Jim Meyering  <jim@meyering.net>
120880         * lib/backupfile.c (backup_args): Change a `0' to NULL.
120882 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
120884         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
120885         declares only 'struct timespec;' (!).
120887 2005-07-01  Jim Meyering  <jim@meyering.net>
120889         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
120890         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
120891         * lib/save-cwd.c, tempname.c:
120892         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
120893         and don't include <sys/file.h>).
120895 2005-06-29  Jim Meyering  <jim@meyering.net>
120897         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
120898         type name.  Use the variable name instead.
120899         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
120900         Likewise.
120902 2005-06-28  Simon Josefsson  <jas@extundo.com>
120904         * modules/check-version (Files): Add check-version.m4.
120906 2005-06-28  Simon Josefsson  <jas@extundo.com>
120908         * m4/check-version.m4: New file, suggested by Jim Meyering
120909         <jim@meyering.net>.
120911 2005-06-28  Simon Josefsson  <jas@extundo.com>
120913         * lib/check-version.h, lib/check-version.c: New files.
120915 2005-06-28  Simon Josefsson  <jas@extundo.com>
120917         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
120918         collision with global variable.  Better indentation.  Don't
120919         increment buffer pointer beyond buffer end.  Based on comments
120920         from Paul Eggert <eggert@cs.ucla.edu>.
120922         * lib/base64.h: Indent.
120924 2005-06-28  Simon Josefsson  <jas@extundo.com>
120926         * doc/gnulib.texi (Library version handling): New section.
120928 2005-06-28  Jim Meyering  <jim@meyering.net>
120930         * check-module (find_included_lib_files): Hard-code another
120931         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
120932         but modules/fts-lgpl (correctly) does not list those files.
120934         * modules/canonicalize (Files): Add lib/pathmax.h.
120936 2005-06-25  Simon Josefsson  <jas@extundo.com>
120938         * modules/check-version: New file.
120940 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
120942         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
120943         initializer of struct addrinfo, as an indication that we don't
120944         care how many members the structure has.
120946 2005-06-24  Derek Price  <derek@ximbiot.com>
120947         and Bruno Haible  <bruno@clisp.org>
120949         Remove stat module & update lstat.
120950         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
120951         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
120952         * m4/stat.m4: Remove this file.
120954 2005-06-24  Derek Price  <derek@ximbiot.com>
120955         and Bruno Haible  <bruno@clisp.org>
120957         Remove stat module & update lstat.
120958         * lib/stat.c: Remove this file...
120959         (slash_aware_lstat): ...moving this content and its support...
120960         * lib/lstat.c (rpl_lstat): ...into here.
120961         * lib/lstat.h: New file.
120963 2005-06-24  Derek Price  <derek@ximbiot.com>
120964         and Bruno Haible  <bruno@clisp.org>
120966         Remove stat module & update lstat.
120967         * config/srclist.txt (libc sources): Remove stat.
120969 2005-06-24  Derek Price  <derek@ximbiot.com>
120970         and Bruno Haible  <bruno@clisp.org>
120972         Remove stat module & update lstat.
120973         * MODULES.html.sh (stat): Remove.
120974         * MODULES.html: Regenerated.
120975         * modules/lstat (Description): Correct function name.
120976         (Files): Add "lstat.h".
120977         (Depends-on): Remove stat, add xalloc, stat-macros.
120978         * modules/stat: Remove this file.
120979         (Include): Add "lstat.h", remove <sys/stat.h>.
120981 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
120983         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
120984         (ranged_convert): Don't save conversion in a temporary struct.
120985         This causes a warning with GCC 4.0.0, and anyway in the typical
120986         case it's not worth the extra 100 bytes or so of code.
120987         (ranged_convert, __mktime_internal): When calling a function via a
120988         pointer P, use P () rather than (*P) (), as we now assume C89 or
120989         better.
120991 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
120993         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
120994         "who -r" failed to give output.  Problem reported by Tim Waugh.
120996         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
120997         (xcalloc): Use it to avoid needless tests.
120998         Problem reported by Jim Meyering.
121000 2005-06-20  Derek Price  <derek@ximbiot.com>
121002         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
121003         unnecessary for Autoconfs > 2.59c.
121005 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121007         * lib/argp.h (__option_is_short): Check upper limit of
121008         __key. Isprint() requires its argument to have the value
121009         of an unsigned char or EOF.
121011 2005-06-16  Jim Meyering  <jim@meyering.net>
121013         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
121014         when either N or S is zero.
121016 2005-06-16  Derek Price  <derek@ximbiot.com>
121018         * m4/bison.m4: Declare YACC & YFLAGS precious.
121020 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
121022         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
121023         multibyte string or pattern, fall back on unibyte matching.
121024         Problem reported by James Youngman.
121026 2005-06-08  Bruno Haible  <bruno@clisp.org>
121028         * modules/csharpcomp: New file.
121029         * MODULES.html.sh (C#): Add csharpcomp.
121031 2005-06-08  Bruno Haible  <bruno@clisp.org>
121033         * m4/csharpcomp.m4: New file, from GNU gettext.
121035 2005-06-08  Bruno Haible  <bruno@clisp.org>
121037         * lib/csharpcomp.h: New file, from GNU gettext.
121038         * lib/csharpcomp.c: New file, from GNU gettext.
121039         * lib/csharpcomp.sh.in: New file, from GNU gettext.
121041 2005-06-08  Bruno Haible  <bruno@clisp.org>
121043         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
121044         warning on mingw.
121046 2005-06-07  Derek Price  <derek@ximbiot.com>
121048         Sync from CVS.
121049         * lib/glob_.h: Indent nested #ifdef.
121051 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121053         Sync from coreutils.
121054         Use "file name" when talking about file names, instead of "filename"
121055         or "path", as per the GNU coding standards.
121056         * lib/mkdir-p.c: Renamed from makepath.c.
121057         (make_dir_parents): Renamed from make_path.  All callers changed.
121058         * lib/mkdir-p.h: Likewise.  All includers changed.
121059         * lib/filenamecat.c: Renamed from path-concat.c.
121060         (file_name_concat): Renamed from path_concat.  All callers changed.
121061         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
121062         * lib/filenamecat.h: Likewise.  All includers changed.
121063         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
121064         in comments or local variable names.
121065         * lib/basename.c: Likewise.
121066         * lib/canonicalize.c, canonicalize.h: Likewise.
121067         * lib/dirname.c, dirname.h: Likewise.
121068         * lib/euidaccess.c: Likewise.
121069         * lib/exclude.c: Likewise
121070         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
121071         * lib/fsusage.c, fsuage.h: Likewise.
121072         * lib/fts.c, fts_.h: Likewise.
121073         * lib/getcwd.c: Likewise.
121074         * lib/getloadavg.c: Likewise.
121075         * lib/mkstemp.c: Likewise.
121076         * lib/mountlist.c, mountlist.h: Likewise.
121077         * lib/openat.c, openat.h: Likewise.
121078         * lib/readlink-stub.c: Likewise.
121079         * lib/readutmp.c, readutmp.h: Likewise.
121080         * lib/rename.c: Likewise.
121081         * lib/rmdir.c: Likewise.
121082         * lib/same.c: Likewise.
121083         * lib/savedir.c: Likewise.
121084         * lib/stripslash.c: Likewise.
121085         * lib/tempname.c: Likewise.
121086         * lib/xreadlink.c: Likewise.
121087         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
121088         All uses changed.
121089         * lib/exclude.h: Likewise.
121091         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
121092         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121093         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
121094         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121095         * lib/pathmax.h: Include <limits.h> unconditionally, since other
121096         files have been getting away with it for years (MORE/BSD 4.3
121097         is extinct now).
121098         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
121099         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121101         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
121102         Define to 256, not 255, as per modern POSIX.
121104 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121106         Sync from coreutils.
121107         Use "file name" when talking about file names, instead of "filename"
121108         or "path", as per the GNU coding standards.
121109         * MODULES.html.sh: mkdir-p renamed from makepath.
121110         filenamecat renamed from path-concat.
121111         * modules/filenamecat: Renamed from modules/path-concat.
121112         (Files): filenamecat.h and filenamecat.c renamed from
121113         path-concat.h and path-concat.c.
121114         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
121115         (Include): filenamecat.h, not path-concat.h.
121116         * modules/mkdir-p: Renamed from modules/makepath.
121117         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
121118         makepath.c.
121119         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
121120         (Include): mkdir-p.h, not makepath.h.
121122 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121124         Sync from coreutils.
121125         * m4/mkdir-p.m4: Renamed from makepath.m4.
121126         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
121127         Rename files from makepath.c to mkdir-p.c, and from
121128         makepath.h to mkdir-p.h.
121129         * m4/filenamecat.m4: Renamed from path-concat.m4.
121130         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
121131         Rename files from path-concat.c to filenamecat.c,
121132         and from path-concat.h to filenamecat.h.
121133         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
121134         "file name" in local variables or comments.
121135         * m4/rename.m4: Likewise.
121137 2005-06-01  Bruno Haible  <bruno@clisp.org>
121139         * modules/csharpexec: New file.
121140         * MODULES.html.sh (C#): New section.
121142 2005-06-01  Bruno Haible  <bruno@clisp.org>
121144         * m4/csharp.m4: New file, from GNU gettext.
121145         * m4/csharpexec.m4: New file, from GNU gettext.
121147 2005-06-01  Bruno Haible  <bruno@clisp.org>
121149         * lib/csharpexec.h: New file, from GNU gettext.
121150         * lib/csharpexec.c: New file, from GNU gettext.
121151         * lib/csharpexec.sh.in: New file, from GNU gettext.
121153 2005-05-31  Derek Price  <derek@ximbiot.com>
121154             Paul Eggert  <eggert@cs.ucla.edu>
121156         Sync from cvs.
121157         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121159 2005-05-31  Derek Price  <derek@ximbiot.com>
121160             Paul Eggert  <eggert@cs.ucla.edu>
121162         Sync from cvs.
121163         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121165 2005-05-29  Derek Price  <derek@ximbiot.com>
121167         * config/srclist.txt (glob_.h, glob.c): Add these files.
121169 2005-05-29  Derek Price  <derek@ximbiot.com>
121171         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
121172         * modules/glob: New file.
121173         * modules/getlogin_r: Add link to POSIX spec in description.
121175 2005-05-29  Derek Price  <derek@ximbiot.com>
121176             Paul Eggert  <eggert@cs.ucla.edu>
121178         * m4/glob.m4: New file.
121180 2005-05-29  Derek Price  <derek@ximbiot.com>
121181             Paul Eggert  <eggert@cs.ucla.edu>
121183         * lib/glob_.h, lib/glob.c: New files.
121185 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121187         * modules/fts (Files): Remove m4/inttypes-pri.m4.
121188         * modules/fts-lgpl (Depends-on): Remove gettext.
121190 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
121193         and don't require gt_INTTYPES_PRI.
121195 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121197         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
121199         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
121200         the configuration hassle isn't worth it.
121201         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
121202         (LONGEST_MODIFIER, PRIuMAX): Remove.
121204 2005-05-27  Bruno Haible  <bruno@clisp.org>
121206         * lib/getlogin_r.h: Remove second include of <stddef.h>.
121208 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
121210         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
121211         _POSIX_PTHREAD_SEMANTICS for Solaris.
121213 2005-05-25  Derek Price  <derek@ximbiot.com>
121215         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
121217 2005-05-25  Derek Price  <derek@ximbiot.com>
121218             Paul Eggert  <eggert@cs.ucla.edu>
121220         * modules/getlogin_r, m4/getlogin_r.m4: New files.
121221         * lib/getlogin_r.c, getlogin_r.h: New files.
121223 2005-05-25  Bruno Haible  <bruno@clisp.org>
121224             Derek Price  <derek@ximbiot.com>
121226         * lib/getlogin_r.h: Simplify API documentation.
121228 2005-05-23  Derek Price  <derek@ximbiot.com>
121230         * modules/minmax (Files): Add m4/minmax.m4.
121231         (configure.ac): Add gl_MINMAX.
121233 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
121235         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
121236         so that unistd-safer.h (GPL'ed code) need not be included.
121238 2005-05-22  Bruno Haible  <bruno@clisp.org>
121240         * m4/minmax.m4: New file.
121241         Based on a patch by Derek Price <derek@ximbiot.com>.
121243 2005-05-22  Bruno Haible  <bruno@clisp.org>
121245         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
121246         (INT64_MIN): Fix definition.
121247         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
121249         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
121250         NEED_SIGNED_INT_TYPES.
121252         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
121253         HAVE_SYSTEM_INTTYPES.
121255 2005-05-22  Bruno Haible  <bruno@clisp.org>
121257         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
121258         Also include <sys/param.h> if it defines MIN, MAX.
121259         Based on a patch by Derek Price <derek@ximbiot.com>.
121261 2005-05-21  Jim Meyering  <jim@meyering.net>
121263         * modules/fts (Files): Add m4/inttypes-pri.m4.
121264         (Depends-on): Add lstat and remove gettext.  Alphabetize.
121266 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121268         New fts module.
121269         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
121270         (setup_dir, free_dir): New functions.
121271         (enter_dir, leave_dir): Define trivial
121272         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
121273         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
121274         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
121275         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
121276         Move to fts-cycle.c.
121277         (fts_open): Use setup_dir.
121278         (fts_close): Use free_dir.
121279         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
121280         This adds a label and some gotos, but the alternatives were messier.
121281         Check for memory allocation failure when entering a dir.
121282         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
121283         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
121284         (FTS): New member fts_cycle, that is a union that contains the
121285         old active_dir_ht and cycle_state.  All uses changed to mention
121286         fts_cycle.ht and fts_cycle.state.
121287         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
121288         fts.c, with the following changes:
121289         (setup_dir, free_dir): New functions.
121290         (enter_dir): Now returns bool.  Return true if successful, false
121291         if memory exhausted.  All callers changed.
121292         Do not bother partly cleaning up on
121293         memory allocation failure; that is free_dir's job.
121294         However, free ad if hash_insert fails, to avoid memory leak.
121295         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
121296         fts->fts_options to see which union member to use.
121298 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121300         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
121301         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
121303 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121305         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
121307 2005-05-20  Jim Meyering  <jim@meyering.net>
121309         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
121310         Now a macro, to pacify GCC.
121312 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121314         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
121315         of -1.
121317 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121319         * lib/chown.c (rpl_chown): Return -1 on failure.
121321 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121323         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
121324         Don't check for stddef.h.
121325         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
121326         don't use its results.
121327         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
121328         since we include them unconditionally.  Don't require
121329         AM_STDBOOL_H, since stdbool is a prerequisite.
121330         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
121331         since we assume C89 or better.
121332         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
121333         as we don't use their results.
121334         Don't check for fchdir, memmove, memset, strrchr, as we use
121335         them unconditionally.
121336         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
121337         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
121339 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121341         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
121342         Include <stddef.h> unconditionally, since we assume C89 now.
121343         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
121344         * lib/fts.c: Include fts_.h first, to check interface.
121345         Do not include intprops.h; no longer needed.
121346         Include cycle-check.h and hash.h, since fts_.h no longer does.
121347         Remove unnecessary casts of closedir to void.
121348         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
121349         decide whether to decrement nlinks.
121350         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
121351         (FTS): Use struct hash_table * instead of Hash_table, so that
121352         we no longer need to include hash.h here.
121354 2005-05-18  Jim Meyering  <jim@meyering.net>
121356         * modules/dirfd (License): Change to LGPL.  Most of the code
121357         is already in the public domain.
121359 2005-05-18  Jim Meyering  <jim@meyering.net>
121361         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
121362         Reported by Yoann Vandoorselaere.
121364 2005-05-17  Jim Meyering  <jim@meyering.net>
121366         * m4/fts.m4: New file, from coreutils.
121368 2005-05-17  Jim Meyering  <jim@meyering.net>
121370         * lib/fts.c, lib/fts_.h: New files, from coreutils.
121372 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121374         Sync from coreutils.
121375         * m4/unlinkdir.m4: New file.
121377 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121379         Sync from coreutils.
121380         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
121381         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
121382         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
121383         White space changes only.
121384         * lib/makepath.c (make_path): Port to hosts where leading "//" is
121385         special.
121386         * lib/yesno.c: Include getline.h, not ctype.h.
121387         (yesno): Don't remove leading white space; POSIX doesn't allow it.
121388         Use getline to remove arbitrary restriction on response length.
121390 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121392         * config/srclist-update: Spell out "Street" in FSF postal
121393         mail address; this is the style the FSF seems to prefer.
121395         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
121396         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
121397         this updates FSF postal mail address.
121399         Sync from coreutils.
121400         * modules/unlinkdir: New file.
121401         * modules/yesno (Depends-on): Add getline.
121402         * MODULES.html.sh (File system functions): Add unlinkdir.
121404 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121406         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
121407         lib/strsep.h:
121408         Change the initial comment to refer to GPL, not LGPL.
121409         gnulib-tool will change it to LGPL as needed.
121411         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
121412         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
121413         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
121414         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
121415         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
121416         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
121417         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
121418         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
121419         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
121420         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
121421         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
121422         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
121423         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
121424         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
121425         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
121426         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
121427         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
121428         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
121429         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
121430         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
121431         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
121432         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
121433         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
121434         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
121435         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
121436         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
121437         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
121438         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
121439         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
121440         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
121441         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
121442         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
121443         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
121444         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
121445         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
121446         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
121447         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
121448         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
121449         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
121450         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
121451         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
121452         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
121453         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
121454         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
121455         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
121456         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
121457         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
121458         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
121459         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
121460         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
121461         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
121462         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
121463         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
121464         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
121465         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
121466         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
121467         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
121468         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
121469         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
121470         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
121471         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
121472         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
121473         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
121474         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
121475         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
121476         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
121477         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
121478         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
121479         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
121480         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
121481         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
121482         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
121483         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
121484         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
121485         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
121486         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
121487         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
121488         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
121489         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
121490         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
121491         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
121492         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
121493         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
121494         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
121495         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
121496         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
121497         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
121498         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
121499         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
121500         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
121501         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
121502         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
121503         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
121504         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
121505         lib/yesno.c, lib/yesno.h:
121506         Update FSF postal mail address.
121508 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121510         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
121511         tests/test-memmem.c, tests/test-stpncpy.c:
121512         Update FSF postal mail address.
121514 2005-05-13  Bruno Haible  <bruno@clisp.org>
121516         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
121517         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
121518         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
121519         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
121520         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
121521         Add support for 64-bit integers in the MSVC compiler.
121523 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121525         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
121527 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
121529         * gnulib-tool (func_import): Sort and uniquify recommended includes.
121531 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
121533         * doc/getdate.texi (General date syntax): Don't say that date
121534         date --iso-8601=ns generates acceptable dates; it doesn't yet.
121535         Problem reported by Nic Ferrier.
121537 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121539         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
121540         specified in ai_socktype. Fix invalid ai_protocol
121541         check. ai_protocol is usually set to 0 or depending on
121542         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
121543         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
121544         ai_socktype / ai_protocol in the returned addrinfo structure.
121546 2005-05-10  Simon Josefsson  <jas@extundo.com>
121548         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
121549         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
121551 2005-05-10  Karl Berry  <karl@gnu.org>
121553         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
121554         (from http://www.gnu.org/licenses).
121555         * doc/COPYING.LIB: also rename to COPYING.LESSER.
121556         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
121557         fdl.texi suffices.
121559 2005-05-10  Karl Berry  <karl@gnu.org>
121561         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
121562         (COPYING.DOC): remove.
121564         * config/srclist-update: new FSF address.
121566 2005-05-10  Derek Price  <derek@ximbiot.com>
121568         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
121569         possible.
121571 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121572             Bruno Haible  <bruno@clisp.org>
121574         * modules/inet_ntop: New file.
121575         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
121576         inet_ntop.
121578 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121579             Bruno Haible  <bruno@clisp.org>
121581         * m4/inet_ntop.m4: New file.
121583 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
121584             Bruno Haible  <bruno@clisp.org>
121586         * lib/inet_ntop.h: New file.
121587         * lib/inet_ntop.c: New file, from glibc with modifications.
121589 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
121591         * modules/time_r (License): Change to LGPL.
121592         * modules/extensions (License): Change to LGPL.  Actually,
121593         the license is more permissive than that, but currently gnulib-tool
121594         doesn't know how to handle more-permissive licenses.
121596         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
121597         Problem reported by Dave Love.
121599 2005-05-08  Jim Meyering  <jim@meyering.net>
121601         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
121602         blank.
121604 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
121606         * modules/argmatch (Depends-on): Add stdbool.
121607         * modules/backupfile (Depends-on): Likewise.
121608         * modules/chdir-long (Depends-on): Likewise.
121609         * modules/closeout (Depends-on): Likewise.
121610         * modules/cycle-check (Depends-on): Likewise.
121611         * modules/dirname (Depends-on): Likewise.
121612         * modules/fnmatch (Depends-on): Likewise.
121613         * modules/fsusage (Depends-on): Likewise.
121614         * modules/fwriteerror (Depends-on): Likewise.
121615         * modules/getcwd (Depends-on): Likewise.
121616         * modules/getloadavg (Depends-on): Likewise.
121617         * modules/hard-locale (Depends-on): Likewise.
121618         * modules/makepath (Depends-on): Likewise.
121619         * modules/mountlist (Depends-on): Likewise.
121620         * modules/nanosleep (Depends-on): Likewise.
121621         * modules/posixtm (Depends-on): Likewise.
121622         * modules/quotearg (Depends-on): Likewise.
121623         * modules/readtokens (Depends-on): Likewise.
121624         * modules/readtokens0 (Depends-on): Likewise.
121625         * modules/readutmp (Depends-on): Likewise.
121626         * modules/save-cwd (Depends-on): Likewise.
121627         * modules/strftime (Depends-on): Likewise.
121628         * modules/userspec (Depends-on): Likewise.
121629         * modules/utimecmp (Depends-on): Likewise.
121630         * modules/xgetcwd (Depends-on): Likewise.
121631         * modules/xnanosleep (Depends-on): Likewise.
121632         * modules/xstrtod (Depends-on): Likewise.
121633         * modules/yesno (Depends-on): Likewise.
121635 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
121637         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
121638         needless checks.
121640 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121642         Merge from coreutils.  Among other things,
121643         add bulletproofing for cases where stdin, stdout, or stderr are closed.
121644         * lib/fd-safer.c: New file.
121645         * lib/fcntl-safer.h, open-safer.c: Remove.
121646         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
121647         * lib/dup-safer.c: Include unistd-safer.h first.
121648         Don't include errno.h.
121649         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
121650         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
121651         * lib/file-type.c: Rely on file-type.h change.
121652         * lib/getloadavg.c: Include unistd-safer.h.
121653         (getloadavg): Use safer open.
121654         * lib/getusershell.c: Include "stdio-safer.h".
121655         (getusershell): Use safer fopen.
121656         * lib/long-options.c (long_options): Use NULL rather than 0.
121657         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
121658         'free'.
121659         * lib/modechange.c: Likewise.
121660         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
121661         (MODE_DONE): New constant.
121662         (struct mode_change): Remove 'next' member.
121663         (make_node_op_equals): New function; like the old one of the
121664         same name, except it allocates an array.
121665         (mode_compile, mode_create_from_ref): Use it.
121666         (mode_compile): Allocate result as an array, not a linked list.
121667         Parse octal string ourself, so that we catch mistakes like "+0".
121668         (mode_adjust): Arg is an array, not a linked list.
121669         * lib/modechange.c: Include stat-macros.h, xalloc.h.
121670         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
121671         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
121672         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
121673         Remove.  This is now stat-macros.h's job.
121674         (talloc): Remove.  All callers replaced by xalloc, so that
121675         our invokers don't have to worry about reporting memory failures.
121676         (make_node_op_equals): Remove.
121677         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
121678         New constants.
121679         (struct mode_change): Moved here from modechange.h.
121680         (mode_append_entry): Remove.
121681         (mode_compile): Remove MASKED_OPS arg, since it encouraged
121682         apps to have incorrect behavior.  Use simpler algorithm for head
121683         and tail.  Don't futz with umask; that's now the job of mode_adjust.
121684         Detect more invalid usages rather than having somewhat-random behavior.
121685         Don't insert an "a=" action, as that leads to incorrect behavior.
121686         (mode_compile, mode_create_from_ref): Return NULL on error instead
121687         of an enum, since now there's only one way to have an error.  All
121688         callers changed.
121689         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
121690         at the correct time.  Simplify calculation of "+u" and its ilk.
121691         Don't mishandle "+X".
121692         (mode_free): Remove "register" and localize decls.
121693         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
121694         (struct mode_change): Move to modechange.c; callers don't
121695         need to see this stuff.
121696         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
121697         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
121698         (mode_change, mode_adjust): Reflect the new signatures noted above.
121699         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
121700         that might redefine system include files.
121701         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
121702         (my_usleep): Use NULL rather than (void *) 0.
121703         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
121704         Use siginterrupt to specify that system calls should be interrupted.
121705         (rpl_nanosleep): Move initialization of suspended closer to call of
121706         my_usleep.
121707         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
121708         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
121709         (desirable_utmp_entry): New function.
121710         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
121711         using x2nrealloc, to simplify logic.
121712         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
121713         size calculation.  Do not assume utmp file is a regular file.
121714         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
121715         (READ_UTMP_CHECK_PIDS): New constant.
121716         * lib/save-cwd.c: Include unistd-safer.h.
121717         (save_cwd): Use fd_safer.
121718         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
121719         [!_LIBC] Include "stat-macros.h" instead.
121720         * lib/unistd-safer.h (fd_safer): New decl.
121722 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121724         * modules/getloadavg (Depends-on): Add unistd-safer.
121725         * modules/getusershell (Depends-on): Add stdio-safer.
121726         * modules/lstat (Depends-on): Remove xalloc.
121727         * modules/mkstemp (Depends-on): Add stat-macros.
121728         * modules/modechange (Depends-on): Remove xstrtol.
121729         Add stat-macros, xalloc.
121730         * modules/save-cwd (Depends-on): Add unistd-safer.
121731         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
121732         * modules/unistd-safer (Files): Add lib/fd-safer.c
121733         (Makefile.am): Remove lib_SOURCES.
121735         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
121736         Remove fcntl-safer; unistd-safer supersedes it.
121738 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121740         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
121741         AC_HEADER_STAT.
121742         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
121743         (gl_PREREQ_CHOWN): Remove.
121744         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
121745         it.  Don't require AC_HEADER_STAT.
121746         (gl_PREREQ_LSTAT): Remove.
121747         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
121748         Don't require AC_HEADER_STAT.
121749         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
121750         (gl_PREREQ_RMDIR): Remove.
121751         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
121752         mention stat-macros.h or AC_HEADER_STAT, since we'll make
121753         the stat-macros module a prerequisite.
121754         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
121755         * m4/filemode.m4 (gl_FILEMODE): Likewise.
121756         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
121757         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
121758         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
121759         variable names.
121760         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
121761         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
121762         variable prefixes.
121763         * m4/fcntl-safer.m4: Remove.
121764         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
121765         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
121766         Invoke gl_PREREQ_FD_SAFER.
121767         (gl_PREREQ_FD_SAFER): New macro.
121768         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
121769         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
121770         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
121771         Remove duplicate call to AC_LIBOBJ(readutmp).
121772         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
121774         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
121775         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
121777 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
121779         * MODULES.html.sh (Misc): Add byteswap.
121781 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121783         * modules/getcwd (Depends-on): Add extensions.
121784         * modules/openat (Depends-on): Likewise.
121786 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121788         * modules/byteswap: New file.
121790 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121792         * m4/byteswap.m4: New file.
121794 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
121796         * lib/byteswap_.h: New file.
121798 2005-04-25  Karl Berry  <karl@gnu.org>
121800         * m4/gettext.m4: Update from GNU gettext 0.14.4.
121802 2005-04-25  Albert Chin  <china@thewrittenword.com>
121804         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
121805         Toolkit C bug.
121807 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
121809         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
121810         (func_ln_if_changed): Remove forcibly for no error message
121811         in case file does not exist.
121813 2005-04-19  Simon Josefsson  <jas@extundo.com>
121815         * gnulib-tool (Options): Make --symlink mean --symbolic.
121817 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
121819         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
121821 2005-04-16  Simon Josefsson  <jas@extundo.com>
121823         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
121825 2005-04-15  Simon Josefsson  <jas@extundo.com>
121827         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
121829 2005-04-15  Simon Josefsson  <jas@extundo.com>
121831         * gnulib-tool: Rename --symlink to --symbolic.
121833 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
121835         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
121836         symbolic links to files instead of copying/moving.  Add --aux-dir,
121837         specifying directory relative --dir where auxiliary build tools
121838         are placed.
121840 2005-04-14  Bruno Haible  <bruno@clisp.org>
121842         * modules/allocsa (License): Change to LGPL.
121843         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
121845 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
121847         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
121848         that "UTC +1 second" continues to work.  Problem reported
121849         by Dmitry V. Levin.
121850         (relunit_snumber): New rule.
121851         (relunit): Use it.
121853 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
121855         * lib/getdate.y (universal_time_zone_table): New constant.
121856         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
121857         universal_time_zone_table.
121858         (lookup_zone): Prefer universal_time_zone_table to
121859         local_time_zone_table, so that "GMT" time stamps are allowed in
121860         London during the summer.  Problem reported by Ian Abbott.
121862 2005-04-12  Jim Meyering  <jim@meyering.net>
121864         * lib/human.c (humblock): Set *options even when returning due to
121865         xstrtoumax conversion failure.  Thanks to a used-uninitialized
121866         warning from gcc-4.
121868 2005-04-09  Jim Meyering  <jim@meyering.net>
121870         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
121871         -Wuninitialized: initialize tm0.tm_year.
121873 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
121875         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
121876         count, since there's no maximum.  All uses changed.
121877         Add member dsts_seen.
121878         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
121879         not being INT_MAX.
121880         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
121881         Use pc_rels_seen to decide whether a date is absolute.
121883         * lib/getdate.y (number): Don't overwrite year.
121884         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
121885         check.
121887 2005-04-02  Simon Josefsson  <jas@extundo.com>
121889         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
121890         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
121892 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
121894         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
121895         where no absolute path name can be longer than PATH_MAX.
121897 2005-03-27  Jim Meyering  <jim@meyering.net>
121899         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
121901 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
121903         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
121904         "one's complement" -> "ones' complement" in comment, as per Knuth.
121905         "value of type" -> "type or expression" in comment.
121906         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
121908 2005-03-26  Jim Meyering  <jim@meyering.net>
121910         Comment nits.
121911         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
121912         Correct typos: s/or/of/.
121914 2005-03-26  Jim Meyering  <jim@meyering.net>
121916         * modules/check-include-files: Move to ../ and rename to...
121917         * check-module: ...this.
121919 2005-03-25  Jim Meyering  <jim@meyering.net>
121921         * modules/xvasprintf (Files): Add xalloc.h.
121923 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
121925         * modules/gettext (Files): config/config.rpath ->
121926         build-aux/config.rpath
121927         * modules/iconv (Files): Likewise.
121928         Problem reported by Oskar Liljeblad.
121930 2005-03-23  Jim Meyering  <jim@meyering.net>
121932         * modules/check-include-files: New script to check for
121933         missing dependencies, multiple includes, etc.
121935         * modules/c-strtold (Depends-on): Add xalloc.
121936         * modules/c-strtod (Depends-on): Add xalloc.
121937         * modules/hash (Depends-on): Add xalloc.
121938         (Files): Remove lib/xalloc.h.
121940         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
121941         * modules/userspec (Files): Add lib/inttostr.h.
121943 2005-03-23  Jim Meyering  <jim@meyering.net>
121945         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
121947 2005-03-22  Jim Meyering  <jim@meyering.net>
121949         * modules/stat-macros: New module.
121950         * modules/canonicalize, modules/euidaccess, modules/file-type,
121951         * modules/filemode, modules/lchown, modules/makepath,
121952         * modules/rmdir, modules/stat: Depend on new stat-macros module
121953         rather than listing lib/stat-macros.h manually.
121954         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
121956 2005-03-22  Jim Meyering  <jim@meyering.net>
121958         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
121960 2005-03-22  Bruno Haible  <bruno@clisp.org>
121962         * config/srclist.txt: Replace target directory 'config' with
121963         'build-aux'.
121964         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
121965         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
121966         ../build-aux/.
121968 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
121970         * modules/chdir-long (Depends-on): Add mempcpy.
121972         * modules/acl, modules/backupfile, modules/c-strtod,
121973         modules/c-strtold, modules/canon-host, modules/canonicalize,
121974         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
121975         modules/exclude, modules/exitfail, modules/file-type,
121976         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
121977         modules/getdate, modules/getline, modules/getpagesize,
121978         modules/getpass, modules/getugroups, modules/group-member,
121979         modules/hard-locale, modules/hash, modules/human, modules/idcache,
121980         modules/inttostr, modules/long-options, modules/makepath,
121981         modules/md5, modules/memcasecmp, modules/memcoll,
121982         modules/modechange, modules/mountlist, modules/path-concat,
121983         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
121984         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
121985         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
121986         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
121987         modules/strftime, modules/strndup, modules/strverscmp,
121988         modules/timespec, modules/unlocked-io, modules/userspec,
121989         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
121990         modules/yesno:
121991         Remove lib_SOURCES line from Makefile.am section, as this is now
121992         done automatically by the corresponding Autoconf macro.
121994 2005-03-21  Jim Meyering  <jim@meyering.net>
121996         Changes imported from coreutils.
121998         * lib/cycle-check.c: Don't include xalloc.h.
122000         * lib/path-concat.c: Don't include assert.h.
122001         (path_concat): Remove assertion that would have triggered
122002         for ABASE starting with more than one slash.
122003         Reported by Andreas Schwab.
122005         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
122006         properly when ABASE is an absolute file name.
122007         Correct the description of this function.
122008         Include <assert.h>.
122009         Add an assertion and a test driver.
122010         This fixes a bug introduced on 2004-07-02.
122011         Andreas Schwab reported the resulting failure of cp --parents:
122012         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
122014 2005-03-21  Jim Meyering  <jim@meyering.net>
122016         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
122017         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
122019 2005-03-21  Jim Meyering  <jim@meyering.net>
122020         and  Paul Eggert  <eggert@cs.ucla.edu>
122022         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
122023         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
122024         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
122025         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
122026         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
122027         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
122028         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
122029         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
122030         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
122031         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
122032         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
122033         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
122034         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
122035         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
122036         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
122037         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
122038         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
122039         for these modules.
122041 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
122043         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
122044         (which shouldn't happen), generate nothing instead of returning 0
122045         immediately, so that nstrftime (NULL, ...) doesn't return 0.
122047 2005-03-16  Bruno Haible  <bruno@clisp.org>
122049         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
122050         HAVE_LONGLONG_64BIT.
122052 2005-03-16  Bruno Haible  <bruno@clisp.org>
122054         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
122055         HAVE_LONGLONG_64BIT.
122057 2005-03-16  Bruno Haible  <bruno@clisp.org>
122059         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
122060         HAVE_LONGLONG_64BIT.
122062 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122064         * lib/strftime.c (my_strftime): Prepend space to format so that we can
122065         reliably distinguish strftime failure from empty output on POSIX
122066         hosts.
122068 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122070         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
122071         (iconv_string): Don't guess a size-zero buffer, as that might cause
122072         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
122073         result would be 'too large', where 'too large' is (heuristically)
122074         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
122075         overflow concerns.  This will prevent some unwanted malloc failures
122076         when the inputs are very large.
122078 2005-03-15  Karl Berry  <karl@gnu.org>
122080         * config/srclist.txt (config.rpath): from gettext.
122081         * config/config.rpath: update.
122083 2005-03-15  Bruno Haible  <bruno@clisp.org>
122085         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
122086         to 'negate'.
122088         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
122089         variable.
122091         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
122092         results.
122094 2005-03-14  Simon Josefsson  <jas@extundo.com>
122096         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
122097         <fx@gnu.org>.
122099 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
122101         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
122102         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
122103         intprops.h.
122104         * lib/strtol.c: Likewise.
122106 2005-03-14  Jim Meyering  <jim@meyering.net>
122108         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
122109         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
122110         to be nonzero so that we (and caller) can detect the difference
122111         between a valid zero-length expansion and an error return, even
122112         when the underlying strftime fails before writing anything into
122113         that location.
122115 2005-03-14  Bruno Haible  <bruno@clisp.org>
122117         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
122118         Update from GNU gettext 0.14.3.
122120 2005-03-10  Jim Meyering  <jim@meyering.net>
122122         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
122124 2005-03-10  Jim Meyering  <jim@meyering.net>
122126         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
122127         so that this module works on systems without fchdir.
122129 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
122131         Factor int-properties macros into a single file, except for
122132         glibc-related files.
122133         * lib/intprops.h: New file.
122134         * lib/getloadavg.c: Include it instead of limits.h.
122135         (INT_STRLEN_BOUND): Remove.
122136         * lib/human.c: Include intprops.h.
122137         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
122138         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
122139         302/1000.
122140         * lib/inttostr.h: Include intprops.h instead of limits.h.
122141         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
122142         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
122143         for consistency with intprops.h.
122144         (time_t_is_integer, twos_complement_arithmetic): Use them.
122145         * lib/sig2str.h: Include <signal.h>, intprops.h.
122146         (INT_STRLEN_BOUND): Remove.
122147         * lib/strftime.c (TYPE_SIGNED): Remove.
122148         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
122149         * lib/strtol.c: Adjust comments to match intprops.h.
122150         * lib/userspec.c: Include intprops.h.
122151         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
122152         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
122153         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
122154         instead of rolling our own expressions.
122155         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
122157         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
122158         instead of int.
122159         (my_strftime): Do not mishandle years close to INT_MAX, by doing
122160         the right thing even if adding 1900 would overflow.  Similarly
122161         for tm_mon + 1 and tm_yday + 1.
122162         Make %Y always equivalent to %C%y, and similarly for %G and %g.
122163         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
122164         (DO_SIGNED_NUMBER): New macro.
122165         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
122167 2005-03-07  Bruno Haible  <bruno@clisp.org>
122169         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
122171 2005-03-07  Bruno Haible  <bruno@clisp.org>
122173         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
122175 2005-03-04  Derek R. Price  <derek@ximbiot.com>
122177         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
122178         (func_import): Only replace files via --import when they have actually
122179         changed.
122181 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122183         * m4/mmap-anon.m4: New file.
122184         * m4/pagealign_alloc.m4: New file.
122186 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122187             Bruno Haible  <bruno@clisp.org>
122189         * modules/pagealign_alloc: New file.
122190         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
122192 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122193             Bruno Haible  <bruno@clisp.org>
122195         * lib/pagealign_alloc.h: New file.
122196         * lib/pagealign_alloc.c: New file.
122198 2005-03-03  Bruno Haible  <bruno@clisp.org>
122200         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
122201         Use an all-permissive copyright notice, recommended by RMS.
122203 2005-03-02  Bruno Haible  <bruno@clisp.org>
122205         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
122206         of AIX, the replacement has to be done only after <string.h> is
122207         included, therefore not in config.h. stpncpy.h does the replacement,
122208         and stpncpy.c uses it.
122210 2005-03-02  Bruno Haible  <bruno@clisp.org>
122212         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
122213         stpncpy.c uses it.
122215 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122217         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
122218         The workaround isn't strictly needed for POSIX conformance, and
122219         it's too much of a pain to configure and maintain.  We'll ask
122220         people to fix their kernels instead.
122221         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
122222         (NANOSLEEP_BUG_WORKAROUND): Remove.
122223         (xnanosleep): Remove the workaround.
122225 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122227         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
122228         Reported by Derek Price.
122229         (Include): Add "timespec.h".
122231         * modules/xnanosleep (Depends-on): Remove gethrxtime.
122233 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122235         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
122236         to detect nanosleep bug.
122238 2005-03-01  Bruno Haible  <bruno@clisp.org>
122240         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
122242 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
122244         * modules/gethrxtime: New file.
122245         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
122246         (Depends-on): Add gethrxtime.
122247         (configure.ac): Add gl_XNANOSLEEP.
122248         (Makefile.am): Remove lib_SOURCES line.
122250 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122252         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
122253         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
122255 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122257         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
122258         * lib/timespec.h (gettime): Return void, since it always
122259         succeeds now.  All uses changed.
122260         * lib/gettime.c (gettime): Likewise.
122261         [HAVE_NANOTIME]: Prefer nanotime.
122262         Assume gettimeofday succeeds, as POSIX requires.
122263         Assime time () succeeds, since other code already does.
122264         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
122265         (timespec_subtract): Remove.
122266         (NANOSLEEP_BUG_WORKAROUND): New constant.
122267         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
122268         things considerably.  Use it only on GNU/Linux hosts, since the
122269         workaround shouldn't be needed elsewhere.
122271 2005-02-24  Bruno Haible  <bruno@clisp.org>
122273         * modules/gettext (Files): Add m4/glibc2.m4.
122275 2005-02-24  Bruno Haible  <bruno@clisp.org>
122277         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
122278         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
122279         * m4/progtest.m4:
122280         Update from GNU gettext 0.14.2.
122281         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
122283 2005-02-24  Bruno Haible  <bruno@clisp.org>
122285         * lib/localcharset.c: Update from GNU gettext 0.14.2.
122286         * lib/config.charset: Update from GNU gettext 0.14.2.
122288 2005-02-24  Bruno Haible  <bruno@clisp.org>
122290         * lib/gettext.h: Update from GNU gettext 0.14.2.
122292 2005-02-23  Simon Josefsson  <jas@extundo.com>
122294         * m4/iconvme.m4: New file.
122296 2005-02-23  Jim Meyering  <jim@meyering.net>
122298         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
122299         change.
122300         Thanks to Bruno Haible for catching it.
122302 2005-02-22  Simon Josefsson  <jas@extundo.com>
122304         * modules/iconvme: New file.
122306         * MODULES.html.sh: Add iconvme.
122308 2005-02-22  Simon Josefsson  <jas@extundo.com>
122310         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
122312 2005-02-22  Simon Josefsson  <jas@extundo.com>
122314         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
122316 2005-02-22  Jim Meyering  <jim@meyering.net>
122318         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
122319         s/ifndef/ifdef/.
122321 2005-02-20  Neil Conway  <neilc@samurai.com>
122323         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
122324         returned by OSX/Darwin if the specified buffer is not large
122325         enough for the hostname.
122327 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122329         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
122330         pass it to _help, otherwise the latter coredumps trying to
122331         dereference state.root_argp.
122333 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122335         * modules/chdir-long (Depends-on): Add memrchr.
122336         * modules/memrchr (Files): Add lib/memrchr.h.
122337         (Include): "memrchr.h".
122339 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122341         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
122343 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122345         * lib/memrchr.h: New file.
122346         * lib/chdir-long.c: Include it.
122347         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
122348         Don't bother including stddef.h.
122350 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
122352         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
122353         inclusion.
122354         Include <sys/types.h>, for dev_t.
122355         (ME_DUMMY, ME_REMOTE): Move from here....
122356         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
122357         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
122358         Dmitry V. Levin.
122359         Include mountlist.h first, to test the interface.
122361 2005-01-29  Bruno Haible  <bruno@clisp.org>
122363         * lib/progname.c (program_name): Initialize.
122364         Needed when linking statically on MacOS X.
122366 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122368         Sync from coreutils.
122369         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
122370         (Depends-on): Add c-strtod.
122371         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
122373 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122375         Sync from coreutils.
122376         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
122378         Remove files that are specific to coreutils.
122379         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
122381 2005-01-28  Bruno Haible  <bruno@clisp.org>
122383         * modules/javacomp: New file.
122384         * MODULES.html.sh (Java): Add javacomp.
122386 2005-01-28  Bruno Haible  <bruno@clisp.org>
122388         * m4/javacomp.m4: New file, from GNU gettext.
122390 2005-01-28  Bruno Haible  <bruno@clisp.org>
122392         * lib/javacomp.sh.in: New file, from GNU gettext.
122393         * lib/javacomp.h: New file, from GNU gettext.
122394         * lib/javacomp.c: New file, from GNU gettext.
122396 2005-01-26  Simon Josefsson  <jas@extundo.com>
122398         * lib/gai_strerror.c: Use GPL in header.
122400 2005-01-26  Bruno Haible  <bruno@clisp.org>
122402         * modules/javaexec: New file.
122403         * MODULES.html.sh (Java): Add javaexec.
122405 2005-01-26  Bruno Haible  <bruno@clisp.org>
122407         * m4/javaexec.m4: New file, from GNU gettext.
122409 2005-01-26  Bruno Haible  <bruno@clisp.org>
122411         * lib/javaexec.sh.in: New file, from GNU gettext.
122412         * lib/javaexec.h: New file, from GNU gettext.
122413         * lib/javaexec.c: New file, from GNU gettext.
122415 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122417         * modules/lchown (Depends-on): Remove lchown.h
122419 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122421         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
122422         must be defined if the header file was not found, in order
122423         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
122425 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122427         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
122428         initializers for struct pentry_state.
122429         (__argp_error): Check return value of __asprintf
122430         (__argp_failure): Translate error message
122432         * lib/argp-parse.c: Removed braces around the expansion of N_()
122434 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
122436         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
122437         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
122438         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
122439         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
122440         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
122441         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
122442         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
122443         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
122444         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
122445         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
122446         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
122447         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
122448         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
122449         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
122450         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
122451         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
122452         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
122453         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
122454         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
122455         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
122456         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
122457         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
122458         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
122459         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
122460         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
122461         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
122462         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
122463         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
122464         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
122465         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
122466         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
122467         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
122468         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
122469         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
122470         xstrtol.m4, xstrtoumax.m4, yesno.m4:
122471         Use an all-permissive copyright notice, recommended by RMS.
122473 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
122475         * modules/chdir-long (Depends-on): Remove mempcpy.
122477 2005-01-21  Jim Meyering  <jim@meyering.net>
122479         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
122480         same value as for Solaris 9.
122482         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
122483         component length.  This included changing the parameter to be
122484         of type `char *' rather than `char const *'.
122485         * lib/chdir-long.h (chdir_long): Update prototype.
122487         * lib/openat.c (fdopendir, fstatat): New functions.
122488         * lib/openat.h: Include headers required for use of DIR and struct
122489         stat.
122490         [AT_SYMLINK_NOFOLLOW]: Define.
122491         (fdopendir, fstatat): Add prototypes.
122493 2005-01-21  Bruno Haible  <bruno@clisp.org>
122495         * modules/classpath: New file.
122496         * MODULES.html.sh (Java): Add classpath.
122498 2005-01-21  Bruno Haible  <bruno@clisp.org>
122500         * lib/classpath.h: New file, from GNU gettext.
122501         * lib/classpath.c: New file, from GNU gettext.
122503 2005-01-20  Simon Josefsson  <jas@extundo.com>
122505         * modules/version-etc-fsf: New file.
122507 2005-01-20  Simon Josefsson  <jas@extundo.com>
122509         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
122510         * lib/version-etc.c: Remove version_etc_copyright.
122511         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
122512         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
122514 2005-01-20  Simon Josefsson  <jas@extundo.com>
122516         * lib/base64.h (isbase64): Add.
122518         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
122519         using a unsigned prototype, don't inline.
122520         (base64_decode): Use it.
122522 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122524         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
122525         it.
122527 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122529         * lib/save-cwd.c (save_cwd): Remove code to support the case
122530         where fchdir is missing or flaky.
122532 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
122534         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
122536 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
122538         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
122539         AC_LIBSOURCES now does this.
122540         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
122541         with new ullong_max module.
122543 2005-01-19  Bruno Haible  <bruno@clisp.org>
122545         * modules/sh-quote: New file.
122546         * MODULES.html.sh (Executing programs): Add sh-quote.
122548 2005-01-19  Bruno Haible  <bruno@clisp.org>
122550         * lib/sh-quote.h: New file, from GNU gettext.
122551         * lib/sh-quote.c: New file, from GNU gettext.
122553 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122555         Merge from coreutils.
122556         * m4/ullong_max.m4: New file.
122557         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
122558         (gl_MACROS): Assume localeconv exists.
122560 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122562         Merge changes from coreutils, as described below in several
122563         changelogs dated today.
122565         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
122566         (O_DIRECTORY): Remove; not needed here, since "." must be
122567         a directory.  All uses removed.
122568         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
122569         universal on Suns, and we also need to test for IRIX.
122570         Revamp code to use 'if' rather than '#if'.
122571         Avoid unnecessary comparison of cwd->desc to 0.
122573         * lib/utimens.c (futimens): Robustify the previous patch, by checking
122574         for known valid error numbers rather than observed invalid ones.
122576 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
122578         * modules/ullong_max: New file.
122580         * modules/chdir-long, modules/openat: New files.
122581         * modules/save-cwd (Depends-on): Depend on chdir-long.
122582         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
122584 2005-01-18  Jim Meyering  <jim@meyering.net>
122586         Merge from coreutils.
122587         * m4/chdir-long.m4, m4/openat.m4: New files.
122588         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
122589         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
122590         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
122591         is sane and DOES follow symlinks.  Besides, testing 20 different
122592         systems found no broken chown implementations.
122593         Prompted by a change in rsync's copy of this macro.
122594         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
122596         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
122598         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
122599         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
122600         NULL-means-set-to-current-time semantics.
122601         Remove temporary file immediately, rather than waiting
122602         for configure's at-exit trap code to do it.
122604 2005-01-18  Jim Meyering  <jim@meyering.net>
122606         * lib/version-etc.c (version_etc_copyright): Update copyright date.
122608         * lib/utimens.c (futimens): Account for the fact that futimes
122609         can also fail with errno == ENOSYS or errno == ENOENT.
122610         Patch from Dmitry V. Levin.
122612         Change the name of the robust chdir function from chdir to chdir_long.
122613         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
122614         (restore_cwd): Use chdir_long, not chdir.
122615         * lib/chdir-long.c: Renamed from chdir.c.
122616         * lib/chdir-long.h: Renamed from chdir.h.
122617         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
122618         Hurd.
122620 2005-01-18  Bruno Haible  <bruno@clisp.org>
122622         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
122623         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
122624         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
122625         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
122626         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
122627         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
122628         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
122629         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
122630         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
122631         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
122632         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
122633         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
122634         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
122635         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
122636         Use an all-permissive copyright notice, recommended by RMS.
122638 2005-01-18  Bob Proulx  <bob@proulx.com>
122640         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
122641         simplify offsetof() macro construct to avoid compile failure with
122642         native HP-UX 11.0 ANSI C compiler.
122644 2005-01-17  Bruno Haible  <bruno@clisp.org>
122646         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
122647         redundant because stpncpy.m4 takes care of it.
122649 2005-01-17  Bruno Haible  <bruno@clisp.org>
122651         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
122653 2005-01-17  Bruno Haible  <bruno@clisp.org>
122655         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
122656         used.
122658 2005-01-17  Bruno Haible  <bruno@clisp.org>
122660         * lib/fwriteerror.h (fwriteerror): Change specification to include
122661         fclose.
122662         * lib/fwriteerror.c: Include <stdbool.h>.
122663         (fwriteerror): At the end, close the file stream. Record whether
122664         stdout was already closed.
122666 2005-01-17  Bruno Haible  <bruno@clisp.org>
122668         * lib/execute.c (environ): Declare if needed.
122669         * lib/pipe.c (environ): Likewise.
122670         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
122672 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122674         * modules/argp: Depend on vsnprintf
122676 2005-01-10  Jim Meyering  <jim@meyering.net>
122678         * modules/closeout (Depends-on): Add atexit.
122680 2005-01-06  Bruno Haible  <bruno@clisp.org>
122682         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
122684 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
122686         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
122687         definitions to be after all include files, to avoid collisions.
122688         Problem reported by Bob Proulx.
122690 2005-01-04  Jim Meyering  <jim@meyering.net>
122692         Changes imported from coreutils.
122693         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
122694         as the mkstemp template, use a temporary directory and an
122695         8.3-friendly template to avoid trouble on systems like DJGPP.
122696         Reported by Juan M. Guerrero via Stepan Kasal.
122697         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
122698         close. Remove the temporary directory right away, rather than waiting
122699         for configure's at-exit trap code to do it.
122700         Suggestion from Stepan Kasal.
122702 2005-01-01  Simon Josefsson  <jas@extundo.com>
122704         * gnulib-tool: Print #include directives when --import'ing.
122706 2004-12-28  Simon Josefsson  <jas@extundo.com>
122708         * tests/test-base64.c: Include required header files.  Remove
122709         unused variables.
122711 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
122713         * modules/error (Depends-on): Remove gettext.
122715 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
122717         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
122718         not needed.  This removes a dependency on the gettext module.
122719         [defined _LIBC]: Do not include <libintl.h>; not needed.
122721 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
122723         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
122724         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
122726 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
122728         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
122729         HAVE_DECL_STRTOLD.
122731 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122733         * modules/getdate (Depends-on): Remove alloca-opt.
122735 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122737         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
122739 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
122741         * lib/argp-parse.c: Include <stddef.h>.
122742         (alignof, alignto): New macros.
122743         (parser_init): Don't assume that void * is aligned sufficiently
122744         for struct option.
122746         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
122747         need to extend the stack.
122748         (YYINITDEPTH): New macro, so that the initial stack isn't overly
122749         large.
122751 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122753         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
122755 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
122757         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
122758         (2004-10-24) change.  Apparently this was a false alarm.
122760         * modules/getdate: Depend on alloca-opt, not alloca.
122762 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
122764         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
122765         Remove now-obsolete comment about AIX.
122766         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
122767         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
122768         (YYMAXDEPTH): New macro.
122770 2004-12-18  Simon Josefsson  <jas@extundo.com>
122772         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
122774 2004-12-18  Bruno Haible  <bruno@clisp.org>
122776         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
122778 2004-12-18  Bruno Haible  <bruno@clisp.org>
122780         * lib/fatal-signal.c (fatal_signals): Make non-const.
122781         (init_fatal_signals): New function.
122782         (uninstall_handlers, install_handlers): Ignore signals that were set to
122783         SIG_IGN.
122784         (at_fatal_signal): Call init_fatal_signals.
122785         (init_fatal_signal_set): Likewise. Ignore signals that were set to
122786         SIG_IGN.
122787         Reported by Paul Eggert.
122789 2004-12-18  Bruno Haible  <bruno@clisp.org>
122791         * doc/alloca.texi: New file.
122792         * doc/alloca-opt.texi: New file.
122794 2004-12-17  Jim Meyering  <jim@meyering.net>
122796         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
122797         Otherwise, install-sh could exit with improper exit status when
122798         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
122800 2004-12-16  Simon Josefsson  <jas@extundo.com>
122802         * tests/test-base64.c: Add license.
122804 2004-12-15  Stepan Kasal  <address@hidden>
122806         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
122808 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
122810         * modules/getcwd (Files): Add m4/d-ino.m4.
122811         Suggested by Mark D. Baushke.
122813 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
122815         * lib/getdate.y (textint): New member "negative".
122816         (time_zone_hhmm): New function.
122817         Expect 14 shift-reduce conflicts, not 13.
122818         (o_colon_minutes): New rule.
122819         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
122820         (yylex): Set the "negative" member of signed numbers.
122822 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
122824         * doc/getdate.texi (Time of day items, Time zone items):
122825         Describe new formats +00:00, UTC+00:00.
122827 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
122829         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
122830         spurious "-l"s.  Problem reported by Stepan Kasal.
122832 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
122834         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
122835         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
122837 2004-12-04  Simon Josefsson  <jas@extundo.com>
122839         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
122840         Vandoorselaere <yoann@prelude-ids.org>.
122842 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
122844         Changes imported from coreutils.
122845         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
122846         exist.
122847         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
122849 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
122851         Changes imported from coreutils.
122852         * lib/hard-locale.c: Assume <locale.h> exists.
122853         Include "strdup.h".
122854         (GLIBC_VERSION): New macro.
122855         (hard_locale): Assume setlocale exists.
122856         Rewrite to avoid #ifdef.
122857         Use strdup rather than malloc + strcpy.
122858         * lib/human.c: Assume <locale.h> exists.
122859         (human_readable): Assume localeconv exists.
122861 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
122863         * modules/hard-locale (Depends-on): Add strdup.
122865 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
122867         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
122868         convert T2, not T.  (Imported from libc.)
122870 2004-11-30  Simon Josefsson  <jas@extundo.com>
122872         * modules/restrict (License): Change to LGPL.
122874 2004-11-30  Simon Josefsson  <jas@extundo.com>
122876         * m4/restrict.m4: Add copyright and copying conditions.
122878 2004-11-30  Simon Josefsson  <jas@extundo.com>
122880         * m4/base64.m4: New file.
122882 2004-11-30  Simon Josefsson  <jas@extundo.com>
122884         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
122885         base64.
122887         * tests/test-base64.c: New file.
122889         * modules/base64: New file.
122891 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
122893         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
122894         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
122896         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
122898 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
122900         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
122901         (__getcwd.c): Don't restore errno; glibc doesn't.
122902         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
122903         first, falling back to our code only if its results look suspicious.
122904         Ensure that the resulting buffer is only as large as necessary.
122906         * lib/readutmp.c: Include readutmp.h first.
122907         Include <errno.h>, since readutmp.h no longer does that.
122908         * lib/readutmp.h: Don't include <errno.h>,
122909         <sys/param.h>, <time.h>; not needed to establish interface.
122910         (errno): Remove decl.
122911         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
122912         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
122913         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
122915 2004-11-28  Simon Josefsson  <jas@extundo.com>
122917         * lib/base64.h, base64.c: New file.
122919 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
122921         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
122923 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
122925         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
122926         (Depends-on): Remove pathmax, same.  Add mempcpy.
122927         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
122928         (Makefile.am): Append getcwd.h to lib_SOURCES.
122929         (Include): Add getcwd.h.
122930         (Maintainer): Change from Jim Meyering to "all, glibc",
122931         since getdate now uses intended-for-glibc code.
122932         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
122933         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
122935 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
122937         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
122938         HP's ANSI C compiler.
122939         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
122940         Declaring int functions causes warnings on some modern systems and
122941         shouldn't be needed to compile on ancient ones.
122942         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
122943         defined.
122945         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
122946         with the following changes.
122947         (__set_errno): Parenthesize properly.
122948         Include <stdbool.h>.
122949         (MIN, MAX, MATCHING_INO): New macros.
122950         (__getcwd): Define with prototype, not K&R form.
122951         Use heuristics to allocate default buffer on stack if possible.
122952         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
122953         behavior, and to avoid the PATH_MAX limit when computing
122954         ../../../../...
122955         Use MATCHING_INO to compare inode number to file.
122956         Check for arithmetic overflow in size calculations.
122957         Fix bug in reallocation of dot array that caused getcwd to fail
122958         on directories nested deeper than 75.
122959         Be more careful about saving errno on error.
122960         Do not use realloc; use only free+malloc, as this is a bit
122961         more flexible and avoids a needless copy operation.
122962         Do not inspect st_dev and st_ino for symbolic links; POSIX
122963         doesn't specify the latter.
122964         Check for closedir errors.
122965         Avoid needless casts.
122966         Use "#ifdef weak_alias" around weak_alias, to be like other
122967         glibc code.
122968         The following changes to getcwd.c have effect only when used in
122969         gnulib; they have no effect inside glibc proper.
122970         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
122971         as alloca isn't used.
122972         (alloca, __alloca): Likewise.
122973         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
122974         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
122975         unconditionally, as gnulib assumes C89 or better.
122976         Do not include <sys/param.h>.
122977         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
122978         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
122979         better.
122980         (NULL) [!defined NULL]: Remove; we assume C89 or better.
122981         Include <dirent.h> in a way that is compatible with modern Autoconf.
122982         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
122983         New macros, if not already defined.
122984         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
122985         Use "_LIBC", not "defined _LIBC", for consistency.
122986         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
122987         a mempcpy module.
122988         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
122989         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
122990         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
122991         credit only to Jim Meyering and adjust the copyright dates.
122992         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
122993         <stdlib.h>, <unistd.h>, "pathmax.h".
122994         Instead, include "xgetcwd.h" (first) and "getcwd.h".
122995         (INITIAL_BUFFER_SIZE): Remove.
122996         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
122998 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123000         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
123001         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
123002         Use the _ONCE methods, for efficiency.
123003         Check for fcntl.h.  In test program, include <errno.h>
123004         and <fcntl.h> if available.  Remove old K&R cruft from
123005         test program.  Check for common errors in GNU/Linux,
123006         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
123007         don't do AC_LIBOBJ, as that's getcwd.m4's job.
123008         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
123009         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
123010         name accordingly.
123011         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
123012         accommodate new getcwd.c.
123013         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
123014         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
123015         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
123016         that's all we need now.
123018 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123020         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
123021         argp-parse.c depends on getopt internals, that means we should
123022         always use our getopt, to be on the safe side.
123023         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
123024         order not to spoil the result of an eventual previous invocation
123025         of gl_GETOPT_SUBSTITUTE.
123027 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123029         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
123030         redefinition warnings. To avoid them, include the defines
123031         in `#if !defined __need_getopt ... #endif'. The only place
123032         where __getopt_argv_const is used is in definitions
123033         of getopt_long and getopt_long_only below, which are as well
123034         protected by `#ifndef __need_getopt'.
123035         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
123036         __need_getopt after including <stdio.h> and <unistd.h> These
123037         headers might have defined it.
123039 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123041         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
123043 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123045         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
123046         (futimens): New function, which uses futimes if available.
123047         (futimens, utimens): Support timespec==NULL, with same semantics
123048         as utime and utimens.
123049         * lib/utimens.h (futimens): New decl.
123051 2004-11-23  Jim Meyering  <jim@meyering.net>
123053         * lib/getopt_.h: Remove trailing blanks.
123055 2004-11-23  Jim Meyering  <jim@meyering.net>
123057         * lib/__fpending.c: Add comment.
123059 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
123061         * modules/canonicalize (Depends-on): Add xreadlink.
123062         Problem reported by James Youngman.
123064 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123066         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
123067         New macros.
123068         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
123069         optopt): Use them instead of invoking ## directly; otherwise, the
123070         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
123072 2004-11-19  Bruno Haible  <bruno@clisp.org>
123074         * lib/strtok_r.c: Move comments from here...
123075         * lib/strtok_r.h: ... to here.
123077 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123079         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
123080         implementations that mishandle size_t overflow.
123082 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123084         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
123085         might fail.  Problem reported by Yoann Vandoorselaere.
123086         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
123087         implementations that mishandle size_t overflow.
123089 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123091         * modules/canon-host (Depends-on): Add strdup.
123093 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123095         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
123097 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123099         * lib/canon-host.c: Include "strdup.h".
123100         (canon_host): Use getaddrinfo if available, so that IPv6 works.
123101         Use strdup instead of malloc/strcpy to duplicate strings.
123103         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
123104         (human_space_before_unit): New constant.
123105         * lib/human.c (human_readable): Support it.
123107         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
123108         (xgetcwd): Set errno correctly when failing.
123109         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
123110         the failure is actually due to a PATH_MAX problem.
123112         Further getopt changes to make it more likely that glibc will
123113         buy the changes back.
123114         * lib/getopt.c (POSIXLY_CORRECT): New constant.
123115         (getopt): Use it, so to preserve glibc semantic
123116         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
123117         when compiling for libc.
123118         * lib/getopt_.h (__getopt_argv_const): Bring it back.
123119         (getopt_long, getopt_long_only): Use it.
123121         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123122         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
123123         (getopt): Argv is now char * const *, as per standard.
123124         (_getopt_internal_r, _getopt_internal): Argv is now char **,
123125         not char *__getopt_argv_const *.
123126         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123127         _getopt_long_only_r): Likewise.
123128         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
123129         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123130         _getopt_long_r, _getopt_long_only_r): Likewise.
123131         * lib/getopt_.h (__getopt_argv_const): Remove.
123132         (getopt): Argv is now char * const *, as per standard.
123134         * lib/getdate.y (tORDINAL): New token.
123135         (day, relunit): Allow it for relative times.
123136         (relative_time_table): Use tORDINAL for ordinals.
123138 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123140         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
123141         Document that "second" isn't allowed as an ordinal number.
123143 2004-11-16  Jim Meyering  <jim@meyering.net>
123145         * modules/closeout (Depends-on): Add fpending.
123147 2004-11-15  Jim Meyering  <jim@meyering.net>
123149         * lib/closeout.c: Include "__fpending.h" once again.
123150         Include <stdbool.h>.
123151         (close_stdout): Don't fail just because stdout was closed initially,
123152         since some programs don't write to stdout in the normal course of
123153         operation (other than --version and --help), and we don't want this
123154         function to make e.g. `touch file >&-' fail.
123155         But do fail if it was closed and someone has tried to write to it.
123156         E.g., `printf foo >&-' must fail.
123158 2004-11-13  Jim Meyering  <jim@meyering.net>
123160         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
123162 2004-11-12  Simon Josefsson  <jas@extundo.com>
123164         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
123165         small doc fix is still pending.
123167 2004-11-11  Simon Josefsson  <jas@extundo.com>
123169         * modules/strtok_r: New file.
123171         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123172         strtok_r.
123174 2004-11-11  Simon Josefsson  <jas@extundo.com>
123176         * m4/strtok_r.m4: New file.
123178         * m4/getopt.m4: Replace opterr.
123180 2004-11-11  Simon Josefsson  <jas@extundo.com>
123182         * lib/strtok_r.h, strtok_r.c: New file.
123184 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123186         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
123187         of replacing opterr, getopt, etc.  This should handle the
123188         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
123190 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123192         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
123193         we can stop lying to compilers about the constness of argv when we
123194         are compiled outside glibc.
123195         (getopt, getopt_long, getopt_long_only): Use it.
123196         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123197         _getopt_internal, getopt): Likewise.
123198         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123199         _getopt_long_only_r): Likewise.
123200         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123201         _getopt_long_r, _getopt_long_only_r): Likewise.
123203         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
123204         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
123205         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
123206         the other external symbols.
123207         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
123208         declaration, since the above renaming now works around collisions.
123210 2004-11-11  Jim Meyering  <jim@meyering.net>
123212         * lib/linebreak.c: Remove trailing blanks.
123213         * lib/alloca_.h: Likewise.
123214         * lib/acosl.c: Likewise.
123215         * lib/euidaccess.c: Likewise.
123216         * lib/allocsa.h: Likewise.
123218 2004-11-10  Simon Josefsson  <jas@extundo.com>
123220         * m4/getaddrinfo.m4: New file.
123222 2004-11-10  Simon Josefsson  <jas@extundo.com>
123224         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
123226 2004-11-10  Simon Josefsson  <jas@extundo.com>
123228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123229         getaddrinfo.
123231         * modules/getaddrinfo: New file.
123233 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123235         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
123237 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123239         * lib/mktime.c (SHR): New macro, which is a portable
123240         substitute for >> that should work even on Crays.
123241         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
123242         Problem reported by Mark D. Baushke in
123243         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
123244         * lib/getdate.y (SHR): Likewise.
123245         (tm_diff): Use it.
123246         * lib/strftime.c (SHR): Likewise.
123247         (tm_diff): Use it.
123248         * lib/quotearg.c (struct quoting_options): Use unsigned int for
123249         quote_these_too, so that right shifts are well defined.  All uses
123250         changed.
123252 2004-11-10  Jim Meyering  <jim@meyering.net>
123254         Ensure that no close failure goes unreported.
123255         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
123256         return early when it seems there's nothing to flush.
123257         Don't include __fpending.h.
123259 2004-11-10  Jim Meyering  <jim@meyering.net>
123261         * modules/closeout (Depends-on): Remove fpending.
123263 2004-11-10  Jim Meyering  <jim@meyering.net>
123265         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
123267 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123269         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
123270         gl_FUNC_STRFTIME.
123271         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
123272         and AC_REQUIRE when possible, to avoid duplicate checks.
123273         Check for <wchar.h>.
123275 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123277         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
123279 2004-11-09  Bruno Haible  <bruno@clisp.org>
123281         * m4/sockpfaf.m4: New file.
123283 2004-11-05  Bruno Haible  <bruno@clisp.org>
123285         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
123286         Reported by Mark D. Baushke <mdb@cvshome.org>.
123288 2004-11-04  Bruno Haible  <bruno@clisp.org>
123290         2004-09-11  Bruno Haible  <bruno@clisp.org>
123291                 * allocsa.valgrind: New file.
123292         2004-02-06  Bruno Haible  <bruno@clisp.org>
123293                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
123294                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
123295                 Reported by Christopher Seip <chris.seip@hp.com>.
123297 2004-11-04  Bruno Haible  <bruno@clisp.org>
123299         * modules/allocsa (Files): Add lib/allocsa.valgrind.
123300         (Makefile.am): Distribute it.
123302 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
123304         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
123305         with errno == ERANGE if the buffer is too small.
123306         Problem reported by Mark D. Baushke.
123308 2004-11-03  Albert Chin  <china@thewrittenword.com>
123309             Paul Eggert  <eggert@cs.ucla.edu>
123311         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
123312         equivalent, substitute $ac_type for equivalent type rather than
123313         blindly using uint32_t *always* which won't work if uint32_t is not
123314         available.  Define _UINT32_T to work around typedef of uint32_t if
123315         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
123316         2.5.1.
123318 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123320         * m4/jm-macros.m4: Sync from coreutils.
123321         (gl_MACROS): Check for mbrlen, for pathchk.
123322         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
123324 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123326         * lib/xreadlink.c (MAXSIZE): New macro.
123327         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
123328         size does not exceed MAXSIZE.  Avoid cast.
123329         As suggested by Mark D. Baushke in
123330         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
123331         if readlink fails with buffer size just under MAXSIZE, try again
123332         with MAXSIZE.
123334 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123336         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
123338 2004-11-02  Derek R. Price  <derek@ximbiot.com>
123339         and  Paul Eggert  <eggert@cs.ucla.edu>
123341         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
123342         (get_date): Overparenthesize to avoid GCC warning.
123344 2004-11-02  Bruno Haible  <bruno@clisp.org>
123346         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
123347         returns void.
123349 2004-11-02  Bruno Haible  <bruno@clisp.org>
123351         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
123352         function returns void.
123354 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123356         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
123357         fflush_unlocked, flockfile, funlockfile, funlockfile,
123358         fputs_unlocked, putc_unlocked.
123360 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123362         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123363         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
123364         already declared.
123366 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123368         * modules/getdate (Files): Add doc/getdate.texi.
123369         (Depends-on): Add setenv, xalloc.
123371 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123373         * lib/getdate.y: Add support for TZ="foo" within a date string.
123374         Fix some bugs near time_t boundaries.  Reject dates with
123375         out-of-range components, e.g., "Sept 31".
123376         Include <stdlib.h>, "setenv.h", "xalloc.h".
123377         (ISDIGIT_LOCALE): Remove; unused.
123378         Note that the TZ and time functions used here are not reentrant.
123379         (mktime_ok, get_tz): New functions.
123380         (TZBUFSIZE): New constant.
123381         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
123382         This requires that we sometimes generate our own TZ="XXX..." setting.
123384 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123386         * doc/getdate.texi: New file, from coreutils with modifications for
123387         the new TZ parsing.
123389 2004-10-27  Derek R. Price  <derek@ximbiot.com>
123391         * lib/mktime.c (not_equal_tm): Remove redundant check.
123393 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123395         * modules/regex (lib_SOURCES): Add regex.c.
123396         Reported by James Youngman in
123397         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
123399 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123401         * lib/getdate.y: Use Bison 1.875 features, and some minor
123402         code cleanups.  This change does not affect semantics.
123403         Don't include <stdlib.h>; no longer needed.
123404         Don't include unlocked-io.h; only the "#if TEST" code uses
123405         stdio, and performance isn't crucial there.
123406         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
123407         Bison 1.875 features as described below.
123408         All uses of "PC." replaced by "pc->".
123409         (YYSTYPE): Add a forward declaration.
123410         (yylex, yyerror): Use full prototypes in forward decls.
123411         Use "%pure-parser" rather than obsolescent "%pure_parser".
123412         Use %parse-param and %lex-param instead of obsolescent
123413         YYPARSE_PARAM and YYLEX_PARAM.
123414         (meridian_table, month_and_day_table, time_units_table,
123415         relative_time_table, time_zone_table, military_table,
123416         lookup_zone, lookup_word, get_date):
123417         Use NULL instead of 0 where appropriate.
123418         (to_hour): Avoid abort (), to avoid a dependency on
123419         stdlib.h.
123420         (yyerror, yylex): Now accepts parser_control * arg.
123421         (main) [TEST]: Use '\0' rather than 0 for char.
123423 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123425         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
123427 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123429         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
123430         It's now the caller's responsibility to handle the case where
123431         !HAVE_GETPAGESIZE && !defined getpagesize.
123433         * lib/mktime.c (leapyear): Arg is long int, not int.
123435 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123437         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
123439 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
123441         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
123442         missing.  Problem reported by James Youngman.
123444 2004-10-16  Simon Josefsson  <jas@extundo.com>
123446         * gnulib-tool: Fix comments.  Fix parse problem.
123447         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
123449 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
123451         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
123452         implementation of getopt_long.  Problem reported by Alexander Taler in:
123453         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
123455 2004-10-15  Bruno Haible  <bruno@clisp.org>
123457         * gnulib-tool: Untabify. Initialize supplied_libname.
123458         (func_usage): More homogenous output.
123459         (func_modules_transitive_closure, func_modules_to_filelist,
123460         func_emit_lib_Makefile_am): New functions.
123461         (func_import): New function, extracted from big case statement. Use
123462         func_get_license, func_modules_transitive_closure,
123463         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
123464         opt_lgpl. Don't use test -a, as it's not portable.
123465         (func_create_testdir): Use func_modules_transitive_closure,
123466         func_modules_to_filelist, func_emit_lib_Makefile_am.
123468 2004-10-15  Bruno Haible  <bruno@clisp.org>
123470         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
123472 2004-10-15  Bruno Haible  <bruno@clisp.org>
123474         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
123475         the portions belonging to each module.
123476         Suggested by Derek Robert Price <derek@ximbiot.com>.
123478 2004-10-12  Simon Josefsson  <jas@extundo.com>
123480         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123481         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
123482         to real functions.
123484 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123486         * modules/vsnprintf: New file.
123488 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123490         * m4/vsnprintf.m4: New file.
123492 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123494         * lib/vsnprintf.h: New file.
123495         * lib/vsnprintf.c: New file.
123497 2004-10-11  Bruno Haible  <bruno@clisp.org>
123499         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
123500         vsnprintf.
123502 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
123504         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
123506 2004-10-07  Bruno Haible  <bruno@clisp.org>
123508         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
123509         fits into the provided buffer.
123511 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
123513         * lib/diacrit.c, diacrit.h: Add GPL notice.
123515         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
123516         notice.
123517         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
123518         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
123519         This avoids a potential constant-folding bug.
123521 2004-10-05  Bruno Haible  <bruno@clisp.org>
123523         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
123524         for the declaration of strsep.
123526 2004-10-05  Bruno Haible  <bruno@clisp.org>
123528         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
123530 2004-10-04  Simon Josefsson  <jas@extundo.com>
123532         * modules/memmem: New file.
123533         * tests/test-memmem.c: New file.
123534         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
123536 2004-10-04  Simon Josefsson  <jas@extundo.com>
123538         * m4/memmem.m4: New file.
123540 2004-10-04  Simon Josefsson  <jas@extundo.com>
123542         * lib/memmem.h: New file.
123543         * lib/memmem.c: New file, taken from glibc.
123545 2004-10-04  Simon Josefsson  <jas@extundo.com>
123547         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
123548         '#ifdef USE_UNLOCKED_IO'.
123550 2004-10-04  Simon Josefsson  <jas@extundo.com>
123552         * config/srclist.txt: Add memmem from glibc.
123554 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123556         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
123558         * modules/argmatch, modules/argp, modules/closeout, modules/error,
123559         modules/exclude, modules/getdate, modules/getline,
123560         modules/getndelim2, modules/getpass, modules/getpass-gnu,
123561         modules/getusershell, modules/linebuffer, modules/md5,
123562         modules/mountlist, modules/posixtm, modules/readtokens,
123563         modules/readutmp, modules/regex, modules/sha1,
123564         modules/version-etc, modules/yesno:
123565         Remove dependency on unlocked-io.
123567 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123569         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
123571         * m4/unlocked-io.m4: Add copyright notice.
123572         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
123574 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123576         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
123577         * lib/xmalloc.c (xmemdup): Likewise.
123578         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
123579         XFREE): Remove these long-obsolescent macros.
123580         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
123581         * lib/xstrdup.c: Remove.
123583         * lib/regex.c (re_comp): Cast gettext return value to char *,
123584         Problem reported by Martin Neitzel via Mark D. Baushke.
123586 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
123588         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
123589         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
123590         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
123591         regex.c, sha1.c, version-etc.c, yesno.c:
123592         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
123593         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
123594         the includer's responsibility.
123596         Sync from coreutils.
123598         * lib/modechange.c (mode_compile): Don't decrement a pointer that
123599         points to the start of a string, as the C Standard says the
123600         resulting behavior is undefined.
123602         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
123603         simple -> simple_backups, numbered_existing ->
123604         numbered_existing_backups, numbered -> numbered_backups
123605         to avoid shadowing problems.  All uses changed.
123606         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
123607         * lib/backupfile.c (check_extension, numbered_backup):
123608         Rename locals to avoid shadowing 'basename'.
123609         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
123610         once.
123612         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
123613         * lib/.cvsignore: Add getopt.h.
123615 2004-10-04  Bruno Haible  <bruno@clisp.org>
123617         * modules/README: New file.
123618         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
123619         not a module.
123621 2004-10-02  Jim Meyering  <jim@meyering.net>
123623         * lib/dirfd.h, getpagesize.h: Add copyright notice.
123625 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123627         * modules/strsep: New file.
123629 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123631         * m4/strsep.m4: New file.
123633 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123635         * lib/strsep.h: New file.
123636         * lib/strsep.c: New file.
123638 2004-10-01  Simon Josefsson  <jas@extundo.com>
123640         * lib/snprintf.c (snprintf): Handle size==0.
123642 2004-10-01  Simon Josefsson  <jas@extundo.com>
123643             Bruno Haible  <bruno@clisp.org>
123645         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
123646         (snprintf): Declare 'args'.
123648 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
123650         * lib/snprintf.c: Remove comments as to why each header is needed.
123652 2004-10-01  Bruno Haible  <bruno@clisp.org>
123654         * MODULES.html.sh: Add strsep.
123656 2004-09-30  Simon Josefsson  <jas@extundo.com>
123658         * modules/snprintf: New file.
123660 2004-09-30  Simon Josefsson  <jas@extundo.com>
123662         * m4/snprintf.m4: New file.
123664 2004-09-30  Simon Josefsson  <jas@extundo.com>
123666         * lib/snprintf.h, lib/snprintf.c: New files.
123668 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123670         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
123671         (hol_entry_help): Never translate an empty string.
123672         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
123673         * lib/argp.h (OPTION_NO_TRANS): New option.
123675 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123677         * modules/argp (Maintainer): Replace Simon Josefsson
123678         by Sergey Poznyakoff.
123680 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123682         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
123683         changes merged back into glibc.
123685 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
123687         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
123689 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
123691         * lib/xvasprintf.c: Include xalloc.h.
123692         (xvasprintf): Use xalloc_die, not xmalloc_die.
123694 2004-09-29  Bruno Haible  <bruno@clisp.org>
123696         * modules/alloca-opt: New file, derived from modules/alloca.
123697         * modules/allocsa: Depend on alloca-opt instead of alloca.
123698         * modules/setenv: Likewise.
123699         * modules/vasnprintf: Likewise.
123700         * MODULES.html.sh: Add alloca-opt.
123702 2004-09-28  Simon Josefsson  <jas@extundo.com>
123704         * gnulib-tool: New parameter --lgpl, to asseert that modules are
123705         LGPL, and to replace license template from GPL to LGPL.
123707 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
123709         * modules/dummy: Change license to LGPL.
123711 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
123713         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
123715 2004-09-24  Simon Josefsson  <jas@extundo.com>
123717         * modules/minmax (License): Change from GPL to LGPL.
123719 2004-09-23  Simon Josefsson  <jas@extundo.com>
123721         * gnulib-tool (--import): Typo.
123723 2004-09-23  Simon Josefsson  <jas@extundo.com>
123725         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
123727 2004-09-22  Bruno Haible  <bruno@clisp.org>
123729         * modules/*: Add 'License' field.
123730         * gnulib-tool: Accept --extract-license option.
123731         (func_get_license): New function.
123733 2004-09-21  Bruno Haible  <bruno@clisp.org>
123735         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
123736         Reported by Simon Josefsson.
123738 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
123740         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
123741         gl_AC_TYPE_LONG_LONG.
123743 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
123745         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
123747 2004-09-18  Simon Josefsson  <jas@extundo.com>
123748         and  Paul Eggert  <eggert@cs.ucla.edu>
123750         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
123751         calls with autoreconf.  Define GL_LIB.
123753 2004-09-14  Karl Berry  <karl@gnu.org>
123755         * config/srclist.txt: unsync setenv.c, sigh.
123757 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
123759         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
123760         Problem reported by Bruno Haible in:
123761         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
123763 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
123765         * config/srclist.txt: Comment out argp-pvh.c.
123767 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
123769         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
123770         in case some system header has #define'd it.  Problem reported by
123771         Soeren D. Schulze in
123772         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
123774 2004-09-09  Karl Berry  <karl@gnu.org>
123776         * regex.[ch]: delete from the root.  These were supposed to be
123777                 synced with emacs cvs, but this has not happened for about
123778                 a year, and anyway nothing else uses emacs regex.[ch].
123779                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
123780                 lib/regex[.ch] is untouched.
123782 2004-09-09  Bruno Haible  <bruno@clisp.org>
123784         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
123786 2004-09-09  Bruno Haible  <bruno@clisp.org>
123788         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
123789         modifications.
123790         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
123792 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
123794         * modules/xvasprintf: New file.
123795         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
123797 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
123799         * lib/xvasprintf.h: New file.
123800         * lib/xvasprintf.c: New file.
123801         * lib/xasprintf.c: New file.
123803 2004-09-08  Bruno Haible  <bruno@clisp.org>
123805         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
123807 2004-09-08  Bruno Haible  <bruno@clisp.org>
123809         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
123810         length is > INT_MAX.
123811         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
123812         more.
123814 2004-09-08  Bruno Haible  <bruno@clisp.org>
123816         * lib/stdint_.h: New file, taken from GNU clisp.
123818 2004-09-08  Bruno Haible  <bruno@clisp.org>
123819             Oskar Liljeblad  <oskar@osk.mine.nu>
123821         * modules/stdint: New file.
123822         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
123824 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
123826         Import from coreutils.
123827         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
123828         strings on unbounded length.  alloca's performance benefits aren't
123829         that important here.
123830         (V_STRDUP): Remove.
123831         (parse_with_separator): New function, with most of the internals
123832         of the old parse_user_spec.  Allow user to omit both user and group,
123833         for compatibility with FreeBSD.
123834         Clone only the user name, not the entire spec.
123835         Do not set *uid, *gid unless entirely successful.
123836         Avoid memory leak in some failing cases.
123837         Fix regression for USER.GROUP reported by Dmitry V. Levin in
123838         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
123839         (parse_user_spec): Rewrite to use parse_with_separator.
123841 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
123843         * modules/userspec: Don't depend on alloca.
123845 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
123847         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
123849 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
123851         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
123852         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
123853         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
123855 2004-08-16  Simon Josefsson  <jas@extundo.com>
123857         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
123858         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
123859         Add --dry-run for --import.
123860         Let user provided command line parameters override configure.ac
123861         settings.
123863 2004-08-12  Simon Josefsson  <jas@extundo.com>
123865         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
123866         as discussed with Paul Eggert in threads rooted at
123867         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
123868         and
123869         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
123870         Before, the test was empty, and relied on ELIDE_CODE in source
123871         code.)
123872         (gl_PREREQ_GETOPT): New macro.
123873         (gl_GETOPT): Use them.
123875 2004-08-12  Simon Josefsson  <jas@extundo.com>
123877         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
123878         * lib/getopt_.h: Renamed from getopt.h.
123880 2004-08-12  Simon Josefsson  <jas@extundo.com>
123882         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
123883         Change default library name from libfoo to libgnu.
123884         Now, if you have a configure.ac that says:
123885                 gl_SOURCE_BASE(gl)
123886                 gl_M4_BASE(gl/m4)
123887                 gl_MODULES(error getopt etcetera)
123888                 gl_INIT
123889         you can import all you need by running:
123890                 ../gnulib/gnulib-tool --import
123892         * modules/getopt (Files): Rename getopt.h to getopt_.h.
123893         (Makefile.am): Rewrite, use logic from argz.
123894         (Include): Use <getopt.h> instead of "getopt.h".
123896 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123898         * modules/argp (Files): Add m4/unlocked-io.m4.
123899         (Depends-on): Add extensions.
123901 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123903         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
123904         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
123905         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
123906         Check for program_invocation_name, program_invocation_short_name,
123907         flockfile, funlockfile, features.h, _getopt_long_only_r.
123909 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123911         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
123912         its complicated substitute.
123913         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
123914         and program_invocation_name.
123915         (__argp_basename) [!_LIBC]: Remove; the only use was
123916         replaced by its body.
123917         (__argp_short_program_name): Change condition from
123918         !defined __argp_short_program_name to
123919         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
123920         to match argp-namefrob.h.
123921         (__argp_failure): Don't assume strerror_r returns char *.
123922         * lib/argp-parse.c (N_): Define unconditionally.
123923         (argp_default_options): Fill out initializers with 0 to avoid
123924         gcc warnings.
123926 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
123928         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
123929         getopt1.c.
123931 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123933         Merge from coreutils.
123935         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
123937         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
123938         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
123940 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123942         Merge from coreutils.
123944         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
123945         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
123946         for Reliant Unix 5.43.
123948         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
123949         (union fooround): Use uintmax_t, not long int.
123950         The rest is a merge from libc:
123951         [defined _LIBC]: Include <shlib-compat.h>.
123952         (_obstack) [defined _LIBC]: Remove after 2.3.4.
123954         * lib/settime.c (settime): Recode to avoid warning with
123955         Sun Forte C 6U2.
123957         * lib/strverscmp.c: Convert to UTF-8.
123959 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
123961         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
123962         m4/uintmax_t.m4.
123964 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123966         * modules/xalloc-die: New file.
123967         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
123969         * modules/md5 (Files): Add m4/uint32_t.m4.
123970         * modules/sha1: Renamed from modules/sha.
123971         (Files):
123972         Rename lib/sha.h to lib/sha1.h.
123973         Rename lib/sha.c to lib/sha1.c.
123974         Rename m4/sha.m4 to m4/sha1.m4.
123975         (lib_SOURCES): Likewise.
123976         (configure.ac): Rename gl_SHA to gl_SHA1.
123977         (Include): sha.h -> sha1.h.
123979 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123981         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
123982         * m4/sha1.m4: Renamed from sha.m4.
123983         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
123985 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
123987         * lib/obstack.h (obstack_empty_p):
123988         Don't assume that chunk->contents is suitably aligned.
123989         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
123990         Likewise. Problem reported by Benno in
123991         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
123993         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
123994         readable.  This could be improved further but it'd take some work.
123996 2004-08-08  Simon Josefsson  <jas@extundo.com>
123998         * modules/xgethostname (Depends-on): Remove exit and error (not
123999         used).
124001         * modules/getpass-gnu: Add getpass.h.
124002         (Depends-on): Add stdbool.
124003         * modules/getpass: Add getpass.h.
124005 2004-08-08  Simon Josefsson  <jas@extundo.com>
124007         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
124008         Check getpass declaration.
124010 2004-08-08  Simon Josefsson  <jas@extundo.com>
124012         * lib/xgethostname.c: Don't include error.h (not used).
124014         * lib/getpass.h: Add.
124015         * lib/getpass.c: Include getpass.h first.
124017 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
124019         * lib/xalloc-die.c: New file.
124020         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
124021         All uses removed.
124022         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
124023         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
124024         xalloc-die.c.
124025         (_, N_, xalloc_die): Move to xalloc-die.c.
124026         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
124027         so that we needn't mess with xalloc_msg_memory_exhausted.
124029         * lib/sha1.h: Renamed from sha.h.
124030         (SHA1_H): Renamed from _SHA_H.
124031         (sha1_ctx): Renamed from sha_ctx.
124032         (sha1_init_ctx): Renamed from sha_init_ctx.
124033         (sha1_process_block): Renamed from sha_process_block.
124034         (sha1_process_bytes): Renamed from sha_process_bytes.
124035         (sha1_finish_ctx): Renamed from sha_finish_ctx.
124036         (sha1_read_ctx): Renamed from sha_read_ctx.
124037         (sha1_stream): Renamed from sha_stream.
124038         (sha1_buffer): Renamed from sha_buffer.
124039         * lib/sha1.c: Likewise; renamed from sha.c.
124040         Do not include <sys/types.h>.
124041         Include <stddef.h> rather than <stdlib.h>.
124043 2004-08-08  Bruno Haible  <bruno@clisp.org>
124045         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
124046         FILESYSTEM_PREFIX_LEN.
124047         * lib/progreloc.c: Likewise.
124048         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
124050 2004-08-06  Simon Josefsson  <jas@extundo.com>
124052         * modules/progname (Depends-on): Don't depend on stdbool.
124054 2004-08-06  Simon Josefsson  <jas@extundo.com>
124056         * modules/getsubopt: New file.
124057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124058         getsubopt.
124060 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124062         More merge from coreutils.
124064         * m4/utimens.m4, m4/utimecmp.m4: New files.
124065         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
124066         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
124067         prereq.m4, sha.m4: Import changes from coreutils.
124069 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124071         More merge from coreutils.
124072         * modules/raise, modules/readtokens0, modules/utimens:
124073         * modules/utimecmp, module/xnanosleep: New files.
124074         * modules/strftime: Add lib/strftime.h.
124075         Change include from <time.h> to "strftime.h".
124076         * modules/yesno: Add lib/yesno.h.
124077         * modules/backupfile: Remove lib/addext.c.
124078         * modules/euidaccess: Add stat-macros.h.
124079         * modules/canonicalize, modules/euidaccess,
124080         modules/filemode, modules/lchown, modules/makepath,
124081         modules/rmdir, modules/stat: Likewise.
124083 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124085         Merge from tar.
124086         * lib/argp-help.c (make_hol, hol_append): Don't assume that
124087         SIZE_MAX is a valid preprocessor constant.
124088         (__argp_basename): Change from "#ifndef _LIBC"
124089         to "#ifndef __argp_short_program_name", so that
124090         we don't compile these functions for tar.
124092         More merges from coreutils.
124093         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
124094         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
124095         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
124096         * lib/addext.c: Remove; no longer needed.
124097         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
124098         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
124099         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
124100         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
124101         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
124102         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
124103         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
124104         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
124105         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
124106         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
124107         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
124108         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
124109         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
124110         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
124111         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
124112         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
124113         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
124114         Import changes from coreutils.
124116 2004-08-05  Simon Josefsson  <jas@extundo.com>
124118         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
124120 2004-08-05  Simon Josefsson  <jas@extundo.com>
124122         * m4/getsubopt.m4: New file.
124124 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124126         Merge from coreutils.
124128         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
124129         * m4/getcwd-path-max.m4: New files.
124131         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
124132         FILESYSTEM_PREFIX_LEN ->
124133         FILE_SYSTEM_PREFIX_LEN.
124134         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
124135         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
124136         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
124137         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
124139         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
124140         prerequisite modules now handle the DOS stuff.
124141         Don't check for unistd.h.
124143 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124145         Merge from coreutils.
124147         * lib/.gdb-history: Remove; this doesn't belong here.
124149         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
124150         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
124151         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
124152         * lib/getcwd.c: New files.
124154         * lib/dirname.h: Include <stdbool.h>.
124155         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
124156         for consistency with POSIX terminology.  All uses changed.
124157         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
124158         (strip_trailing_slashes): Use bool for booleans.
124159         * lib/stripslash.c (strip_trailing_slashes): Likewise.
124161         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
124162         sometimes returns a positive errno value even when it succeeds.
124163         (print_errno_message) [!LIBC]: Fall back on strerror if
124164         __strerror_r fails.
124166         * lib/path-concat.c (mempcpy): Don't define if a system header defines
124167         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
124168         (longest_relative_suffix): New function.
124169         (path_concat): Use it.  Assume first argument is not NULL.
124170         Port to DOS.  Omit redundant separators.
124171         Report an error instead of returning NULL.
124172         Use mempcpy instead of memcpy.
124173         (xpath_concat): Remove: not declared or used.
124175         * lib/same.h: Include <stdbool.h>
124176         (same_name): Return bool, not int.
124177         * lib/same.c (same_name): Likewise.
124178         (errno): Don't declare; we assume C89 or better now.
124180         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
124181         if not already defined.
124183         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
124184         * lib/dup-safer.c (errno): Likewise.
124186 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124188         Merge from coreutils.
124189         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
124190         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
124191         * modules/path-concat: Don't depend on strdup.
124193 2004-08-03  Simon Josefsson  <jas@extundo.com>
124195         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
124196         * lib/progname.h: Don't include stdbool.h.
124198 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124200         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
124201         * MODULES.html.sh (func_all_modules): Remove fatal.
124203 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124205         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
124207 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124209         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
124210         working.
124212 2004-08-02  Simon Josefsson  <jas@extundo.com>
124214         * lib/getsubopt.h: New file, with comments from Bruno Haible.
124215         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
124216         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
124218 2004-08-01  Simon Josefsson  <jas@extundo.com>
124220         * lib/xgetdomainname.c: Include stdlib.h, for free().
124222 2004-07-19  Bruno Haible  <bruno@clisp.org>
124224         * MODULES.html.sh (func_all_modules): Add dummy.
124226 2004-07-16  Simon Josefsson  <jas@extundo.com>
124228         * modules/dummy: New file.
124230 2004-07-16  Simon Josefsson  <jas@extundo.com>
124232         * lib/dummy.c: New file.
124234 2004-07-16  Bruno Haible  <bruno@clisp.org>
124236         * lib/backupfile.h: Add extern "C" for C++.
124237         * lib/closeout.h: Likewise.
124238         * lib/copy-file.h: Likewise.
124239         * lib/findprog.h: Likewise.
124240         * lib/full-write.h: Likewise.
124241         * lib/pathname.h: Likewise.
124242         * lib/progname.h: Likewise.
124243         * lib/stpcpy.h: Likewise.
124244         * lib/stpncpy.h: Likewise.
124245         * lib/strcase.h: Likewise.
124246         * lib/strstr.h: Likewise.
124247         * lib/xalloc.h: Likewise.
124249         * lib/mbswidth.h: Add extern "C" for C++.
124250         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
124252 2004-07-13  Robert Millan  <robertmh@gnu.org>
124254         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
124256 2004-07-09  Simon Josefsson  <jas@extundo.com>
124258         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
124259         failed without this.)
124261 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124263         * modules/chown (Files): Add lib/fchown-stub.c, since
124264         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
124266 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124268         * lib/fchown-stub.c: New file.
124270 2004-06-24  Jim Meyering  <jim@meyering.net>
124272         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
124274 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124276         * modules/argz: Omit "#include".
124278         * MODULES.html.sh (func_all_modules): Add calloc, to match
124279         2004-06-01 addition of calloc module.
124281 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124283         * m4/argz.m4: New file, which is autoupdated from libtool.
124285 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124287         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
124288         libtool.
124290 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124292         * config/srclist-update: Don't insist on "USA." before the
124293         close-comment, as libtool omits the period and puts the */ on a
124294         separate line.
124295         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
124296         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
124298 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
124300         * modules/argz: New file.
124301         * MODULES.html.sh (func_all_modules): Add argz.
124303 2004-06-12  Jim Meyering  <jim@meyering.net>
124304         and  Paul Eggert  <eggert@cs.ucla.edu>
124306         * modules/hash (Files): Add lib/xalloc.h.
124307         * modules/pipe (Depends-on): Add wait-process.
124308         * modules/stat (Depends-on): Add xalloc.
124309         * modules/userspec (Files): Add lib/userspec.h.
124310         * modules/xstrto
124312         Upgrade from gettext-0.13.
124313         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
124314         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
124315         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
124317 2004-06-10  Jim Meyering  <jim@meyering.net>
124319         * lib/calloc.c: New file.
124321 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
124323         * lib/getdate.y (yylex): Allow space between sign and number.
124324         Problem reported by Dan Jacobson.
124326 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124328         Merge from coreutils CVS.
124330         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
124331         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
124332         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
124333         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
124334         xstrtol.m4: Fix copyright date and/or serial number.
124336         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
124337         See if we need an fchown replacement.
124338         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
124339         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
124340         and use the replacement function if we detect either defect.
124342         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
124343         gl_UTIMECMP.
124345 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124346         and  Jim Meyering  <jim@meyering.net>
124348         Merge from coreutils CVS.
124350         * lib/stat-macros.h: New file, with contents from file-type.h
124351         and coreutils' system.h.
124352         * lib/file-type.c: Include "stat-macros.h".
124353         * lib/file-type.h (file_type): Move all macro definitions to new file,
124354         stat-macros.h.
124356         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
124357         Wrap old code with this conditional.
124358         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
124359         function that does not dereference symlinks.
124360         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
124362         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
124363         dependency problems.
124364         (xreadlink): Accept new arg SIZE, for efficiency.
124365         All decls and uses changed.
124366         * lib/xreadlink.h: Include <stddef.h>, for size_t.
124368         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
124369         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
124371         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
124372         sysexits.h.
124374 2004-06-01  Jim Meyering  <jim@meyering.net>
124376         * m4/calloc.m4: New file.
124378 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
124380         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
124381         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
124382         Also, fix a typo in a diagnostic.
124384 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124386         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
124387         or AC_FUNC_REALLOC.
124389 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124391         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
124392         macros to be defined.
124393         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
124394         the allocator returns NULL because the requested size is zero.
124396 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
124398         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
124399         var.  Add comment explaining why libc still defines it.  This
124400         merges the following patch from glibc:
124401         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
124403 2004-05-20  Andreas Schwab  <schwab@suse.de>
124405         * m4/free.m4: Replace free if it not known to work, not the other
124406         way round.
124408 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
124410         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
124411         present in glibc since revision 1.1 of this file.
124412         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
124413         obstack_alignment_mask, obstack_alloc, obstack_base,
124414         obstack_blank, obstack_blank_fast, obstack_chunk_size,
124415         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
124416         obstack_grow0, obstack_init, obstack_int_grow,
124417         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
124418         obstack_next_free, obstack_object_size, obstack_ptr_grow,
124419         obstack_ptr_grow_fast, obstack_room): Remove declarations of
124420         nonexistent functions.
124422 2004-05-18  Karl Berry  <karl@gnu.org>
124424         * config/srclist.txt: break link for vasnprintf.c.
124426 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124428         Port obstack to the AS/400, where pointers are 16 bytes wide and
124429         you cannot cast an integer to a valid pointer.  This patch is
124430         currently waiting to be integrated into glibc; see
124431         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
124433         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
124434         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
124435         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
124436         (struct obstack): temp member is now a union of a pointer and
124437         an integer, instead of an integer.  All integer uses changed.
124438         This does not affect the physical layout of struct obstack,
124439         except on hosts (like the AS/400) where the size or alignment of
124440         void * is greater than that of ptrdiff_t.
124441         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
124442         __STDC__)]: Store temporary in pointer member of union, not
124443         integer member.
124444         * lib/obstack.c: Include <stddef.h>, for offsetof.
124445         (struct fooalign): Remove; it doesn't need a name.
124446         (union fooround): Change double to long double, and add void *.
124447         (DEFAULT_ALIGNMENT): Use offsetof to compute.
124448         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
124449         not a macro.  Hence the values are always int; so remove all
124450         casts-to-int in uses.
124452 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124454         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
124455         we can get this patch merged into glibc.
124457 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124458             Paul Eggert  <eggert@cs.ucla.edu>
124460         * m4/argp: Depend on alloca.
124462 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124463             Paul Eggert  <eggert@cs.ucla.edu>
124465         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
124466         freecoding.
124468 2004-05-17  Bruno Haible  <bruno@clisp.org>
124470         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
124471         precision that consists of a '.' followed by an empty digit string.
124472         Patch by Tor Lillqvist <tml@iki.fi>.
124474 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124476         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
124477         for backward compatibility with older code.  We need our own
124478         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
124479         it under some other name, and our alloca.h will define it.
124481 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124482             Derek Price  <derek@ximbiot.com>
124484         * lib/alloca.c: Include <alloca.h>, to get our interface.
124485         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
124486         include <alloca.h> first.  Use C89 prototype for alloca; this
124487         requires including <stddef.h> for size_t.  Use extern "C" if C++.
124488         Use #elif for simplicity, since we can assume C89 now.
124489         Don't try to source the system alloca.h since it will not be found
124490         and to prevent recursively including its replacement.
124491         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
124492         * lib/regex.c: Likewise.
124494 2004-05-16  Derek Price  <derek@ximbiot.com>
124495             Paul Eggert  <eggert@cs.ucla.edu>
124497         getline cleanup.  This changes the getndelim2 API: both order of
124498         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
124499         no delimiter).
124501         * lib/getline.c: Don't include stddef.h or stdio.h, since our
124502         interface does that.
124503         (getline): Always use getdelim, so that we don't have two
124504         copies of this code.
124505         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
124506         if available.
124507         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
124508         (GETNDELIM2_MAXIMUM): New macro.
124509         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
124510         instead of the old practice of delim2==0.  All callers changed.
124511         Return -1 on overflow, instead of returning junk.
124512         Do not set *linesize unless allocation succeeds.
124513         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
124514         that we include sys/types.h.
124515         * lib/getnline.h: Likewise.
124516         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
124517         (getndelim2): Reorder arguments.
124518         * lib/getnline.c (getnline, getndelim):
124519         Don't discard the NMAX argument.
124520         (getnline): Invoke getndelim, to avoid code duplication.
124521         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
124522         of (size_t) -1 by callers of the getnline family.
124524 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124526         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
124527         Check for gettimeofday.
124528         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
124529         Check for settimeofday, stime.
124531 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
124533         * lib/nanosleep.c (suspended): Change its type from int to
124534         sig_atomic_t volatile.
124535         (first_call): Make it private to rpl_nanosleep, and have it
124536         be zero initially as that's a bit faster.
124537         (my_usleep): Round up fractional times instead of truncating them,
124538         as this is the usual meaning for 'sleep'.
124540         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
124541         doesn't work.
124542         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
124543         (ENOSYS): Define if not defined.
124544         (settime): Fall back on stime if it exists and settimeofday fails.
124545         But don't bother with fallbacks if a method fails with errno == EPERM.
124547 2004-05-11  Jim Meyering  <jim@meyering.net>
124549         Prior to this change, the save_cwd caller required read access to the
124550         current directory on most systems (ones with the fchdir function).
124552         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
124553         fails, try write-only, and finally, resort to using xgetcwd.
124555 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
124557         * lib/obstack.c, obstack.h: Import changes from libc.
124559 2004-04-28  Bruno Haible  <bruno@clisp.org>
124561         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
124562         also implicitly appends .exe to executables.
124563         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
124564         accepts Windows pathnames.
124565         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
124566         Treat Cygwin like Windows, since it now accepts Windows pathnames.
124567         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
124568         Treat Cygwin like Windows, since it now accepts Windows pathnames.
124569         Reported by Derek Robert Price <derek@ximbiot.com>.
124571 2004-04-21  Karl Berry  <karl@gnu.org>
124573         * config/srclist.txt (localcharset.c): break sync.
124575 2004-04-20  Paul Eggert  <eggert@twinsun.com>
124577         * m4/host-os.m4: Add a copyright notice.
124579 2004-04-20  Jim Meyering  <jim@meyering.net>
124581         Change UTILS_ to gl_ in AC_DEFINE'd names.
124582         Change utils_- and jm_-prefixed variables, too.
124583         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
124584         UTILS_FUNC_MKDIR_TRAILING_SLASH.
124585         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
124587         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
124588         Don't emit trailing blanks.
124589         Also rename jm_-prefixed variables to have gl_ prefix.
124591         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
124592         Also rename jm_-prefixed variables to have gl_ prefix.
124594         * m4/jm-macros.m4: Reflect the renamings.
124595         * m4/prereq.m4: Likewise.
124597 2004-04-20  Jim Meyering  <jim@meyering.net>
124599         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
124600         memory.
124602 2004-04-20  Jim Meyering  <jim@meyering.net>
124603             Bruno Haible  <bruno@clisp.org>
124605         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
124606         memory when realloc fails.
124608 2004-04-19  Jim Meyering  <jim@meyering.net>
124610         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
124611         now that readutmp.c may call `free (0)'.
124613 2004-04-19  Bruno Haible  <bruno@clisp.org>
124615         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
124616         * m4/inttypes_h.m4: Likewise.
124617         * m4/stdint_h.m4: Likewise.
124618         * m4/intmax_t.m4: Likewise.
124619         * m4/uintmax_t.m4: Likewise.
124621 2004-04-18  Jim Meyering  <jim@meyering.net>
124623         * m4/prereq.m4: Don't forbid jm_ prefix.
124625         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
124626         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
124627         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
124628         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
124629         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
124630         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
124631         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
124632         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
124633         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
124634         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
124635         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
124636         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
124637         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
124638         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
124639         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
124640         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
124641         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
124642         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
124643         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
124645 2004-04-18  Jim Meyering  <jim@meyering.net>
124647         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
124648         failure, don't leak memory and do call END_UTMP_ENT.
124650 2004-04-16  Jim Meyering  <jim@meyering.net>
124652         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
124653         coreutils' stat program.
124654         (gl_PREREQ): Don't require jm_PREREQ_STAT.
124656 2004-04-11  Paul Eggert  <eggert@twinsun.com>
124658         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
124659         C89.
124660         (CHAR_BIT): Remove, since we assume C89.
124661         Include <stdint.h> if available, as per current Autoconf CVS advice.
124663 2004-03-31  Jim Meyering  <jim@meyering.net>
124665         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
124666         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
124667         * m4/xalloc.m4: Likewise.
124669 2004-03-30  Paul Eggert  <eggert@twinsun.com>
124671         Merge from coreutils.
124673         * m4/inttostr.m4: New file.
124674         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
124675         Require AM_STDBOOL_H and gl_TIMESPEC instead.
124676         Require gl_CLOCK_TIME.
124677         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
124679 2004-03-30  Paul Eggert  <eggert@twinsun.com>
124681         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
124682         not bool, to be more consistent with Unix conventions.
124683         Suggested by Bruno Haible.
124685         Merge from coreutils.
124687         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
124688         * lib/umaxtostr.c: New files.
124690         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
124691         the usual <time.h> dance.
124692         (get_date): Change signature to support fractional time stamps.
124693         All callers changed.
124694         * lib/getdate.y: Include "getdate.h" first, as we can now
124695         assume C89 and don't need to worry about 'const'.
124696         Similarly, include "unlocked-io.h" near start, not in middle.
124697         Include <limits.h>.
124698         (textint.value): Use long int rather than int.
124699         (textint.digits): Use size_t rather than int.
124700         (BILLION, LOG10_BILLION): New constants.
124701         (parser_control): New member rel_ns.  Members day_ordinal,
124702         time_zone, month, day, hour, minutes, rel_year, rel_month,
124703         rel_day, rel_hour, rel_minutes, rel_seconds
124704         are now long int, not int.  Member seconds is now struct timespec,
124705         not int.  New member timespec_seen.  Members dates_seen, days_seen,
124706         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
124707         not int.
124708         (%union.intval): Now long int, not int.
124709         New member timespec.
124710         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
124711         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
124712         (spec): Now is a timespec or an item list.
124713         (timespec, items): New nonterminals.
124714         (time, rel, relunit, number, get_date):
124715         Add support for fractional seconds.
124716         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
124717         (gmtime, localtime, mktime): Remove decls; not needed with C89.
124718         (to_hour): First arg is now long int, not int.
124719         (to_year): Returns long int, not int.
124720         Don't treat year -70 like 70.
124721         (tm_diff): Returns long int, not int.
124722         (lookup_word): Use bool instead of int when appropriate.
124723         (yylex): Use size_t for count, not int.
124724         Detect overflow when parsing large integer constants.
124725         Add support for fractions.
124726         (get_date): Make pointers 'const' if possible.
124727         Use more-portable code to detect integer overflow.
124728         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
124729         Don't use ctime; it's not reliable if the year has >4 digits.
124731         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
124732         This is for compatibility with BSD.
124734         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
124735         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
124736         From coreutils' system.h.
124738         * lib/userspec.c: Don't include "posixver.h".
124739         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
124740         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
124741         compatible extension.  Simplify code by removing a boolean int
124742         that was always nonzero if a string was nonnull.
124744 2004-03-30  Jim Meyering  <jim@meyering.net>
124746         Merge from coreutils.
124748         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
124749         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
124750         on some systems one must include <grp.h> before it.
124751         Reported by Christian Krackowizer.
124753 2004-03-30  Jim Meyering  <jim@meyering.net>
124755         Merge from coreutils.
124757         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
124759         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
124760         an empty input stream.
124762         * lib/readtokens.c: Include <stdbool.h>.
124763         (readtoken): Use `size_t' rather than int/long.
124764         All callers adjusted.
124765         Use `bool' rather than `int' where appropriate.
124766         Use memset rather than an explicit loop.
124767         Use x2nrealloc rather than xrealloc.
124768         Allow the use of `\0' as a delimiter.
124769         (readtokens): Likewise.
124770         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
124772 2004-03-30  Jim Meyering  <jim@meyering.net>
124774         * m4/realloc.m4: Remove file, since now it does no more than
124775         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
124776         the `configure.ac' section of module/realloc.
124777         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
124779 2004-03-30  Bruno Haible  <bruno@clisp.org>
124781         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
124782         nonnull.
124784 2004-03-29  Paul Eggert  <eggert@twinsun.com>
124786         Merge changes to getloadavg.c from coreutils and Emacs.
124788         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
124789         Define to an expression, not to the empty string.
124790         Include cloexec.h and xalloc.h.
124791         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
124792         Use set_cloexec_flag rather than rolling our own.
124793         * lib/cloexec.c, lib/cloexec.h: New files.
124795 2004-03-29  Paul Eggert  <eggert@twinsun.com>
124797         * m4/cloexec.m4: New file.
124799 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124801         * lib/getopt.h: Sync with libc CVS.
124803 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124804             Bruno Haible  <bruno@clisp.org>
124806         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
124807         mbswidth.
124809 2004-03-18  Paul Eggert  <eggert@twinsun.com>
124810             Bruno Haible  <bruno@clisp.org>
124812         * lib/mbswidth.h: Include <wchar.h> only if
124813         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
124814         <wchar.h>.
124815         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
124817 2004-03-09  Paul Eggert  <eggert@twinsun.com>
124819         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
124820         Sync with libc CVS.
124821         * lib/getopt_int.h: New file, also synced from libc.
124823 2004-03-09  Paul Eggert  <eggert@twinsun.com>
124825         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
124826         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
124827         Bring back getopt.c, getopt.h, getopt1.c.
124829 2004-03-07  Paul Eggert  <eggert@twinsun.com>
124831         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
124832         All uses changed.  Check for sa_sigaction member; this fixes
124833         a bug first reported by Jason Andrade in
124834         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
124836 2004-03-07  Paul Eggert  <eggert@twinsun.com>
124838         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
124839         '#if' expressions.  Unlike the code it replaces, it does not
124840         depend on (defined _SC_PAGESIZE).  However, it does depend on
124841         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
124842         first reported by Jason Andrade in
124843         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
124845 2004-02-25  Simon Josefsson  <jas@extundo.com>
124847         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
124849 2004-02-25  Simon Josefsson  <jas@extundo.com>
124851         * lib/strdup.h: New file.
124852         * lib/strdup.c: Include it.
124853         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
124854         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
124856 2004-02-23  Karl Berry  <karl@gnu.org>
124858         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
124859         (from fencepost.gnu.org:/gd/gnuorg).
124861 2004-02-23  Karl Berry  <karl@gnu.org>
124863         * config/srclistvars.sh (GNUORG) [karl]: redefine.
124864         * config/srclist.txt: add maintain/standards documents.
124866 2004-02-18  Bruno Haible  <bruno@clisp.org>
124868         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
124869         Reported by Derek Robert Price <derek@ximbiot.com>.
124871 2004-02-16  Karl Berry  <karl@gnu.org>
124873         * config/mkinstalldirs, install-sh: update from automake.
124875 2004-02-06  Karl Berry  <karl@gnu.org>
124877         * m4/po.m4: update from gettext 0.14.1.
124879 2004-02-06  Karl Berry  <karl@gnu.org>
124881         * lib/config.charset: update from gettext 0.14.1.
124883 2004-02-05  Paul Eggert  <eggert@twinsun.com>
124885         Add comments and code, prompted by suggestions from Bruno Haible
124886         for sh-quote.
124887         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
124888         describing the enum quoting_style values.
124889         * lib/quotearg.c (quotearg_alloc): New function.
124890         (quotearg_buffer_restyled): Treat lone { and } as special.
124891         Treat = as special.  Work around bug with older shells
124892         that "see" a '\' that is really the 2nd byte of a multibyte char.
124893         Quote empty string with shell_quoting_style.
124895 2004-02-03  Bruno Haible  <bruno@clisp.org>
124897         * m4/pipe.m4: New file, from GNU gettext.
124899 2004-02-03  Bruno Haible  <bruno@clisp.org>
124901         * lib/pipe.h: New file, from GNU gettext.
124902         * lib/pipe.c: New file, from GNU gettext.
124904 2004-01-27  Bruno Haible  <bruno@clisp.org>
124906         * m4/execute.m4: New file, from GNU gettext.
124908 2004-01-27  Bruno Haible  <bruno@clisp.org>
124910         * lib/execute.h: New file, from GNU gettext.
124911         * lib/execute.c: New file, from GNU gettext.
124912         * lib/w32spawn.h: New file, from GNU gettext.
124914 2004-01-24  Paul Eggert  <eggert@twinsun.com>
124916         Merge from diffutils.
124918         * lib/file-type.c (file_type): Add typed memory objects.
124919         * lib/file-type.h (S_TYPEISTMO): New macro.
124921         * lib/c-stack.h (c_stack_action): Remove argv argument.
124922         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
124923         (die): Don't calculate message unless segv_action returns.
124924         (get_stack_location, min_address_from_argv, max_address_from_argv,
124925         volatile stack_base, volatile_stack_size): Remove.
124926         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
124927         that every segmentation violation is a stack overflow.  (Ouch!)
124928         See Debian bug 136249 (still outstanding) for more info about why
124929         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
124931 2004-01-24  Paul Eggert  <eggert@twinsun.com>
124933         Exit-status fix from coreutils.
124935         Use exit_failure consistently in place of EXIT_FAILURE,
124936         so that program exit statuses are consistent on failure.
124938         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
124939         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
124940         * lib/argmatch.h: Comment fix to match the above.
124941         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
124942         Now a macro referring to exit_failure, instead of a separate
124943         variable.  Include "exitfail.h" to get it.
124944         * lib/xstrtol.h: Include "exitfail.h".
124945         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
124947         * lib/long-options.c (parse_long_options): Use prototype
124948         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
124949         for clarity.
124951 2004-01-21  Jim Meyering  <jim@meyering.net>
124953         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
124954         so as not to conflict with a different-sized __mktime_internal
124955         function in GNU libc.
124956         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
124957         Problem building statically-linked `ls' reported by Michael Brunnbauer.
124959 2004-01-20  Karl Berry  <karl@gnu.org>
124961         * config/config.guess: update from config.
124963         * config/srclistvars.sh: GNUWWWLICENSES for karl.
124965 2004-01-20  Bruno Haible  <bruno@clisp.org>
124967         Safer stack allocation.
124968         * lib/setenv.c: Include allocsa.h.
124969         (alloca): Remove fallback definition.
124970         (freea): Remove macro.
124971         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
124972         instead of freea.
124974 2004-01-20  Bruno Haible  <bruno@clisp.org>
124976         * m4/eealloc.m4: New file, from GNU gettext.
124978 2004-01-20  Bruno Haible  <bruno@clisp.org>
124980         * m4/allocsa.m4: New file, from GNU gettext.
124982 2004-01-20  Bruno Haible  <bruno@clisp.org>
124984         * lib/xallocsa.h: New file, from GNU gettext.
124985         * lib/xallocsa.c: New file, from GNU gettext.
124987 2004-01-20  Bruno Haible  <bruno@clisp.org>
124989         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
124991 2004-01-20  Bruno Haible  <bruno@clisp.org>
124993         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
124994         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
124995         specially.
124997 2004-01-20  Bruno Haible  <bruno@clisp.org>
124999         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
125000         patch.
125002 2004-01-20  Bruno Haible  <bruno@clisp.org>
125004         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
125006 2004-01-20  Bruno Haible  <bruno@clisp.org>
125008         * lib/eealloc.h: New file.
125010 2004-01-20  Bruno Haible  <bruno@clisp.org>
125012         * lib/binary-io.h: Avoid warnings on Cygwin.
125014 2004-01-20  Bruno Haible  <bruno@clisp.org>
125016         * lib/allocsa.h: New file, from GNU gettext.
125017         * lib/allocsa.c: New file, from GNU gettext.
125019 2004-01-18  Karl Berry  <karl@gnu.org>
125021         * doc/gpl.texi, doc/lgpl.texi: new files.
125023 2004-01-18  Karl Berry  <karl@gnu.org>
125025         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
125026         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
125028 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125030         Merge from coreutils.
125032         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
125033         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
125034         (gl_DEFAULT_POSIX2_VERSION): Move
125035         the documentation from 'configure' into 'config.hin',
125036         so that 'configure --help' isn't burdened by it and
125037         we don't have to worry about its formatting there.
125038         Reword the documentation so that it's more succinct
125039         and can be run together into a single paragraph.
125040         * m4/same.m4 (gl_SAME): Check for pathconf.
125042 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125044         Merge from coreutils.
125046         * lib/posixver.c: Include posixver.h.
125048         * lib/same.c: Include <stdbool.h>, <limits.h>.
125049         (_POSIX_NAME_MAX): Define if not defined.
125050         (MIN): New macro.
125051         (same_name): If file names are silently truncated, report
125052         that the file names are the same if they are the same after
125053         the silent truncation.
125055         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
125056         conversion function.
125057         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
125058         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
125059         longer needed.
125061 2004-01-15  Jim Meyering  <jim@meyering.net>
125063         Merge from coreutils.
125065         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
125066         if no library is required.
125067         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
125068         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
125069         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
125070         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
125071         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
125072         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
125073         value, $ac_cv_search_crypt, if it's "none required".
125074         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
125075         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
125076         not gl_FUNC_GETLOADAVG.
125077         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
125078         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
125080 2004-01-15  Jim Meyering  <jim@meyering.net>
125082         Merge from coreutils.
125084         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
125085         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
125086         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
125088         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
125089         optional configure-time default.
125091         * lib/version-etc.c (version_etc_copyright): Update copyright date.
125093         * lib/xreadlink.c (xreadlink): Correct outdated comment.
125095 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
125097         Merge from coreutils.
125099         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
125100         value, $ac_cv_search_nanosleep, if it's "none required".
125102 2004-01-14  Paul Eggert  <eggert@twinsun.com>
125104         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
125105         with like-named macro in fnmatch.c.
125106         (EXT): Use an internal constant instead.
125108         Merge fnmatch patches from glibc.
125109         * lib/fnmatch.c (mbsinit): Remove define.
125110         Add libc_hidden_ver (__fnmatch, fnmatch).
125111         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
125112         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
125114 2004-01-14  Karl Berry  <karl@gnu.org>
125116         * config/install-sh: update from automake.
125118 2004-01-13  Karl Berry  <karl@gnu.org>
125120         * config/install-sh: update from automake.
125122 2004-01-09  Karl Berry  <karl@gnu.org>
125124         * config/install-sh: update from automake.
125126 2004-01-05  Karl Berry  <karl@gnu.org>
125128         * config/config.{sub,guess}: update from config.
125130 2003-12-31  Karl Berry  <karl@gnu.org>
125132         * config/depcomp: update from automake.
125134 2003-12-14  Karl Berry  <karl@gnu.org>
125136         * lib/config.charset: update from gettext-runtime.
125138 2003-12-03  Paul Eggert  <eggert@twinsun.com>
125140         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
125141         Bug reported by Alfred M. Szmidt.
125143 2003-12-03  Bruno Haible  <bruno@clisp.org>
125145         * m4/gettext.m4: Upgrade from gettext-0.13.
125146         * m4/po.m4: Upgrade from gettext-0.13.
125147         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
125148         * m4/intmax.m4: New file, from gettext-0.13.
125149         * m4/printf-posix.m4: New file, from gettext-0.13.
125151 2003-11-29  Karl Berry  <karl@gnu.org>
125153         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
125155 2003-11-25  Paul Eggert  <eggert@twinsun.com>
125156             Bruno Haible  <bruno@clisp.org>
125158         * lib/printf-parse.h: Don't include sys/types.h.
125159         (ARG_NONE): New macro.
125160         (char_directive): Change type of *arg_index fields to size_t.
125161         * lib/printf-parse.c: Don't include sys/types.h.
125162         (SSIZE_MAX): Remove macro.
125163         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
125164         Remove unnecessary overflow check.
125165         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
125166         fields.
125168 2003-11-25  Bruno Haible  <bruno@clisp.org>
125170         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
125172 2003-11-25  Bruno Haible  <bruno@clisp.org>
125174         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
125175         gt_TYPE_SSIZE_T.
125177 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125179         * modules/alloca: Remove dependency on xalloc.
125181 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125183         * lib/alloca.c: Remove dependency on xalloc module.
125184         (xalloc_die): Remove.
125185         (memory_full) [!defined emacs]: New macro.
125186         [!defined emacs]: Don't include xalloc.h.
125187         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
125188         address arithmetic overflows.  Change datatypes a bit to avoid
125189         unnecessary casts.
125191 2003-11-22  Jim Meyering  <jim@meyering.net>
125193         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
125194         s/size/size_t/.
125196 2003-11-21  Karl Berry  <karl@gnu.org>
125198         * config/config.{sub,guess}: update from config.
125200 2003-11-18  Karl Berry  <karl@gnu.org>
125202         * config/config.{sub,guess}: update from config.
125204         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
125206 2003-11-17  Paul Eggert  <eggert@twinsun.com>
125208         * README: Mention that S+T cannot overflow if S is the size of
125209         an existing object and T is sufficiently small.
125211 2003-11-17  Jim Meyering  <jim@meyering.net>
125213         On systems without utime and without a utimes function capable of
125214         dealing with a NULL struct utimbuf* argument, this utime replacement
125215         could -- in unusual circumstances -- leak a file descriptor.
125216         * lib/utime.c: Include <unistd.h> and <errno.h>.
125217         (utime_null): Be sure to close `fd' and to preserve errno.
125218         Reported by Geoff Collyer via Arnold Robbins.
125220 2003-11-17  Bruno Haible  <bruno@clisp.org>
125222         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
125223         (Depends-on): Add xsize.
125225 2003-11-17  Bruno Haible  <bruno@clisp.org>
125227         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
125229 2003-11-17  Bruno Haible  <bruno@clisp.org>
125231         * lib/vasnprintf.c (alloca): Remove fallback definition.
125232         (freea): Remove definition.
125233         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
125234         Reported by Paul Eggert.
125236 2003-11-16  Paul Eggert  <eggert@twinsun.com>
125237             Bruno Haible  <bruno@clisp.org>
125239         Protect against address arithmetic overflow.
125240         * lib/printf-args.h: Include stddef.h.
125241         (arguments): Change type of field 'count' to size_t.
125242         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
125243         'unsigned int' where appropriate.
125244         * lib/printf-parse.h: Include sys/types.h.
125245         (char_directive): Change type of *arg_index fields to ssize_t.
125246         (char_directives): Change type of fields 'count', max_*_length to
125247         size_t.
125248         * lib/printf-parse.c: Include sys/types.h and xsize.h.
125249         (SSIZE_MAX): Define fallback value.
125250         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
125251         instead of 'int' where appropriate. Check a_allocated, d_allocated
125252         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
125253         * lib/vasnprintf.c: Include xsize.h.
125254         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
125255         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
125256         overflow. Avoid wraparound when converting a width or precision from
125257         decimal to binary.
125259 2003-11-16  Bruno Haible  <bruno@clisp.org>
125261         Update from GNU gettext.
125262         * lib/printf-parse.c: Generalize to it can be compiled for wide
125263         strings.
125264         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
125265         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
125266         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
125267         SNPRINTF): New macros.
125268         Don't include <alloca.h> if the file is used inside libintl.
125269         (local_wcslen): New function, for Solaris 2.5.1.
125270         (VASNPRINTF): Use it instead of wcslen.
125272 2003-11-16  Bruno Haible  <bruno@clisp.org>
125274         * lib/xsize.h (xmax): New function.
125275         (xsum, xsum3, xsum4): Declare as "pure" functions.
125277 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125279         * modules/xalloc (Files): Undo latest change, since xalloc.h
125280         no longer needs SIZE_MAX or PTRDIFF_MAX.
125282 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125284         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
125285         gl_PTRDIFF_MAX.
125287 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125289         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
125290         "return", to pacify some unknown compiler.  Problem reported
125291         by Joerg Schilling.
125293 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125295         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
125296         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
125297         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
125298         heuristic is just as accurate as far as we know, and it removes a
125299         dependency on size_max.m4 and ptrdiff_max.m4.
125301 2003-11-11  Bruno Haible  <bruno@clisp.org>
125303         * modules/xsize (Files): Add m4/size_max.m4.
125304         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
125306 2003-11-11  Bruno Haible  <bruno@clisp.org>
125308         * m4/size_max.m4: New file.
125309         * m4/ptrdiff_max.m4: New file.
125310         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
125311         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
125312         (gl_XALLOC): Invoke it.
125314 2003-11-11  Bruno Haible  <bruno@clisp.org>
125316         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
125317         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
125318         defined.
125320 2003-11-10  Paul Eggert  <eggert@twinsun.com>
125322         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
125323         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
125324         rejected some allocations of exactly SIZE_MAX - 2 bytes.
125325         From Bruno Haible.
125326         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
125327         not (size_t) -1, since it's defined here.
125329 2003-11-09  Karl Berry  <karl@gnu.org>
125331         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
125333 2003-11-06  Paul Eggert  <eggert@twinsun.com>
125335         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
125336         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
125337         Reject sizes of exactly SIZE_MAX bytes.
125338         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
125339         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
125341 2003-11-05  Bruno Haible  <bruno@clisp.org>
125343         * lib/xsize.h: Include limits.h, to avoid a possible collision with
125344         SIZE_MAX defined in <limits.h> on Solaris.
125346 2003-11-04  Jim Meyering  <jim@meyering.net>
125348         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
125349         variable names, rather than @VAR@.
125350         * modules/poll: Likewise.
125352 2003-11-04  Bruno Haible  <bruno@clisp.org>
125354         * modules/xsize: New file.
125355         * modules/linebreak: Depend on xsize.
125356         * MODULES.html.sh (func_all_modules): Add xsize.
125358 2003-11-04  Bruno Haible  <bruno@clisp.org>
125360         * m4/xsize.m4: New file.
125362 2003-11-04  Bruno Haible  <bruno@clisp.org>
125364         * lib/xsize.h: New file.
125365         * lib/linebreak.c: Include xsize.h.
125366         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
125367         argument for overflow.
125368         Suggested by Paul Eggert.
125370 2003-11-03  Karl Berry  <karl@gnu.org>
125372         * config/config.{guess,sub}: update from config.
125374 2003-11-03  Jim Meyering  <jim@meyering.net>
125376         * modules/userspec (lib_SOURCES): Add userspec.h.
125377         (Include): Add "userspec.h".
125378         Improve description.
125380 2003-11-03  Jim Meyering  <jim@meyering.net>
125382         * lib/userspec.c: Include "userspec.h".
125383         * lib/userspec.h: New file.
125385 2003-11-03  Bruno Haible  <bruno@clisp.org>
125387         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
125389 2003-11-03  Bruno Haible  <bruno@clisp.org>
125391         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
125392         available, to avoid (extremely rare) race condition.
125393         Suggested by Paul Eggert.
125395 2003-11-02  Karl Berry  <karl@gnu.org>
125397         * config/srclist.txt (vasprintf.c): sync broken, sigh.
125399 2003-10-31  Paul Eggert  <eggert@twinsun.com>
125401         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
125402         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
125403         (read_filesystem_list): Set and use me_type_malloced.
125404         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
125405         whatever the type happens to be), for brevity and consistency.
125406         Check for size calculation overflow on Alphas running OSF/1.
125408 2003-10-31  Jim Meyering  <jim@meyering.net>
125410         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
125412         * lib/linebuffer.c: Include <string.h> for declaration of memset.
125414 2003-10-30  Paul Eggert  <eggert@twinsun.com>
125415             Bruno Haible  <bruno@clisp.org>
125417         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
125418         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
125420 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
125422         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
125423         netbsd*-gnu*.  Suggested by Robert Millan.
125425 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125427         * modules/group-member: Depend on stdbool.
125429 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125431         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
125433 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125435         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
125436         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
125437         after the 'gnu' in these cases.  This fixes some bugs in the
125438         previous change, and is based on suggestions by Robert Millan.
125440 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125442         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
125443         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
125444         no longer needed.
125445         * lib/quotearg.c (quotearg_n_options): Use it.
125446         * lib/group-member.c: Include <stdbool.h>.
125447         (free_group_info): Arg is now const *; don't free arg.
125448         (get_group_info): Now returns bool and accepts struct group_info *,
125449         rather than returning a malloc'ed struct group_info *.
125450         All uses changed.  Check for overflow in internal size calculation.
125452         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
125453         rather than xmalloc/xrealloc.
125454         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
125455         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
125456         conformance bug: the old code used a pointer after freeing the
125457         storage that it addressed.
125458         * lib/hash.c (hash_initialize): Simplify the code by using
125459         xalloc_oversized rather than doing it by hand.
125460         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
125461         the buffer preserved.  Use free and xmalloc instead.
125462         * lib/quotearg.c (quotearg_n_options): Likewise.
125463         Use a simpler test for size overflow.  Don't use xalloc_oversized
125464         because unsigned int might be wider than size_t (!); this suggests
125465         that we should switch from unsigned int to size_t for slot numbers.
125467 2003-10-28  Paul Eggert  <eggert@twinsun.com>
125469         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
125470         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
125471         NetBSD kernels.  Requested by Richard Stallman.
125473 2003-10-27  Paul Eggert  <eggert@twinsun.com>
125475         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
125476         to allocate the returned structure.  Do not allocate a subarray,
125477         as x2nrealloc will do that.
125478         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
125479         instead of xnrealloc.
125480         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
125482 2003-10-27  Bruno Haible  <bruno@clisp.org>
125484         * lib/stdbool_.h: Better support for BeOS.
125486 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125488         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
125489         now uses inline.
125491 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125493         * lib/xalloc.h (xalloc_oversized): New static inline function, for
125494         callers that want to do their own size-overflow checking.  Include
125495         <stdbool.h>, since xalloc_oversized returns bool.
125496         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
125497         to use xalloc_oversized.
125499         Add two functions x2realloc, x2nrealloc, for programs that grow
125500         arrays dynamically by doubling their sizes.
125501         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
125502         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
125503         New functions.
125505         Port to C99 semantics for 'inline' of external functions.
125506         Bug reported by Bruno Haible.
125507         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
125508         with the old contents of xnmalloc.
125509         (xnmalloc, xmalloc): Use it.
125510         (xnrealloc_inline): New static inline function,
125511         with the old contents of xnrealloc.
125512         (xnrealloc, xrealloc): Use it.
125514         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
125515         that.
125517 2003-10-26  Karl Berry  <karl@gnu.org>
125519         * config/srclist.txt (COPYING.DOC): no longer available from
125520         /gd/gnuorg; don't know where the ultimate source is.
125522 2003-10-25  Paul Eggert  <eggert@twinsun.com>
125524         Fix several address-calculation bugs in the hash modules,
125525         plus some minor code cleanup.
125527         * lib/hash.h: Include <stdbool.h>, for bool.
125528         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
125529         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
125530         hash_get_n_entries, hash_get_max_bucket_length,
125531         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
125532         hash_rehash): Use size_t rather than unsigned.
125533         * lib/hash.c (struct hash_table, hash_get_n_buckets,
125534         hash_get_n_buckets_used, hash_get_n_entries,
125535         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
125536         hash_get_entries, hash_do_for_each, hash_string, is_prime,
125537         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
125538         Likewise.
125539         (SIZE_MAX): Define if not defined.
125540         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
125541         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
125542         hash_print):
125543         Use const * when possible.
125544         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
125545         (check_tuning): Fix bug: if tuning parameters were very close to
125546         0 or 1, rounding errors could have caused subscript violations.
125547         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
125548         (hash_initialize): Add 'fail:' label
125549         to free table and return NULL, and use it to simplify code.
125550         Use calloc rather than clearing the storage ourself.
125551         (hash_initialize, hash_rehash): Check for arithmetic overflow in
125552         buffer size calculations.
125553         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
125554         Include <stddef.h>, for size_t.
125555         * lib/hash-pjw.c (hash_pjw): Likewise.
125556         Switch to method described by Bruno Haible.
125557         Include <limits.h>, for CHAR_BIT.
125558         (SIZE_BITS): New macro.
125560 2003-10-23  Paul Eggert  <eggert@twinsun.com>
125562         * m4/getline.m4 (AM_FUNC_GETLINE):
125563         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
125564         hosts.  Problem reported by Derek Robert Price in
125565         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
125566         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
125567         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
125569 2003-10-21  Paul Eggert  <eggert@twinsun.com>
125571         * lib/getndelim2.c (getndelim2): When size calculation overflows,
125572         ceiling the allocation at NMAX bytes rather than silently
125573         discarding input bytes before NMAX is reached.  This makes
125574         a difference only if NMAX exceeds SIZE_MAX / 2.
125576         * lib/obstack.c: Merge from glibc.
125577         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
125578         Add libc_hidden_def (_obstack_newchunk).
125579         (_obstack_free) [! defined _LIBC]: Remove.
125580         [defined _LIBC]: Make a strong alias from obstack_free, rather than
125581         a clone of the function body.
125582         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
125583         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
125585         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
125586         glibc.
125587         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
125588         arg to memcpy.
125590         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
125591         (obstack_ptr_grow_fast, obstack_int_grow_fast):
125592         Don't use lvalue casts, as GCC plans to remove support for them
125593         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
125594         was also present in the non-GCC version, indicating that this
125595         code had always been buggy and had never been widely used.
125596         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
125597         Use the fast variant of each macro, rather than copying the
125598         definiens of the fast variant; that way, we'll be more likely to
125599         catch future bugs in the fast variants.
125601 2003-10-20  Bruno Haible  <bruno@clisp.org>
125603         * modules/wait-process: New file.
125604         * MODULES.html.sh (func_all_modules): Add wait-process.
125606 2003-10-20  Bruno Haible  <bruno@clisp.org>
125608         * m4/wait-process.m4: New file.
125610 2003-10-20  Bruno Haible  <bruno@clisp.org>
125612         * lib/wait-process.h: New file, from GNU gettext.
125613         * lib/wait-process.c: New file, from GNU gettext.
125615 2003-10-19  Jim Meyering  <jim@meyering.net>
125617         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
125618         HPUX 10.20.
125620 2003-10-18  Karl Berry  <karl@gnu.org>
125622         * config/config.guess: update from config.
125624 2003-10-16  Paul Eggert  <eggert@twinsun.com>
125626         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
125627         (getgroups): First arg is int, not size_t.
125628         Don't let 'free' mangle errno.
125630 2003-10-16  Paul Eggert  <eggert@twinsun.com>
125632         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
125634 2003-10-16  Karl Berry  <karl@gnu.org>
125636         * config/config.{guess,sub}: update from config.
125638 2003-10-16  Jim Meyering  <jim@meyering.net>
125640         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
125641         memcpy.
125643 2003-10-15  Paul Eggert  <eggert@twinsun.com>
125645         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
125646         (SIZE_MAX): Remove.
125647         (new_exclude, add_exclude_file): Initial size no longer needs to
125648         be a power of 2.
125649         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
125650         our own address arithmetic overflow checking.
125652         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
125653         (fnmatch): Do not alloca more than 2000 wide characters;
125654         instead, use malloc for large buffers.
125655         Check for address arithmetic overflow, and return -1
125656         with errno set to ENOMEM in that case.
125657         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
125658         (NEW_PATTERN): Do not alloca more than 8000 bytes;
125659         instead, return -1.  Check for address arithmetic overflow.
125661 2003-10-14  Paul Eggert  <eggert@twinsun.com>
125663         Handle invalid suffixes and overflow independently, so that
125664         callers can treat them independently as needed.  Fix some bugs in
125665         suffix handling, e.g., "100k@" was not diagnosed as an invalid
125666         suffix for a human-readable blocksize.  The major caller-visible
125667         change is the addition of a new
125668         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
125669         that both overflow and suffix chars were found.
125671         * lib/human.c (humblock): Don't check separately for invalid suffix
125672         char; that is xstrtoumax's job (now that its bug is fixed).
125673         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
125674         INTMAX_MAX]: New macros.
125675         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
125676         TYPE_MAXIMUM): New macros.
125677         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
125678         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
125679         if overflow occurs, as it's what __strtol does and it's more useful
125680         in practice.
125681         (__xstrtol): If __strtol reports some error other than ERANGE,
125682         reflect it to the caller as LONGINT_INVALID.  If it reports
125683         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
125684         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
125685         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
125686         value.
125687         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
125688         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
125689         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
125690         [defined UINTMAX_MAX]: New macros.
125692 2003-10-14  Bruno Haible  <bruno@clisp.org>
125694         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
125696 2003-10-14  Bruno Haible  <bruno@clisp.org>
125698         * m4/sig_atomic_t: New file, from GNU gettext.
125699         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
125701 2003-10-14  Bruno Haible  <bruno@clisp.org>
125703         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
125704         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
125705         Also use volatile where needed.
125707 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125709         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
125710         Change maintainer from Bruno Haible to 'all'.
125712 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125714         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
125716 2003-10-12  Paul Eggert  <eggert@twinsun.com>
125718         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
125719         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
125720         and define in terms of the other primitives.
125721         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
125722         (SIZE_MAX): Define if not already defined.
125723         (array_size_overflow): New function.
125724         (xalloc_die): Abort instead of exiting if 'error' returns.
125725         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
125726         (xmalloc, xrealloc): Use them.
125727         (xcalloc): Check for address arithmetic overflow.
125728         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
125729         a bit faster than strcpy.
125731 2003-10-10  Simon Josefsson  <jas@extundo.com>
125733         * modules/argp (Depends-on): Add restrict and strcase.
125735 2003-10-10  Simon Josefsson  <jas@extundo.com>
125737         * m4/argp.m4: Add AC_C_INLINE.
125739 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125741         Merge getpass from libc, plus a few fixes.
125743         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
125744         Include <stdbool.h>.
125745         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
125746         __fsetlocking to empty.
125747         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
125748         do include <bits/libc-lock.h>.
125749         Do not include <fcntl.h>; not needed.
125750         [_LIBC]: Include <wchar.h>.
125751         (NOTCANCEL_MODE): New macro.
125752         (flockfile, funlockfile) [_LIBC]: New macros.
125753         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
125754         [!_LIBC]: New macros.
125755         (call_fclose): New function.
125756         (getpass): Use it.  Save tty stream separately; this simplifies the
125757         code and makes it more reliable if stdin happens to equal stdout.
125758         Invoke __fsetlocking on tty.
125759         Handle thread cancellation if needed.
125760         Namespace cleanup (use __tcgetattr, __getline).
125761         Use bool for Booleans.
125762         [USE_IN_LIBIO]: Handle wide streams.
125763         [!_LIBC]: Unconditionally do the fseek, since we don't know what
125764         stream might go where.
125766         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
125767         doesn't have to include <stdio.h> before us.
125768         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
125769         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
125770         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
125771         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
125772         if not declared, so that we can use getpass.c code from libc without
125773         rewriting it.
125774         (flockfile, ftrylockfile, funlockfile): New macros.
125776 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125778         * modules/getpass: Depend on stdbool.
125780 2003-10-08  Paul Eggert  <eggert@twinsun.com>
125782         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
125784 2003-10-07  Karl Berry  <karl@gnu.org>
125786         * config/config.{guess,sub}: update from config.
125788 2003-10-06  Jim Meyering  <jim@meyering.net>
125789             Bruno Haible  <bruno@clisp.org>
125791         This lets translators provide better translations for the
125792         "Written by ..." part of --version output.
125793         * lib/version-etc.h: Include stdarg.h.
125794         (version_etc_copyright): Declare as readonly.
125795         (version_etc): Make this function variadic with a NULL-terminated list
125796         of author name strings.
125797         (version_etc_va): New declaration.
125798         * lib/version-etc.c: Include stdarg.h, stdlib.h.
125799         (version_etc_copyright): Declare as readonly.
125800         (version_etc_va): New function. Provide a different translatable string
125801         for each possible number of authors < 10. Abbreviate when there are 10
125802         authors or more.
125803         (version_etc): Make this function variadic. Call version_etc_va.
125804         Suggestion from Gary V. Vaughan.
125806         * lib/long-options.h (parse_long_options): Change prototype: the
125807         authors string is moved to the end and becomes variadic.
125808         * lib/long-options.c: Include stdarg.h.
125809         (parse_long_options): Make this function variadic, too.
125810         Call version_etc_va, not version_etc.
125812 2003-10-06  Bruno Haible  <bruno@clisp.org>
125814         * modules/version-etc-2: Remove file.
125815         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
125817 2003-10-06  Bruno Haible  <bruno@clisp.org>
125819         * modules/fatal-signal: New file.
125820         * MODULES.html.sh (func_all_modules): Add fatal-signal.
125822 2003-10-06  Bruno Haible  <bruno@clisp.org>
125824         * m4/fatal-signal.m4: New file.
125825         * m4/signalblocking.m4: New file, from GNU gettext.
125827 2003-10-06  Bruno Haible  <bruno@clisp.org>
125829         * lib/version-etc-2.h: Remove file.
125830         * lib/version-etc-2.c: Remove file.
125832 2003-10-06  Bruno Haible  <bruno@clisp.org>
125834         * lib/fatal-signal.h: New file, from GNU gettext.
125835         * lib/fatal-signal.c: New file, from GNU gettext.
125837 2003-10-05  Paul Eggert  <eggert@twinsun.com>
125839         * README: Rework advice for preventing empty .o files.
125840         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
125841         not <sys/types.h>.
125843 2003-10-04  Karl Berry  <karl@gnu.org>
125845         * lib/argp*: update from libc.
125847 2003-10-04  Karl Berry  <karl@gnu.org>
125849         * config/config.{guess,sub}: update from config.
125851 2003-10-02  Bruno Haible  <bruno@clisp.org>
125853         * modules/lchown (Include): Add lchown.h.
125854         * modules/time_r (Include): Use "..." syntax.
125855         * modules/xgetdomainname (Include): Add xgetdomainname.h.
125857 2003-10-01  Simon Josefsson  <jas@extundo.com>
125859         * MODULES.html.sh (func_all_modules): Move gethostname from section
125860         'based on' to section 'lacking' POSIX:2001.
125862 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
125864         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
125865         to output mode on the same stream.
125867 2003-09-29  Paul Eggert  <eggert@twinsun.com>
125869         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
125870         Fix arg typo in previous patch.
125872 2003-09-28  Jim Meyering  <jim@meyering.net>
125874         * lib/error.c: Correct cpp indentation.
125876 2003-09-27  Paul Eggert  <eggert@twinsun.com>
125878         * modules/free: New file.
125880 2003-09-27  Paul Eggert  <eggert@twinsun.com>
125882         * m4/free.m4: New file.
125884 2003-09-27  Paul Eggert  <eggert@twinsun.com>
125886         * lib/minmax.h (MIN, MAX)
125887         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
125888         Omit the special code that used __typeof__, since we worry that
125889         it could be more trouble than it's worth.  See:
125890         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
125891         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
125893         * lib/free.c: New file.
125895 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
125897         Trivial fixes to Makefile.am parts of module listings.
125898         * modules/strstr: Append strstr.h to lib_SOURCES.
125899         * modules/strcase: Likewise, for strcase.h.
125901 2003-09-27  Karl Berry  <karl@gnu.org>
125903         * config/mkinstalldirs: update from automake.
125905 2003-09-26  Paul Eggert  <eggert@twinsun.com>
125907         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
125908         (error_tail): Do not loop, reallocating temporary buffer, since
125909         the output cannot contain more wide characters than the input
125910         contains bytes, the size must be big enough already.  This avoids
125911         one potential size overflow calculation.  Check for size overflow
125912         when calculating temporary buffer size.  Free temporary buffer
125913         when done, if it was allocated with malloc; this plugs a memory
125914         leak.  Remove casts from void * to pointers, that are no longer
125915         needed now that we're assuming C89 or better.
125917         Merge error changes from glibc.
125919         * lib/error.c, error.h: Update copyright notice header to match glibc.
125920         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
125921         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
125922         Disable cancellation while printing error.
125923         * lib/error.h: Prepend __ to parameter names.
125925 2003-09-26  Jim Meyering  <jim@meyering.net>
125927         * lib/error.c (error_tail): Move some declarations
125928         into inner scope where the local variables are used.
125930 2003-09-26  Bruno Haible  <bruno@clisp.org>
125932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
125933         stpncpy().
125934         Don't define stpncpy through config.h; it's now done through stpncpy.h.
125936 2003-09-26  Bruno Haible  <bruno@clisp.org>
125938         * lib/stpncpy.h (gnu_stpncpy): New declaration.
125939         (stpncpy): Define as alias for gnu_stpncpy.
125940         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
125942 2003-09-25  Simon Josefsson  <jas@extundo.com>
125944         * lib/xgetdomainname.h: New file.
125945         * lib/xgetdomainname.c: New file.
125947 2003-09-25  Simon Josefsson  <jas@extundo.com>
125948             Bruno Haible  <bruno@clisp.org>
125950         * modules/getdomainname: New file.
125951         * modules/xgetdomainname: New file.
125952         * MODULES.html.sh (func_all_modules): Add getdomainname,
125953         xgetdomainname.
125955 2003-09-25  Simon Josefsson  <jas@extundo.com>
125956             Bruno Haible  <bruno@clisp.org>
125958         * m4/getdomainname.m4: New file.
125960 2003-09-25  Simon Josefsson  <jas@extundo.com>
125961             Bruno Haible  <bruno@clisp.org>
125963         * lib/getdomainname.h: New file.
125964         * lib/getdomainname.c: New file.
125966 2003-09-25  Karl Berry  <karl@gnu.org>
125968         * lib/argp-fmtstream.c, argp-help.c: update from libc.
125970 2003-09-25  Karl Berry  <karl@gnu.org>
125972         * config/install-sh: update from automake.
125974 2003-09-25  Bruno Haible  <bruno@clisp.org>
125976         * modules/version-etc-2: New file, from modules/version-etc with
125977         modifications.
125978         * MODULES.html.sh (func_all_modules): Add version-etc-2.
125980 2003-09-25  Bruno Haible  <bruno@clisp.org>
125982         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
125983         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
125985 2003-09-24  Simon Josefsson  <jas@extundo.com>
125987         * modules/xgethostname: Add xgethostname.h.
125989 2003-09-24  Paul Eggert  <eggert@twinsun.com>
125991         * lib/linebuffer.c (freebuffer): Don't free the argument, just
125992         the buffer associated with the argument.  Bug reported by
125993         Simon Josefsson.
125995 2003-09-24  Paul Eggert  <eggert@twinsun.com>
125997         * README: Document assumptions that 'int' is at least 32 bits
125998         wide, that integer arithmetic is 2's complement without overflow,
125999         that there are no holes in integer values, that adding sizes of
126000         two nonoverlapping objects can't overflow, and that all-bits-zero
126001         yields scalar zero.  Fix spelling and capitalization typos.
126003 2003-09-19  Karl Berry  <karl@gnu.org>
126005         * lib/argp.h: update from libc.
126007 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126009         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
126010         to avoid spurious warnings like "AC_RUN_IFELSE was called before
126011         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
126013 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126015         * gnulib-tool: Use "test -h", not "test -L", for portability
126016         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
126017         (tags_regexp): Remove, since \| doesn't conform to POSIX.
126018         (sed_extract_prog): Issue s commands one-by-one, rather than
126019         using \| in one s command.
126021 2003-09-16  Paul Eggert  <eggert@twinsun.com>
126023         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
126024         input error, instead of returning NULL the next time we are called
126025         (and therefore losing track of errno).
126027 2003-09-16  Bruno Haible  <bruno@clisp.org>
126029         * gnulib-tool (func_create_testdir): Warn about duplicated
126030         dependencies.
126032 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126034         * modules/argmatch, modules/fatal, modules/obstack,
126035         modules/xalloc, modules/xgethostname: Sort dependencies by
126036         importance, not alphabetically.
126038 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126040         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
126041         fails, so that the caller gets the proper errno.
126043         * lib/readutmp.c (read_utmp): Likewise.
126044         Check for fstat error.  Close stream and free storage
126045         when failing.
126047 2003-09-14  Karl Berry  <karl@gnu.org>
126049         * config/srclist.txt (strdup.c): disable for c89 changes.
126051 2003-09-14  Jim Meyering  <jim@meyering.net>
126053         * lib/getloadavg.c: Correct cpp indentation.
126054         * lib/strdup.c: Likewise.
126055         * lib/vasnprintf.c: Likewise.
126057 2003-09-14  Bruno Haible  <bruno@clisp.org>
126059         * modules/fwriteerror: New file.
126060         * MODULES.html.sh (func_all_modules): Add fwriteerror.
126062 2003-09-14  Bruno Haible  <bruno@clisp.org>
126064         * lib/fwriteerror.h: New file.
126065         * lib/fwriteerror.c: New file.
126067 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126069         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
126070         modules/xgethostname, modules/xalloc: Depend on exit.
126072 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126074         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
126076         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
126077         and AC_MINIX, too, so that their extensions are available.
126079         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
126080         This macro has been superseded by gl_BACKUPFILE.
126082         More patches to assume C89 or better.
126084         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
126086         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
126087         unconditionally.
126088         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
126089         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
126090         Include <string.h>, <stdlib.h> unconditionally.
126091         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
126092         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
126093         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
126094         headers or for string.h.
126095         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
126096         or strtoul.
126098         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
126099         headers.
126100         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
126101         * m4/userspec.m4 (gl_USERSPEC): Likewise.
126102         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
126103         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
126104         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
126105         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
126106         memcpy, memset.
126107         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
126108         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
126109         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
126110         strtol.
126111         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
126112         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
126113         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
126114         strtoul.
126116 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126118         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
126119         * lib/obstack.c [!defined _LIBC]: Likewise.
126120         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
126121         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
126122         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
126124         More changes to assume C89 or better.
126126         * lib/error.c (error_tail): Assume vprintf.
126128         * lib/argmatch.c (getenv): Remove decl.
126129         * lib/progreloc.c (get_full_program_name): Define via prototype.
126130         * lib/setenv.c (clearenv): Likewise.
126131         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
126132         needed.
126133         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
126134         (malloc, memcpy): Remove decls.
126135         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
126136         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
126137         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126138         (memcpy): Remove macro.
126139         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
126140         (__P): Remove.  All uses removed.
126141         (PTR): Remove.  All uses changed to void *.
126142         (CHAR_BIT, NULL): Remove.
126143         (spaces, zeros, memset_space, memset_zero)
126144         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
126145         Remove.
126146         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
126147         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
126148         Define with prototype.
126149         Remove now-unnecessary prototype decl.
126150         (extra_args_spec): Assume ANSI C.  All uses changed.
126151         (extra_args_spec_iso): Remove.
126152         (my_strftime, emacs_strftimeu): Define via prototype.
126153         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
126154         unconditionally.
126155         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
126156         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
126157         (strtoul, strtol): Remove decls.
126158         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
126159         LONG_MAX): Remove.
126160         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126161         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
126162         (LOCALE_PARAM_PROTO): New macro.
126163         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
126164         (INTERNAL (strtol), strtol): Define with a prototype.
126165         (PARAMS): Remove.  All uses removed.
126166         * lib/tempname.c: Include <string.h> unconditionally.
126167         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
126168         * lib/xgethostname.c (main): Define with a prototype.
126169         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
126170         Include <stdlib.h> unconditionally.
126171         (calloc, malloc, realloc, free): Remove decls.
126172         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
126173         Include <stdlib.h> unconditionally.  Sort include file names.
126174         (strtod): Remove.
126175         (xstrtod): Define with a prototype.
126176         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
126177         (strtol, strtoul): Remove decls.
126179 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126181         More patches to assume C89 or better.
126182         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
126183         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
126184         string.h, memchr, STDC_HEADERS.
126186 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126188         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
126189         Include <stdlib.h>, <string.h> unconditionally.
126190         Remove now-unnecessary cast to char *.
126191         * lib/strnlen.c: Include <string.h> unconditionally.
126192         * lib/yesno.c (yesno): Define with a prototype.
126194 2003-09-11  Bruno Haible  <bruno@clisp.org>
126196         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
126198 2003-09-10  Jim Meyering  <jim@meyering.net>
126200         * lib/error.c: Correct indentation of cpp directives.
126202 2003-09-10  Bruno Haible  <bruno@clisp.org>
126204         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
126205         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
126206         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
126207         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
126208         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
126209         <stdlib.h> and <string.h> checks.
126210         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
126211         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
126213 2003-09-10  Bruno Haible  <bruno@clisp.org>
126215         * lib/strcspn.c: Include <string.h> unconditionally.
126216         * lib/strpbrk.c: Include <string.h> unconditionally.
126217         * lib/strstr.c: Include <string.h> unconditionally.
126218         * lib/unicodeio.c: Include <string.h> unconditionally.
126219         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
126220         * lib/unsetenv.c: Likewise.
126221         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
126222         * lib/yesno.c: Include <stdlib.h> unconditionally.
126223         (rpmatch): Add prototype.
126225 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126227         More patches to assume C89 or better.
126228         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
126229         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
126230         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
126231         or for string.h.
126232         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
126233         stdlib.h.
126234         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
126235         C headers.
126236         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
126237         string.h.
126238         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
126239         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
126240         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
126241         or for string.h.
126242         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
126243         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
126244         C headers.
126245         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
126246         memcpy.
126247         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
126248         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
126249         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
126250         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
126251         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
126252         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
126253         string.h, free.
126254         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
126255         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
126256         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
126257         C headers, or for string.h.
126258         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
126259         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
126260         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
126261         headers, memory.h, stdlib.h, string.h, strings.h.
126262         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
126263         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
126264         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
126265         strchr.
126266         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
126267         headers, memory.h, string.h.
126268         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
126269         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
126270         free.
126271         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
126272         headers.
126273         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
126274         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
126275         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
126276         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
126277         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
126279 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126281         More K&R removal.
126283         * lib/acosl.c (main): Use a prototype.
126284         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
126285         tanl.c: Likewise.
126287         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
126289         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
126290         (getopt, etopt_long, getopt_long_only, _getopt_internal)
126291         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
126292         with a prototype.
126293         * lib/getopt.c (const): Remove macro.
126294         Include <string.h> unconditionally.
126295         (my_index): Remove; all uses changed to strchr.
126296         (strlen): Remove decl.
126297         (exchange): Remove forward decl; no longer needed.
126298         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
126299         Define with prototype.
126300         * lib/getopt1.c (const): Remove macro.
126301         (getopt_long, getopt_long_only, main): Define with prototype.
126303         * lib/getugroups.c: Include <string.h> unconditionally.
126305         * lib/getusershell.c: Include <stdlib.h> unconditionally.
126306         (getusershell, setusershell, endusershell, readname, main):
126307         Define with prototypes.
126309         * lib/group-member.c: Include group-member.h first.
126310         Include <stdlib.h> unconditionally.
126312         * lib/hard-locale.c: Include hard-locale.h first.
126313         Include <stdlib.h>, <string.h> unconditionally.
126315         * lib/hash.c (free, malloc): Remove decls.
126316         Include <stdlib.h> unconditionally.
126318         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
126319         (getenv): Do not declare.
126321         * lib/idcache.c: Include <string.h> unconditionally.
126323         * lib/long-options.c: Include long-options.h first, to test interface.
126324         Include <stdlib.h> unconditionally.
126326         * lib/makepath.c: Include makepath.h first, to test interface.
126327         Include <stdlib.h> and <string.h> unconditionally.
126329         * lib/linebuffer.c: Include <stdlib.h>.
126330         (free): Remove decl.
126332         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
126333         stddef.h. rpl_malloc returns void *, not char *.
126334         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
126335         prototype.
126337         * lib/md5.h: Include <limits.h> unconditionally.
126338         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
126339         (__P): Remove; all uses removed.
126340         * lib/md5.c: Include "md5.h" first.
126341         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
126342         md5_buffer, md5_process_bytes, md5_process_block):
126343         Define with prototypes.
126344         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
126345         * lib/sha.c: Include "sha.h" first.
126346         Include <stdlib.h>, <string.h> unconditionally.
126348         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
126349         * lib/memcmp.c (__ptr_t): Likewise.
126350         * lib/memrchr.c (__ptr_t): Likewise.
126351         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
126352         Include <string.h> unconditionally.
126353         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
126354         * lib/memchr.c: Include <stdlib.h> unconditionally.
126355         * lib/memchr.c (LONG_MAX): Remove.
126356         * lib/memrchr.c (LONG_MAX): Likewise.
126357         * lib/memchr.c (__memchr): Define via a prototype.
126358         * lib/memrchr.c (__memrchr): Likewise.
126359         * lib/memcmp.c (__P): Remove, and remove all uses.
126360         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
126361         Remove forward decls; no longer needed.
126362         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
126363         Use types required by C89 in prototype.
126365         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
126366         * lib/savedir.c: Likewise.
126367         * lib/mkdir.c (free): Remove decl.
126368         * lib/rmdir.c (rmdir): Define with a prototype.
126369         * lib/savedir.c: Include savedir.h first, to test interface.
126371         * lib/mktime.c (STDC_HEADERS): Remove.
126372         Include <stdlib.h>, <string.h> unconditionally.
126374         * lib/modechange.c: Include <stdlib.h> unconditionally.
126375         (malloc): Remove decl.
126377         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
126378         (free): Remove decl.
126380         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
126381         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
126382         (This type really should be intptr_t, but that's a C99ism.)
126383         (_obstack_memcpy): Remove: all uses changed to memcpy.
126384         Include <string.h> unconditionally.
126385         (struct obstack): Assume __STDC__ for types of members
126386         chunkfun, freefun, extra_arg.
126387         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
126388         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
126389         obstack_begin, obstack_specify_allocation,
126390         obstack_specify_allocation_with_arg, obstack_chunkfun,
126391         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
126392         Remove unprototyped decls and the macros that use them.
126393         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
126394         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
126395         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
126396         (defined __STDC__ && __STDC__)]:
126397         Remove nonprototyped code.
126398         Include <stdlib.h> unconditionally.
126399         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
126400         _obstack_allocated_p, _obstack_free, obstack_free,
126401         _obstack_memory_used, print_and_abort):
126402         Define using prototypes.
126403         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
126404         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
126405         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
126406         obstack_next_free, obstack_object_size, obstack_room) [0]:
126407         Remove unused, unprototyped code.
126409         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
126411         * lib/physmem.c (physmem_total, physmem_available, main): Define
126412         with prototypes.
126414         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
126415         (main): Define with a prototype.
126417         * lib/posixver.c (getenv): Remove decl.
126419         * lib/putenv.c (malloc): Returns void *, not char *.
126420         Include <string.h> unconditionally.
126421         (strchr, memcpy, NULL): Do not define.
126423         * lib/readtokens.c: Include readtokens.h first, to test interface.
126424         Include <stdlib.h>, <string.h> unconditionally.
126425         (init_tokenbuffer): Define with a prototype.
126427         * lib/regex.c (PARAMS): Remove.  All uses removed.
126428         All uses of _RE_ARGS removed, too.
126429         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
126430         unconditionally.
126431         (bzero): Assume memset exists.
126432         (memcmp, memcpy, NULL): Remove.
126433         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
126434         char, or assignments to local vars of type signed char.
126435         (init_syntax_once, PREFIX(extract_number_and_incr),
126436         PREFIX(print_partial_compiled_pattern),
126437         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
126438         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
126439         PREFIX(regex_grow_registers), PREFIX(regex_compile),
126440         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
126441         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
126442         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
126443         wcs_compile_range, byte_compile_range, truncate_wchar,
126444         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
126445         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
126446         count_mbs_length, wcs_re_match_2_internal,
126447         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
126448         PREFIX(alt_match_null_string_p),
126449         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
126450         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
126451         regfree, PREFIX(extract_number)): Define with prototype.  Remove
126452         now-unnecessary declaration, if any.
126453         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
126454         regcomp, regexec):
126455         Remove now-unnecessary casts among pointer types.
126456         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
126458         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
126459         (free): Remove decl.
126461         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
126463         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
126464         (free): Remove decl.
126466         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
126467         * lib/xgetcwd.c: Likewise.
126469         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
126470         (free): Remove decl.
126472         * lib/strchrnul.c (strchrnul): Define with a prototype.
126473         Fix bug: c_in was not converted to char before searching.
126475         The following changes are not K&R related:
126477         * lib/group-member.h: Include <sys/types.h>, so that this file is
126478         self-contained.
126479         * lib/makepath.h: Likewise.
126481         * lib/getusershell.c (readname, default_index, line_size, readname):
126482         Use size_t, not int, for sizes.
126483         (readname): If the size overflows, report an error instead of
126484         looping forever.
126486 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126488         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
126489         libc.
126491 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126493         * README: New section: portability guidelines.
126495 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126497         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
126498         C89 spec.
126500 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126502         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
126504 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126506         Assume C89 or better; remove K&R cruft.
126507         A few of these changes were first proposed by Derek Robert Price
126508         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
126510         * lib/addext.c: Include <string.h> unconditionally.
126511         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
126512         Don't declare getenv or malloc.
126514         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
126515         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
126516         (NULL): Remove.
126517         (find_stack_direction, alloca): Use prototypes.
126519         * lib/atexit.c (atexit): Define using a prototype.
126521         * lib/basename.c, dirname.c, stripslash.c:
126522         Include <string.h> unconditionally.
126524         * lib/bcopy.c: Include <stddef.h>.
126525         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
126527         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
126529         * lib/error.h (error, error_at_line, error_print_progname)
126530         [! (defined (__STDC__) && __STDC__)]: Remove decls.
126531         * lib/error.c: Include error.h first, to check interface.
126532         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126533         (VA_START): Remove; all uses changeed to va_start.
126534         (exit, strerror): Remove decls.
126535         (error_print_progname): Prototype uncondionally.
126536         Don't include <errno.h>; no longer needed.
126537         (private_strerror): Remove.
126538         (error_tail): Always define.
126539         (error, error_at_line): Assume C89 or better; always use prototypes.
126540         * lib/fatal.c: Include "fatal.h" first, to test interface.
126541         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
126542         (VA_START): Remove; all uses changed to va_start.
126543         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
126544         this case.
126545         (exit): Remove decl.
126546         (fatal): Prototype unconditionally.  Assume va_start works.
126547         Abort at end, to pacify gcc.
126549         * lib/euidaccess.c (main): Define with a prototype.
126551         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
126553         * lib/exitfail.c: Include <stdlib.h> unconditionally.
126555         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
126556         prototypes.
126557         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
126558         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
126559         (getenv): Remove decl.
126560         (fnmatch): Define using a prototype.
126561         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
126562         (FCT): Define using a prototype.
126564         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
126566         * lib/gethostname.c: Include <stddef.h>.
126567         (gethostname): Define with prototype.  Length is size_t, not int.
126569 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126571         Assume C89 or better; remove K&R cruft.
126572         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
126573         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
126574         string.h, getenv, malloc.
126575         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
126576         headers.
126577         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
126578         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
126579         do not check for strerror.
126580         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
126581         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
126582         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
126583         do not check for doprnt or vprintf.
126584         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
126585         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
126587 2003-09-08  Paul Eggert  <eggert@twinsun.com>
126589         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
126590         getversion.c should have been removed then, but was accidentally
126591         preserved.
126593         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
126594         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
126596 2003-09-08  Karl Berry  <karl@gnu.org>
126598         * config/config.sub, config.guess, srclistvars.sh: update from savannah
126599                 config, forget about prep.
126601         * config/depcomp, missing: update from automake.
126603 2003-09-07  Paul Eggert  <eggert@twinsun.com>
126605         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
126606         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
126608 2003-09-07  Paul Eggert  <eggert@twinsun.com>
126610         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
126611         copy_tm_result.  Bug reported by Simon Josefsson in
126612         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
126614 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126616         * m4/time_r.m4: New file.
126617         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
126618         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
126619         is. Check for timegm declaration.
126620         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
126621         Do not check for gmtime_r.
126622         Replace mktime if __mktime_internal does not exist and if mktime
126623         hasn't been replaced already.
126625 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126627         * lib/time_r.c, lib/time_r.h: New files.
126629         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
126630         __localtime_r.
126631         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
126632         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
126634         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
126635         __gmtime_r.
126636         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
126637         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
126638         Include <time_r.h>.
126640         * lib/timegm.c: Switch to glibc implementation, with the following
126641         changes:
126642         [defined HAVE_CONFIG_H]: Include <config.h>.
126643         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
126644         (__mktime_internal) [!defined _LIBC]: New decl.
126645         (__gmtime_r) [!defined _LIBC]: New macro and function.
126646         (timegm): Use a prototype, since gnulib assumes C89.
126647         Do not bother declaring tmp to be const, as it's not really usefu.
126648         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
126649         (timegm): Declare only if HAVE_DECL_TIMEGM.
126651 2003-09-06  Paul Eggert  <eggert@twinsun.com>
126653         * MODULES.html.sh (func_all_modules): Add time_r.
126654         * modules/time_r: New file.
126655         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
126656         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
126658 2003-09-03  Paul Eggert  <eggert@twinsun.com>
126660         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
126661         Bug reported by Lute Kamstra in
126662         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
126664         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
126665         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
126666         course with correspondingly smaller numbers for tomorrow and
126667         yesterday.  From Tadayoshi Funaba.  Originally installed into
126668         sh-utils on 1999-08-07, but the patch got lost (I guess during the
126669         coreutils merge?).
126671 2003-08-31  Simon Josefsson  <jas@extundo.com>
126673         * modules/timegm: New file.
126674         * MODULES.html.sh (func_all_modules): Add timegm.
126676 2003-08-31  Simon Josefsson  <jas@extundo.com>
126678         * m4/timegm.m4: New file.
126680 2003-08-31  Simon Josefsson  <jas@extundo.com>
126682         * lib/timegm.h: New file.
126683         * lib/timegm.c: New file.  Based on
126684         wget-1.8.2/src/http.c:mktime_from_utc.
126686 2003-08-31  Karl Berry  <karl@gnu.org>
126688         * lib/argp.h: update from libc.
126690 2003-08-28  Bruno Haible  <bruno@clisp.org>
126692         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
126693         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
126694         followed by '#define fnmatch fnmatch_posix' gives an error.
126696 2003-08-28  Bruno Haible  <bruno@clisp.org>
126698         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
126699         warning on QNX, which defines O_BINARY to 000000.
126701 2003-08-27  Jim Meyering  <jim@meyering.net>
126703         * m4/mkstemp.m4: Require that the system mkstemp be able to create
126704         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
126705         would fail after 32.  Reported by Danny Levinson.  Details here:
126706         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
126708 2003-08-24  Bruno Haible  <bruno@clisp.org>
126710         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
126711         MSVC7 <stdio.h> is included later.
126713 2003-08-22  Simon Josefsson  <jas@extundo.com>
126715         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
126717 2003-08-20  Karl Berry  <karl@gnu.org>
126719         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
126721 2003-08-20  Bruno Haible  <bruno@clisp.org>
126723         * modules/progname: New file.
126724         * MODULES.html.sh (func_all_modules): Add progname.
126726 2003-08-20  Bruno Haible  <bruno@clisp.org>
126728         * lib/progname.h: New file, from GNU gettext.
126729         * lib/progname.c: New file, from GNU gettext.
126730         * lib/progreloc.c: New file, from GNU gettext.
126732 2003-08-19  Jim Meyering  <jim@meyering.net>
126734         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
126735         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
126737 2003-08-19  Bruno Haible  <bruno@clisp.org>
126739         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
126740         more.
126742 2003-08-19  Bruno Haible  <bruno@clisp.org>
126744         * lib/xstrdup.c: Assume <string.h> exists.
126746 2003-08-18  Paul Eggert  <eggert@twinsun.com>
126748         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
126749         in makefile rules.
126751 2003-08-18  Jim Meyering  <jim@meyering.net>
126753         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
126754         * m4/lib-ld.m4: Likewise.
126756 2003-08-18  Jim Meyering  <jim@meyering.net>
126758         * lib/setenv.h: Indent nested cpp directive.
126759         * lib/vasnprintf.c: Remove trailing blanks.
126761 2003-08-17  Simon Josefsson  <jas@extundo.com>
126763         * modules/xstrndup: New file.
126764         * MODULES.html.sh (func_all_modules): Add xstrndup.
126766 2003-08-17  Simon Josefsson  <jas@extundo.com>
126768         * modules/argp: Fix autoconf macro name. Add more dependencies.
126770 2003-08-17  Simon Josefsson  <jas@extundo.com>
126772         * m4/xstrndup.m4: New file.
126774 2003-08-17  Simon Josefsson  <jas@extundo.com>
126776         * m4/argp.m4: New file.
126778 2003-08-17  Simon Josefsson  <jas@extundo.com>
126779             Bruno Haible  <bruno@clisp.org>
126781         * lib/xstrndup.h: New file.
126782         * lib/xstrndup.c: New file.
126784 2003-08-17  Bruno Haible  <bruno@clisp.org>
126786         * modules/strndup (Files, Include): Add lib/strndup.h.
126788 2003-08-17  Bruno Haible  <bruno@clisp.org>
126790         * modules/euidaccess (Files): Add lib/euidaccess.h.
126792 2003-08-17  Bruno Haible  <bruno@clisp.org>
126794         * lib/strndup.h: New file.
126796 2003-08-17  Bruno Haible  <bruno@clisp.org>
126798         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
126799         like AC_GNU_SOURCE.
126800         * modules/extensions (configure.ac): Comment out the invocation of
126801         gl_USE_SYSTEM_EXTENSIONS.
126803 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126805         Merges from coreutils, etc.
126806         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
126807         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
126808         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
126809         fixing a typo.
126810         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
126811         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
126813 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126815         Document merge from coreutils.
126816         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
126817         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
126818         * modules/utime: Add m4/utimes-null.m4.
126820 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126822         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
126823         space, undoing this 2003-08-12 change:
126824         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
126826 2003-08-16  Paul Eggert  <eggert@twinsun.com>
126828         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
126829         strtoul.c from libc, undoing this 2003-08-12 change:
126830         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
126832 2003-08-16  Jim Meyering  <jim@meyering.net>
126834         Merges from coreutils.
126835         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
126836         prefix.  Adjust cache variables similarly.  Create 500 rather than
126837         just 300 files, to exercise bug on Darwin6.5, too.
126838         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
126839         $missing_dir.
126840         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
126841         AM_SYS_POSIX_TERMIOS.
126842         Reported by mkc@mathdogs.com.
126843         Also change use of $am_cv_sys_posix_termios
126844         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
126845         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
126846         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
126847         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
126848         in /proc/mounts until it finds one with matching device number.  This
126849         is unnecessary when the FILE argument *is* a mount point.  No stat call
126850         is necessary in that case.  So, disable the statvfs-testing code on
126851         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
126852         as RedHat bug# 84846.
126853         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
126854         to 1MB, so as not to render systems with no stack size limit (e.g.,
126855         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
126856         Include <unistd.h>.  On some systems,
126857         it is required for the definition of _SC_PAGESIZE.
126859 2003-08-16  Jim Meyering  <jim@meyering.net>
126861         Merge from coreutils.
126862         * lib/xstrtoimax.c: #else #if -> #elif.
126863         * lib/xstrtoumax.c: Likewise.
126865 2003-08-16  Jim Meyering  <jim@meyering.net>
126867         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
126868         * m4/utimes.m4: Removed.
126869         * m4/utimes-null.m4: Renamed from utimes.m4.
126871         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
126872         to 1MB, so as not to render systems with no stack size limit (e.g.,
126873         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
126874         Include <unistd.h>.  On some systems,
126875         it is required for the definition of _SC_PAGESIZE.
126877 2003-08-16  Jim Meyering  <jim@meyering.net>
126878         and Paul Eggert  <eggert@cs.ucla.edu>
126880         Merges from coreutils, etc.
126882         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
126883         using the latest version from cvs.  This avoids problems with #line
126884         directives using a vendor (Sun) compiler.
126885         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
126886         Don't set GETGROUPS_LIB here; now it's
126887         done via getgroups.m4's wrapper function.
126888         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
126889         rather than just in sh-util/configure.in, so that the
126890         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
126891         same.
126892         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
126893         AC_FUNC_GETLOADAVG where to find getloadavg.c.
126894         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
126895         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
126896         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
126897         Remove code that is now done by the newly-required macros.
126898         Append $(EXEEXT) to DF_PROG.
126899         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
126900         Do not invoke or require the following here,
126901         since prereq.m4 or some gnulib .m4 now does this for us:
126902         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
126903         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
126904         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
126905         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
126906         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
126907         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
126908         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
126909         AC_FUNC_OBSTACK.
126910         Do not replace the following functions, as this is now the job
126911         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
126912         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
126913         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
126914         atexit getpass, strdup, getpagesize.
126915         Replace 'raise'.
126916         Do not check for the following functions, as this is now the job
126917         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
126918         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
126919         setregid.
126920         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
126921         Check for sys/sysctl.h.
126922         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
126923         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
126924         of checking for ssize_t ourselves.
126926         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
126927         Require every macro that gnulib/modules/* suggests for us.
126928         (jm_PREREQ_ADDEXT): New macro.
126929         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
126930         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
126932         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
126933         (gl_PHYSMEM): Use it.
126934         Also check for `table' function.
126935         Check for new headers and functions.
126936         Add check for sys/sysmp.h.
126937         With suggestions from Kaveh Ghazi.
126938         Ignore headers that are present but cannot be compiled.  This
126939         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
126940         C 5.4.
126942 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126944         Document merge from coreutils.
126945         * modules/userspec: Depend on posixver.
126946         * modules/strftime: Depend on tzset.
126948 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126950         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
126951         rather than tab, after '#' in shell-script copyright notices.
126952         Suggested by Bruno Haible.
126954 2003-08-15  Paul Eggert  <eggert@twinsun.com>
126956         * config/srclist-update: Use three spaces, rather than tab, after '#'
126957         in shell-script copyright notices.  Suggested by Bruno Haible.
126958         Remove unnecessary parenthesization in regular expression.
126960 2003-08-15  Jim Meyering  <jim@meyering.net>
126962         Merge from coreutils.
126963         * lib/xgethostname.c: Include <stdlib.h>.
126964         (xghostname): Don't exit for anything other than memory-related
126965         failure; just return NULL.
126966         * lib/userspec.c: Include "posixver.h".
126967         (parse_user_spec): Accept `.' as a separator only
126968         in pre-POSIX-200112 mode.
126969         * lib/strtoimax.c: Use #elif rather than #else #if.
126970         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
126971         Remove function, now that we can rely on a working tzset function.
126972         [!_LIBC]: Ensure that the required autoconf test has been run.
126973         [!defined _NL_CURRENT && HAVE_STRFTIME]:
126974         Use underlying_strftime for %r.
126975         * lib/sha.c: Merge in some clean-up and optimization changes from
126976         glibc.
126977         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
126978         Ensure that it is a multiple of 64.
126979         Rearrange loop exit tests so as to avoid performing an
126980         additional fread after encountering an error or EOF.
126981         * lib/realloc.c: Update copyright date.
126983 2003-08-15  Jim Meyering  <jim@meyering.net>
126984         and Paul Eggert  <eggert@twinsun.com>
126986         Merge from coreutils.
126987         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
126988         member but strut utmpx does not.  Needed for AIX 4.3.3.
126989         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
126991 2003-08-15  Jim Meyering  <jim@meyering.net>
126992         and Paul Eggert  <eggert@cs.ucla.edu>
126994         Merges from coreutils, etc.
126995         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
126996         Require gl_FUNC_TZSET_CLOBBER.
126997         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
126998         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
126999         members.
127001 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127003         Help the merge from coreutils.
127004         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
127005         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
127006         * m4/tzset.m4: Use it too.
127008 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127010         * modules/tzset: New file.
127012 2003-08-14  Jim Meyering  <jim@meyering.net>
127014         Merges from coreutils.
127015         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
127016         variable names, rather than @FNMATCH_H@.
127017         * modules/alloca: Likewise for $(ALLOCA_H).
127019         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
127020         the three copies of the literal target, `fnmatch.h'.
127021         * modules/alloca (alloca.h): Likewise.
127023 2003-08-14  Jim Meyering  <jim@meyering.net>
127025         Merge from coreutils.
127026         * m4/tzset.m4: New file.
127027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
127028         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
127029         otherwise, AIX 5.1 systems would end up using the latter.
127030         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
127031         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
127032         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
127033         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
127035 2003-08-14  Jim Meyering  <jim@meyering.net>
127037         Merge from coreutils.
127038         * lib/obstack.h: Whitespace changes.
127039         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
127040         and xcalloc return values.
127041         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
127042         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
127043         hang on OSF/1 5.1 for DIR on both local and remote file systems.
127044         Reported by (and fix confirmed by) Nelson H. F. Beebe.
127045         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127046         error from mntctl.
127047         Use mntctl's return value to drive the entry-processing loop, since
127048         we can't rely on the value of the vmt_length member in the last
127049         entry.  On some systems doing so could result in exhausting
127050         virtual memory.  Based in part on a patch from Mike Jetzer.
127052 2003-08-14  Jim Meyering  <jim@meyering.net>
127053         and Paul Eggert  <eggert@twinsun.com>
127055         Merges from coreutils, plus other fixes.
127056         * lib/physmem.c: Merge in portability changes from gcc/libiberty
127057         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
127058         for credits and details.  Thanks to Kaveh Ghazi for helping
127059         to keep these files in sync.
127060         (ARRAY_SIZE): Define it.
127061         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
127062         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
127063         (memcasecmp): Don't assume size_t fits in unsigned int.
127064         Remove casts and duplicate code.
127065         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
127066         (memcpy): Remove definition.
127067         Merge in some clean-up and optimization changes from glibc.
127068         [BLOCKSIZE]: Move definition to top of file.
127069         Ensure that it is a multiple of 64.
127070         Rearrange loop exit tests so as to avoid performing an
127071         additional fread after encountering an error or EOF.
127072         * lib/md5.h (md5_uintptr): Define.
127073         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
127074         return to the initial working directory.  Preserve errno
127075         for caller.
127076         * lib/idcache.c: Include "xalloc.h".
127077         (xmalloc, xrealloc): Remove decls.
127078         (getuser): Remove casts no longer required in C89.
127079         * lib/human.c: Include stdio.h, for sprintf.
127080         * lib/group-member.c: Include "xalloc.h".
127081         (xmalloc, xrealloc): Remove decls.
127082         (get_group_info): Remove casts no longer required in C89.
127083         * lib/getusershell.c (readname): Remove casts no longer required in
127084         C89.
127085         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
127086         * lib/getline.c: Whitespace fix, from coreutils.
127088 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127090         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
127091         Check for isascii.
127093         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127094         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127095         Undo previous (whitespace-only) change.
127097 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127099         * lib/exclude.c: Include <ctype.h>
127100         (IN_CTYPE_DOMAIN): New macro.
127101         (is_space): New fn.
127102         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
127103         and empty lines.
127105         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127106         Undo previous (whitespace-only) change.
127108 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127110         * config/srclist-update: Change update back to the old behavior,
127111         leaving whitespace alone.  Use one 'sed' command rather than a
127112         pipeline.
127113         (fixlicense): Now a variable, not a function.
127114         (remove_trailing_blanks): Remove.
127115         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
127116         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127117         Undo previous (whitespace-only) change.
127119 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127121         Merge from coreutils.
127122         * modules/euidaccess: Add lib_SOURCES, include for new
127123         file euidaccess.h
127125 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127127         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127128         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127129         Normalize leading white space and remove trailing white space.
127131         Merge from coreutils
127132         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
127134         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
127135         0.12.1.  These files are now being upgraded automatically by
127136         ../config/srclist-update.
127138 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127140         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127141         Normalize leading white space and remove trailing white space.
127142         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
127143         notice, as per ../config/srclist-update.
127145         Merge from coreutils.
127146         * lib/euidaccess.h: New file.
127147         * lib/euidaccess.c: Include it.
127148         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
127149         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
127150         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
127152 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127154         * config/srclist-update: Add copyright notice.
127155         (remove_id_lines, remove_trailing_blanks): New constants.
127156         (fixfile): Use them to normalize spacing a bit in copied files.
127157         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127158         Normalize leading white space and remove trailing white space.
127160         * config/texinfo.tex: Sync with texinfo.
127162         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
127163         strtoul.c from libc, to merge coreutils whitespace changes.
127165         * config/srclist.txt: Get the following m4 files from gettext:
127166         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
127167         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
127168         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
127169         wint_t.m4.
127171 2003-08-12  Karl Berry  <karl@gnu.org>
127173         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
127174         been made.
127176 2003-08-11  Paul Eggert  <eggert@twinsun.com>
127178         * modules/gnu-source, m4/gnu-source.m4:
127179         Remove; we're assuming Autoconf 2.54 or later now.
127180         Suggested by Bruno Haible.
127181         * MODULES.html.sh (func_all_modules): Remove gnu-source.
127183 2003-08-11  Bruno Haible  <bruno@clisp.org>
127185         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
127187 2003-08-11  Bruno Haible  <bruno@clisp.org>
127189         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
127190         (vasnprintf): Use it instead of wcslen.
127192 2003-08-11  Bruno Haible  <bruno@clisp.org>
127194         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
127195         value to ensure that _Bool promotes to int. Use #define for _Bool when
127196         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
127198 2003-08-10  Karl Berry  <karl@gnu.org>
127200         * lib/regex.h: update from libc (whitespace fix).
127202 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127204         Merge some files from coreutils.  These changes were
127205         originally made by Jim Meyering.
127206         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
127207         many older Unixes require this.
127208         * lib/alloca.c (alloca): Remove cast to argument of free;
127209         no longer needed in C89.
127210         * lib/alloca_.h, regex.h: Fix white space to match
127211         what GNU indent does.
127213 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127215         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
127216         apparently Emacs's Unicode mode got confused before my 2003-08-05
127217         checkin.
127219 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127221         * m4/extensions.m4: New file.
127222         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
127223         Require gl_USE_SYSTEM_EXTENSIONS.
127224         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
127225         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
127227 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127229         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
127230         * modules/extensions, modules/gnu-source: New files.
127231         * modules/timespec, modules/unlocked-io: Depend on extensions.
127233 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127235         * modules/restrict: New file.
127236         * MODULES.html.sh (func_all_modules): Add restrict.
127237         * modules/regex: Depend on restrict.
127239 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127241         * m4/restrict.m4: New file.
127242         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
127244 2003-08-07  Bruno Haible  <bruno@clisp.org>
127246         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
127247         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
127249 2003-08-07  Bruno Haible  <bruno@clisp.org>
127251         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
127252         makes the module 'getndelim2' compatible with the module 'getline'.
127254 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127256         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
127257         byte with "\201" to avoid glitches when editing that source file
127258         with multi-gnome-terminal.
127260 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127262         * lib/bumpalloc.h: Remove.
127264 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127266         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
127267         * modules/bumpalloc: Remove.
127269 2003-08-04  Paul Eggert  <eggert@twinsun.com>
127271         * lib/getloadavg.c: Change copyright notice and spacing to conform to
127272         GNU coding style.
127274         Merge from coreutils.
127275         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
127276         1. From glibc.
127277         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
127278         from Karl Berry, implemented by Jim Meyering.
127279         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
127280         from Dmitry V. Levin.
127281         Remove anachronistic cast of xrealloc.
127282         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
127283         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
127284         type. Otherwise, it wouldn't compile with at least /bin/cc on
127285         ymp-cray-unicos9.0.2.X.
127286         Combine two mostly-identical uses of alloca into one.
127287         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
127289 2003-08-04  Dave Love  <d.love@dl.ac.uk>
127291         [From Emacs.]
127293         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
127294         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
127295         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
127296         obsolete NLIST_NAME_UNION.
127297         [__GNU__]: Undef BSD and FSCALE.
127298         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
127300 2003-08-03  Paul Eggert  <eggert@twinsun.com>
127302         * lib/stdbool_.h (_Bool): Make it signed char, instead of
127303         an enum type, so that it's guaranteed to promote to int.  See:
127304         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
127306 2003-08-03  Karl Berry  <karl@gnu.org>
127308         * config/depcomp: update from automake.
127310 2003-07-31  Paul Eggert  <eggert@twinsun.com>
127312         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
127313         (strerror): Don't assume that a printable int fits in 14 bytes.
127315 2003-07-31  Bruno Haible  <bruno@clisp.org>
127317         * modules/getpass-gnu: New file.
127318         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
127320 2003-07-31  Bruno Haible  <bruno@clisp.org>
127322         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
127324 2003-07-24  Karl Berry  <karl@gnu.org>
127326         * config/missing: update from automake.
127328 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
127329             Bruno Haible  <bruno@clisp.org>
127331         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
127332         * lib/getline.c (getline, getdelim): Likewise.
127333         Remove _GNU_SOURCE define; now it's defined in config.h through
127334         m4/getline.m4.
127336 2003-07-23  Karl Berry  <karl@gnu.org>
127338         * config/config.sub: update from prep.
127340 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127342         * modules/xalloc (Depends-on): Add exitfail.
127343         * modules/xmemcoll: Likewise.
127345 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127347         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
127348         over-parenthesization in macros.
127350         Sync with coreutils.
127352         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
127353         required by C99.
127355         Use `exit_failure' for xalloc and xmemcoll instead of their own
127356         private exit-failure variables.
127357         * lib/xalloc.h (xalloc_exit_failure): Remove.
127358         * lib/xmalloc.c: Likewise.  Include exitfail.h.
127359         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
127360         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
127361         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
127362         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
127364 2003-07-20  Jim Meyering  <jim@meyering.net>
127366         * modules/closeout (Depends-on): Add exitfail.
127367         Suggestion from Bruno Haible.
127369 2003-07-19  Karl Berry  <karl@gnu.org>
127371         * config/config.sub: update from prep.
127373 2003-07-18  Paul Eggert  <eggert@twinsun.com>
127375         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
127376         Remove.
127377         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
127378         to test that it can stand by itself.  Include "exitfail.h".
127379         Clients should set exit_failure instead.
127380         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
127382 2003-07-18  Bruno Haible  <bruno@clisp.org>
127384         * modules/getndelim2: New file.
127385         * modules/getline: Share files with module getndelim2.
127386         * modules/getnline: Depend on getndelim2 instead of sharing files with
127387         it. Add getnline.c to lib_SOURCES.
127388         * MODULES.html.sh (func_all_modules): Add getndelim2.
127390 2003-07-18  Bruno Haible  <bruno@clisp.org>
127392         * m4/getndelim2.m4: New file.
127393         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
127394         invoke gl_PREREQ_GETNDELIM2.
127395         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
127396         gl_PREREQ_GETNDELIM2.
127397         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
127398         gl_GETNDELIM2.
127400 2003-07-18  Bruno Haible  <bruno@clisp.org>
127402         * lib/getndelim2.h: New file.
127403         * lib/getndelim2.c: Make into a module of its own. Include config.h,
127404         getndelim2.h.
127405         (getndelim2): Make non-static. Change return type to ssize_t.
127406         * lib/getline.h: Change argument names.
127407         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
127408         * lib/getnline.c: Include getndelim2.h.
127410 2003-07-18  Andreas Schwab  <schwab@suse.de>
127412         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
127414 2003-07-17  Karl Berry  <karl@gnu.org>
127416         * config/config.sub: update from prep.
127418 2003-07-17  Bruno Haible  <bruno@clisp.org>
127420         * modules/getnline: New file.
127421         * modules/getline: Add lib/getndelim2.c to source file list.
127422         * MODULES.html.sh (func_all_modules): Add getnline.
127424 2003-07-17  Bruno Haible  <bruno@clisp.org>
127426         * m4/getnline.m4: New file.
127428 2003-07-17  Bruno Haible  <bruno@clisp.org>
127430         * m4/Makefile.am.in: Remove file.
127431         * m4/Makefile.am: Remove file.
127432         * m4/Makefile.in: Remove file.
127434 2003-07-17  Bruno Haible  <bruno@clisp.org>
127436         * lib/getnline.h: New file.
127437         * lib/getnline.c: New file.
127438         * lib/getndelim2.c: New file, extracted from getline.c.
127439         (getndelim2): Renamed from getdelim2, with added nmax argument.
127440         * lib/getline.c: Include getndelim2.c.
127441         (getdelim2): Moved out to getndelim2.c.
127442         (getline, getdelim): Update.
127444 2003-07-17  Bruno Haible  <bruno@clisp.org>
127446         * lib/Makefile.am: Remove file.
127447         * lib/Makefile.in: Remove file.
127449 2003-07-17  Bruno Haible  <bruno@clisp.org>
127451         * configure.in: Remove file.
127452         * Makefile.in: Remove file.
127454 2003-07-17  Bruno Haible  <bruno@clisp.org>
127456         * MODULES.html.sh: Put the </BODY> right before </HTML>.
127458 2003-07-16  Karl Berry  <karl@gnu.org>
127460         * config/srclist-update: was running fixlicense twice, which caused
127461                 texinfo.tex to be nullified for some reason.  Simplify,
127462                 $gplsrc is no longer needed as far as I can see?
127464 2003-07-16  Jim Meyering  <jim@meyering.net>
127466         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
127468 2003-07-15  Paul Eggert  <eggert@twinsun.com>
127470         * config/srclist.txt: Get the following files from gettext-runtime/intl
127471         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
127472         ref-del.sin.  From Bruno Haible.
127473         * config/srclist-update (fixfile): Change grep pattern again, since the
127474         previous fix didn't work (there was another trailing $).  Use
127475         '[$]' to escape the $s.
127477 2003-07-15  Karl Berry  <karl@gnu.org>
127479         * lib/vasnprintf.c: update from gettext.
127481 2003-07-15  Karl Berry  <karl@gnu.org>
127483         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
127484         gets expanded when surrounded by '$'.
127486 2003-07-15  Jim Meyering  <jim@meyering.net>
127488         * modules/save-cwd: Don't depend on error.  From Derek Price.
127490 2003-07-15  Jim Meyering  <jim@meyering.net>
127492         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
127494 2003-07-14  Simon Josefsson  <jas@extundo.com>
127496         * modules/mempcpy: New file.
127497         * MODULES.html.sh (func_all_modules): Add mempcpy.
127499 2003-07-14  Simon Josefsson  <jas@extundo.com>
127501         * m4/mempcpy.m4: New file.
127503 2003-07-14  Simon Josefsson  <jas@extundo.com>
127505         * lib/mempcpy.h: New file.
127506         * lib/mempcpy.c: New file.
127508 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127510         * modules/getdate, modules/posixtm: Depend on mktime.
127512 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127514         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
127515         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
127516         unicodeio.c, unicodeio.h, unlocked-io.h:
127517         Switch from LGPL to GPL.
127519 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127521         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
127522         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
127523         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
127524         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
127525         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
127526         updated automatically by ../config/srclist-update.  This changes
127527         their license from LPGL to GPL.
127529 2003-07-14  Paul Eggert  <eggert@twinsun.com>
127531         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
127532         assumed to refer to the root of the most recent stable gettext version.
127533         * config/srclistvars.sh: Add defaults for eggert.
127534         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
127535         Match "This program" as well as "The program".  This is needed
127536         for gettext.
127538 2003-07-14  Jim Meyering  <jim@meyering.net>
127540         Don't emit diagnostics.  Let callers do that.
127541         * lib/save-cwd.c: Don't include "error.h".
127542         (save_cwd): Don't call error.  Ensure that errno is valid
127543         when returning nonzero.
127545         * lib/save-cwd.h (restore_cwd): Update prototype.
127546         * lib/save-cwd.c (restore_cwd): Remove two parameters.
127547         Simplify.  Don't call error upon failure.  Let callers do that.
127548         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
127549         when auditing is enabled.  But don't bother updating the #if.
127551 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
127553         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
127554         it breaks C++ compilation.
127555         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
127557 2003-07-10  Simon Josefsson  <jas@extundo.com>
127559         * modules/strchrnul (Makefile.am): Add strchrnul.h.
127561 2003-07-10  Jim Meyering  <jim@meyering.net>
127563         * m4/clock_time.m4: Remove trailing blank.
127564         * m4/intmax_t.m4: Likewise.
127566 2003-07-10  Jim Meyering  <jim@meyering.net>
127568         * lib/vasnprintf.c: Remove trailing blanks.
127569         Make cpp indentation consistent.
127571 2003-07-09  Paul Eggert  <eggert@twinsun.com>
127573         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
127574         posixver.c, strftime.c, strnlen.c, strverscmp.c:
127575         Switch from LGPL to GPL.
127577 2003-07-09  Paul Eggert  <eggert@twinsun.com>
127579         * config/srclist.txt: Sort sublists.  Add
127580         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
127581         that differ from gnulib for one reason or another; we'd like this list
127582         to be smaller but for now let's document what we have.
127584 2003-07-08  Paul Eggert  <eggert@twinsun.com>
127586         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
127587         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
127588         and sweeter "eval x=$x".
127589         * config/srclist.txt: Get lib/argp* from glibc.
127591 2003-07-07  Paul Eggert  <eggert@twinsun.com>
127593         * lib/mktime.c: Fix some boundary cases and remove need for floating
127594         point.
127596         Issue a compile-time diagnostic if time_t is floating point, or if
127597         two's complement arithmetic is not in effect, or if arithmetic
127598         right shift does not propagate the sign.  These assumptions were
127599         all in the original code but they weren't checked.
127601         (TIME_T_MIDPOINT, verify): New macros.
127602         (__isleap): Remove; it has integer overflow problems.
127603         (leapyear): New function, without those problems.
127604         (ydhms_tm_diff): Remove; splitting into two parts.
127605         (ydhms_diff): New function, containing the arithmetic part of
127606         the old ydhms_tm_diff function.  Issue a compile-time
127607         diagnostic if we are not using C99 integer division.
127608         Avoid casts when possible.
127609         (guess_time_tm): New function, containing the checking part of
127610         the old ydhms_tm_diff function.  Return the new value, rather than
127611         the difference between it and the old.  Accept a new argument T
127612         so that *T specifies the old value.  Check for overflow in the result.
127614         (__mktime_internal): Use a time_t offset, not a long int offset.
127615         This undoes the 2003-06-04 change, which is no longer needed now
127616         that we have better overflow checking.
127617         (localtime_offset): Likewise.
127619         (__mktime_internal): Avoid harmful overflow on hosts where time_t
127620         and long are 64-bit but int is only 32-bit.
127621         (ydhms_diff): Use long int to store year1 and yday1.
127622         Issue a compile-time diagnostic if long int is not wide enough.
127624         (__mktime_internal): Use long int to store adjusted year and yday.
127625         Use plain C rather than preprocessor commands, if that doesn't
127626         affect efficiency.
127627         Check for overflow (and try to repair) after each probe
127628         rather than checking only at the very end.  This avoids some bugs
127629         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
127630         does not equal GMT offset at maximum time).
127631         Use integer to check for overflow rather than floating point; this
127632         is more portable to non-IEEE hosts, and is a tad faster.
127633         When we detect that we are oscillating between two values,
127634         don't check whether tm_isdst has the requested value, since
127635         we already know the answer.  When tm_isdst has the wrong value,
127636         use a different heuristic to find the right one, based on the
127637         extreme values actually observed in practice in tz2003a,
127638         rather than the (overly optimistic) "previous 3 calendar quarters".
127640         (not_equal_tm, print_tm, check_result): Use "const T" rather than
127641         "T const" to accommodate glibc style.
127642         (check_result): Use less-confusing report format.  "long" -> "long int.
127643         (main): Likewise.
127644         Don't loop if the iteration overflows time_t.
127645         Allow a negative step in the iteration.
127647 2003-07-06  Karl Berry  <karl@gnu.org>
127649         * config/depcomp: update from automake.
127650         * config/config.sub: update from prep.
127652 2003-07-03  Karl Berry  <karl@gnu.org>
127654         * config/config.guess: update from prep.
127656 2003-07-01  Paul Eggert  <eggert@twinsun.com>
127658         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
127659         xreadlink.c now includes it unconditionally.
127661 2003-07-01  Paul Eggert  <eggert@twinsun.com>
127663         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
127664         having it depend on HAVE_SYS_TYPES_H.
127666 2003-07-01  Bruno Haible  <bruno@clisp.org>
127668         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
127669         <sys/types.h> should be sufficient.
127670         Reported by Paul Eggert.
127672 2003-06-26  Karl Berry  <karl@gnu.org>
127674         * config/depcomp: update from automake.
127676 2003-06-26  Bruno Haible  <bruno@clisp.org>
127678         * modules/human: Depend on module stdbool.
127680 2003-06-25  Bruno Haible  <bruno@clisp.org>
127682         * modules/readlink: New file.
127683         * modules/xreadlink: Depend on it.
127684         * MODULES.html.sh (func_all_modules): Add readlink.
127686 2003-06-25  Bruno Haible  <bruno@clisp.org>
127688         * m4/readlink.m4: New file.
127690 2003-06-25  Bruno Haible  <bruno@clisp.org>
127692         * lib/readlink.c: New file.
127694 2003-06-22  Karl Berry  <karl@gnu.org>
127696         * config/srclist.txt: update mkinstalldirs from automake.
127697         * config/mkinstalldirs: update.
127699 2003-06-22  Bruno Haible  <bruno@clisp.org>
127701         Portability to mingw32.
127702         * m4/ssize_t.m4: New file, from GNU gettext.
127703         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
127704         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
127706 2003-06-22  Bruno Haible  <bruno@clisp.org>
127708         * modules/safe-read: Add m4/ssize_t.m4.
127709         * modules/xreadlink: Add m4/ssize_t.m4.
127711 2003-06-20  Bruno Haible  <bruno@clisp.org>
127713         Assume C89, so PARAMS isn't needed.
127714         * lib/unicodeio.h (PARAMS): Remove.
127715         * lib/unicodeio.c: Don't use PARAMS.
127717 2003-06-18  Karl Berry  <karl@gnu.org>
127719         * config/config.{guess,sub}: update from prep.
127721 2003-06-18  Jim Meyering  <jim@meyering.net>
127723         Merge changes from coreutils.
127724         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
127725         Remove explicit declarations of xmalloc and realloc.
127726         Include xalloc.h.
127727         (read_utmp): Remove anachronistic cast of xmalloc.
127729 2003-06-17  Paul Eggert  <eggert@twinsun.com>
127731         Assume C89, so PARAMS isn't needed.
127732         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
127733         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
127734         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
127735         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
127736         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
127737         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
127738         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
127739         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
127740         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
127741         lib/xstrtod.h, lib/xstrtol.h: Likewise.
127742         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
127743         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
127744         no longer needed. Anyway, config.h should always be included before any
127745         other file.
127747 2003-06-11  Simon Josefsson  <jas@extundo.com>
127749         * modules/sysexits: New file.
127750         * MODULES.html.sh (func_all_modules): Add sysexits.
127752 2003-06-11  Simon Josefsson  <jas@extundo.com>
127754         * lib/sysexit_.h: New file.
127756 2003-06-11  Derek Price  <derek@ximbiot.com>
127758         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
127759         necessary.
127761 2003-06-11  Bruno Haible  <bruno@clisp.org>
127763         * m4/sysexits.m4: New file.
127765 2003-06-10  Simon Josefsson  <jas@extundo.com>
127767         * lib/argp.h: New file, from glibc.
127768         * lib/argp-ba.c: New file, from glibc.
127769         * lib/argp-eexst.c: New file, from glibc.
127770         * lib/argp-fmtstream.c: New file, from glibc.
127771         * lib/argp-fmtstream.h: New file, from glibc.
127772         * lib/argp-fs-xinl.c: New file, from glibc.
127773         * lib/argp-help.c: New file, from glibc.
127774         * lib/argp-namefrob.h: New file, from glibc.
127775         * lib/argp-parse.c: New file, from glibc.
127776         * lib/argp-pv.c: New file, from glibc.
127777         * lib/argp-pvh.c: New file, from glibc.
127778         * lib/argp-xinl.c: New file, from glibc.
127780 2003-06-10  Simon Josefsson  <jas@extundo.com>
127782         * modules/strchrnul: New file.
127784 2003-06-10  Simon Josefsson  <jas@extundo.com>
127786         * modules/argp: New file.
127788 2003-06-10  Simon Josefsson  <jas@extundo.com>
127790         * m4/strchrnul.m4: New file.
127792 2003-06-10  Simon Josefsson  <jas@extundo.com>
127794         * lib/strchrnul.h: New file.
127795         * lib/strchrnul.c: New file.
127797 2003-06-10  Bruno Haible  <bruno@clisp.org>
127799         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
127801 2003-06-07  Karl Berry  <karl@gnu.org>
127803         * config/config.{guess,sub}: update from prep.
127805 2003-06-07  Jim Meyering  <jim@meyering.net>
127807         * modules/strtod: Use $(...) notation, not @...@ for
127808         AC_REPLACE'd variables.
127809         * modules/localcharset: Likewise.
127811 2003-06-07  Jim Meyering  <jim@meyering.net>
127813         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
127814         in place of my name in the copyright comment.
127815         Remove definition and uses of __P.
127817         From coreutils.
127818         * lib/stat.c: Don't declare xmalloc explicitly.
127819         Instead, include "xalloc.h".
127820         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
127821         xrealloc, and xcalloc return values.
127822         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
127823         Improve comment.
127824         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
127826 2003-06-07  Bruno Haible  <bruno@clisp.org>
127828         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
127829         avoid AC_CONFIG_LINKS.
127830         * modules/fnmatch (Makefile.am): Use explicit creation rule for
127831         fnmatch.h, to avoid AC_CONFIG_LINKS.
127832         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
127834 2003-06-07  Bruno Haible  <bruno@clisp.org>
127836         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
127837         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
127838         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
127839         directory.
127840         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
127841         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
127842         directory.
127844 2003-06-06  Jim Meyering  <jim@meyering.net>
127846         Merge from coreutils.
127847         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
127848         Consolidate declarations and initializations of *_base* locals.
127850         Merge from coreutils.
127851         This avoids a core dump on systems without GNU putenv,
127852         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
127853         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
127854         (unsetenv): New static function, from GNU libc.
127855         (rpl_putenv): Use it.
127857         * lib/modechange.c: Remove trailing blanks.
127859         Merge from coreutils.
127860         * lib/fsusage.c: Remove declaration of statfs.
127861         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
127863         * lib/posixtm.c: Include <stdbool.h> unconditionally.
127865 2003-06-06  Jim Meyering  <jim@meyering.net>
127867         * lib/stdbool_.h: Renamed from stdbool.h.in.
127869 2003-06-06  Jim Meyering  <jim@meyering.net>
127870             Bruno Haible  <bruno@clisp.org>
127872         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
127873         Adjust Makefile.am snippet not to redirect directly to target.
127874         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
127876 2003-06-05  Paul Eggert  <eggert@twinsun.com>
127878         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
127879         mismatch, look in future quarters as well as past.  This fixes a
127880         bug when processing fall-backwards gaps immediately after a long
127881         period of daylight-saving time.
127883         * lib/mktime.c: Assume freestanding C89 or better.
127884         (HAVE_LIMITS_H): Remove.  Assume it's 1.
127885         (__P): Remove; not used.
127886         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
127887         (mktime, not_equal_tm, print_tm, check_result,
127888         main): Use prototypes.  Use const * where appropriate.
127889         (main): Fix typo in testing code that uncovered by above changes.
127890         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
127892 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127894         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
127895         locale.h, localeconv.  This merges changes from coreutils.
127897         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
127898         It can be removed after the next Autoconf is released.
127899         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
127900         needed.
127902 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127904         * lib/mktime.c: Fix Debian bug 177940
127905         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
127906         (localtime_offset): Now long int, not time_t, because we want it
127907         to be guaranteed to be signed.  All uses changed.
127908         (__mktime_internal): If overflow would occur when adding offset,
127909         don't add it.
127911         Merge 'human' changes from coreutils.  Rewrite to support
127912         locale-specific notations like thousands separators.
127913         * lib/human.c: Simplify authorship notice.
127914         Include human.h immediately after config.h.
127915         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
127916         <limits.h>: Do not include, since human.h does.
127917         (SIZE_MAX, UINTMAX_MAX): New macros.
127918         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
127919         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
127920         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
127921         (power_letter): Renamed from suffixes.
127922         (generate_suffix_backwards): Remove.
127923         (adjust_value): Now takes int style (because of human.h changes)
127924         and long double value (for greater precision on some platforms).
127925         (group_number): New function.
127926         (human_readable): Use it.  Use integer options, not enum.
127927         Put the options before the sizes in the arg list.
127928         Support all the new options.
127929         The old human_readable function has been removed;
127930         use inttostr.h instead.
127931         (human_readable, default_block_size, humblock):
127932         Use uintmax_t, not int, for block sizes.
127933         (human_readable_inexact, block_size_types): Remove.
127934         (block_size_opts): New constant.
127935         (human_options): Renamed from human_block_size, with new signature
127936         that allows block sizes up to UINTMAX_MAX.  All callers changed.
127937         * lib/human.h: Add copyright and authorship notice.
127938         Include <limits.h> and <stdbool.h> unconditionally.
127939         (PARAMS): Remove.  All uses removed.
127940         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
127941         (enum human_inexact_style): Remove tag; now a nameless enum.
127942         (human_floor, human_ceiling, human_round_to_even): Now have
127943         values 2, 0, 1 rather than -1, 1, 0.
127944         (human_group_digits, human_suppress_point_zero, human_autoscale,
127945         human_base_1024, human_SI, human_B): New constants.
127946         (human_readable_inexact, human_block_size): Remove.
127947         (human_readable): Size args are now uintmax_t, not int.
127948         (human_options): New decl.
127950         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
127951         unnecessary now that we assume C89 or better.  This change
127952         imported from coreutils.
127954         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
127955         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
127956         in the 2003-05-30 sync from glibc.
127958         .h files should stand alone, but we shouldn't include <sys/types.h>
127959         if we can get away with just <stddef.h>.
127961         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
127962         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
127963         rather than <sys/types.h>, as we merely need size_t.
127964         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
127965         to get size_t.
127966         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
127967         Include <stdio.h>, to get FILE.
127968         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
127969         memcasecmp.h has included <stddef.h> and all we need is size_t.
127970         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
127971         our interface, instead of including <sys/types.h>
127973 2003-06-04  Paul Eggert  <eggert@twinsun.com>
127975         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
127976         now, as glibc mktime is buggy on non-glibc systems.
127978 2003-06-03  Karl Berry  <karl@gnu.org>
127980         * config/config.sub: update from prep.
127982 2003-06-02  Paul Eggert  <eggert@twinsun.com>
127984         [from coreutils]
127985         Fix some minor time-related bugs with POSIX time arguments.
127986         Some valid time stamps were being rejected (notably -1, and
127987         time stamps before 1900 on 64-bit hosts).  And some invalid
127988         time stamps were being accepted, e.g. September 31.
127990         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
127991         that we can return (time_t) -1 successfully.
127992         * lib/posixtm.c: Likewise.
127993         [HAVE_STDBOOL_H]: Include <stdbool.h>.
127994         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
127995         (t): Remove static var.
127996         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
127997         of static var.  All uses changed.
127998         (year): Do not reject years before 1900; they can occur with
127999         64-bit time_t.
128000         (posix_time_parse): Do not check for out-of-range components;
128001         that is now the caller's responsibility, since our checks were
128002         only approximations.
128003         (posixtime): Use mktime to check for out-of-range components,
128004         since it knows them exactly.
128005         If mktime returns (time_t) -1, check whether an error actually occurred
128006         by invoking localtime on -1.
128007         (main) [TEST_POSIXTIME]: Check for input data errors, and report
128008         posixtime failures better.
128009         Improve the test data (in comments only).
128011 2003-06-02  Karl Berry  <karl@gnu.org>
128013         * config/mkinstalldirs (version): new variable.
128014         (--version): new option.
128015         (usage): improve message.
128017 2003-05-30  Karl Berry  <karl@gnu.org>
128019         * lib/mktime.c: update from libc.
128021 2003-05-30  Bruno Haible  <bruno@clisp.org>
128023         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
128024         * config/config.rpath: Upgrade to gettext-0.12.1.
128026 2003-05-30  Bruno Haible  <bruno@clisp.org>
128028         * m4/gettext.m4: Upgrade to gettext-0.12.1.
128029         * m4/nls.m4: New file, from gettext-0.12.1.
128030         * m4/po.m4: New file, from gettext-0.12.1.
128031         * m4/progtest.m4: Upgrade to gettext-0.12.1.
128033 2003-05-30  Bruno Haible  <bruno@clisp.org>
128035         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
128036         * lib/localcharset.h: Likewise.
128037         * lib/localcharset.c: Likewise.
128039 2003-05-29  Karl Berry  <karl@gnu.org>
128041         * config/config.rpath: update from gettext.
128043 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128045         Assume the headers required for C89 freestanding compilers.
128046         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
128047         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
128048         * m4/human.m4 (gl_HUMAN): Likewise.
128049         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
128050         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
128051         * m4/userspec.m4 (gl_USERSPEC): Likewise.
128052         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
128053         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
128054         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
128056 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128058         Assume the headers required for C89 freestanding compilers.
128059         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
128060         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
128061         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
128062         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
128063         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
128064         define, since <limits.h> is guaranteed to do that.
128065         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
128066         * lib/exclude.c: Include <stdbool.h> unconditionally.
128067         * lib/tempname.c: Include <stddef.h> unconditionally.
128068         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
128069         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
128070         <stddef.h> does that.
128071         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
128072         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
128073         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
128074         needed.
128075         * lib/xstrtol.c: Likewise.
128076         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
128077         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
128079         * lib/addext.c (addext): Use assignment rather than cast, to avoid
128080         warnings on some platforms.
128082         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128083         arbitrarily.
128085 2003-05-26  Jim Meyering  <jim@meyering.net>
128087         Merge in a change from coreutils:
128088         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
128089         that is guaranteed to be `no'.  Use `no_such_member' to indicate
128090         that condition, rather than `-1' which is slightly misleading.
128091         Change the name of the cache variable to have the gl_ prefix.
128092         Prompted by a patch from Richard Dawe for DJGPP.
128094 2003-05-24  Karl Berry  <karl@gnu.org>
128096         * config/config.guess: update from prep.
128098 2003-05-22  Karl Berry  <karl@gnu.org>
128100         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
128102 2003-05-20  Karl Berry  <karl@gnu.org>
128104         * config/config.guess: update from prep.
128106 2003-05-18  Karl Berry  <karl@gnu.org>
128108         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
128109         might actually be set by the user.
128111         * config/depcomp, install-sh, mdate-sh: update from automake.
128113 2003-05-17  Bruno Haible  <bruno@clisp.org>
128115         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
128116         invalid expansion for AC_EGREP_CPP.
128117         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
128118         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
128119         Suggested by Akim Demaille <akim@epita.fr> in
128120         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
128122 2003-05-12  Jim Meyering  <jim@meyering.net>
128124         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
128125         the space-padded-by-default conversion specifiers, %e, %k, %l.
128127 2003-05-12  Bruno Haible  <bruno@clisp.org>
128129         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
128130         the string is longer than 4 KB.
128132 2003-05-11  Karl Berry  <karl@gnu.org>
128134         * config/config.{guess,sub}: update from prep.
128136 2003-05-09  Bruno Haible  <bruno@clisp.org>
128138         * modules/error: Add m4/strerror_r.m4 to file list.
128140 2003-05-03  Bruno Haible  <bruno@clisp.org>
128142         Upgrade to Unicode-4.0.
128143         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
128144         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
128145         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
128146         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
128147         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
128148         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
128149         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
128150         Change width of U+E0100..U+E01EF from 1 to 0.
128152 2003-04-25  Jim Meyering  <jim@meyering.net>
128154         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
128155         of type size_t, not int.
128157 2003-04-25  Bruno Haible  <bruno@clisp.org>
128159         * lib/copy-file.c: Include <stddef.h>, for size_t.
128161 2003-04-21  Paul Eggert  <eggert@twinsun.com>
128163         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
128164         code which expansion is under static control.  Patch imported from
128165         Akim Demaille's patch to Bison; see
128166         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
128168 2003-04-14  Bruno Haible  <bruno@clisp.org>
128170         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
128172 2003-04-11  Jim Meyering  <jim@meyering.net>
128174         Merge changes from Coreutils.
128176         2003-03-22  Jim Meyering  <jim@meyering.net>
128178         * lib/strftime.c (widen): Cast alloca return value to proper type.
128180         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
128182         From GNU libc.
128183         * lib/strftime.c (my_strftime): Handle very large width
128184         specifications for numeric values correctly.  Improve checks for
128185         overflow.
128187         2003-01-19  Jim Meyering  <jim@meyering.net>
128189         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
128190         definitions.
128191         (nl_get_alt_digit) [! defined my_strftime]: Define.
128192         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
128193         _nl_get_alt_digit and _nl_get_walt_digit.
128195         * lib/strftime.c (my_strftime): Merge in locale-related changes from
128196         libc. These changes have no effect outside of _LIBC.
128198 2003-04-10  Bruno Haible  <bruno@clisp.org>
128200         * modules/findprog: New file.
128201         * MODULES.html.sh (func_all_modules): Add it.
128203 2003-04-10  Bruno Haible  <bruno@clisp.org>
128205         * m4/findprog.m4: New file.
128206         * m4/eaccess.m4: New file.
128208 2003-04-10  Bruno Haible  <bruno@clisp.org>
128210         * lib/findprog.h: New file, from GNU gettext.
128211         * lib/findprog.c: New file, from GNU gettext.
128213 2003-04-05  Jim Meyering  <jim@meyering.net>
128215         Merge changes from Coreutils.
128217         * lib/exclude.h (PARAMS): Remove definition and uses.
128218         * lib/exclude.c: Remove uses of `PARAMS'.
128220         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
128221         Add test-cases for DOS filenames. Declare program_name.
128222         (main): Set up program_name.  Patch by Rich Dawe.
128224         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128225         error from mntctl.
128226         Use mntctl's return value to drive the entry-processing loop, since
128227         we can't rely on the value of the vmt_length member in the last
128228         entry.  On some systems doing so could result in exhausting
128229         virtual memory.  Based in part on a patch from Mike Jetzer.
128231 2003-04-04  Bruno Haible  <bruno@clisp.org>
128233         * modules/linebreak: New file.
128234         * MODULES.html.sh (func_all_modules): Add it.
128236 2003-04-04  Bruno Haible  <bruno@clisp.org>
128238         * m4/linebreak.m4: New file.
128240 2003-04-04  Bruno Haible  <bruno@clisp.org>
128242         * lib/linebreak.h: New file, from GNU gettext.
128243         * lib/linebreak.c: New file, from GNU gettext with slight
128244         modifications.
128245         * lib/lbrkprop.h: New file, from GNU gettext.
128247 2003-04-03  Bruno Haible  <bruno@clisp.org>
128249         * modules/utf8-ucs4: New file.
128250         * modules/utf16-ucs4: New file.
128251         * modules/ucs4-utf8: New file.
128252         * modules/ucs4-utf16: New file.
128253         * MODULES.html.sh (func_all_modules): Add them.
128255 2003-04-03  Bruno Haible  <bruno@clisp.org>
128257         * m4/utf-ucs4.m4: New file.
128258         * m4/ucs4-utf.m4: New file.
128260 2003-04-03  Bruno Haible  <bruno@clisp.org>
128262         * lib/utf8-ucs4.h: New file, from GNU gettext.
128263         * lib/utf16-ucs4.h: New file, from GNU gettext.
128264         * lib/ucs4-utf8.h: New file, from GNU gettext.
128265         * lib/ucs4-utf16.h: New file, from GNU gettext.
128267 2003-04-02  Bruno Haible  <bruno@clisp.org>
128269         * modules/binary-io: New file.
128270         * MODULES.html.sh (func_all_modules): Add it.
128272 2003-04-02  Bruno Haible  <bruno@clisp.org>
128274         * lib/binary-io.h: New file, from GNU gettext.
128276 2003-04-01  Bruno Haible  <bruno@clisp.org>
128278         * modules/pathname: New file.
128279         * MODULES.html.sh (func_all_modules): Add it.
128281 2003-04-01  Bruno Haible  <bruno@clisp.org>
128283         * lib/pathname.h: New file, from GNU gettext.
128284         * lib/concatpath.c: New file, from GNU gettext.
128286 2003-03-30  Bruno Haible  <bruno@clisp.org>
128288         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
128290 2003-03-30  Bruno Haible  <bruno@clisp.org>
128292         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
128293         function chown() doesn't exist.
128295 2003-03-28  Bruno Haible  <bruno@clisp.org>
128297         * modules/copy-file: New file.
128298         * MODULES.html.sh (func_all_modules): Add it.
128300 2003-03-28  Bruno Haible  <bruno@clisp.org>
128302         * m4/copy-file.m4: New file.
128304 2003-03-28  Bruno Haible  <bruno@clisp.org>
128306         * lib/copy-file.h: New file, from GNU gettext.
128307         * lib/copy-file.c: New file, from GNU gettext.
128309 2003-03-18  Jim Meyering  <jim@meyering.net>
128311         * lib/quote.c (quote_n): Fix typo in comment.
128313 2003-03-18  Bruno Haible  <bruno@clisp.org>
128315         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
128316         checking.
128317         * m4/onceonly_2_57.m4: Likewise.
128319 2003-03-17  Bruno Haible  <bruno@clisp.org>
128321         * m4/onceonly.m4: Require autoconf 2.54 or newer.
128322         (m4_quote): Remove macro.
128323         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
128325 2003-03-14  Jim Meyering  <jim@meyering.net>
128327         Merge changes from Coreutils.
128328         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
128329         to be const, in order to avoid warnings.
128330         (obstack_room): Likewise.
128331         (obstack_empty_p): Likewise.
128333 2003-03-14  Bruno Haible  <bruno@clisp.org>
128335         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
128336         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
128338 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128340         Merge changes from Bison.
128341         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
128342         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
128343         when compiling Bison 1.875's `bitset bset = obstack_alloc
128344         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
128345         * lib/hash.c: Include <stdbool.h> unconditionally.
128347 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128349         * m4/onceonly.m4 (m4_quote): New macro.
128350         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
128351         Quote AC_FOREACH variable-expansions properly.
128353 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128355         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
128357 2003-03-09  Paul Eggert  <eggert@twinsun.com>
128359         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
128360         Reported by Bruce Becker; see:
128361         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
128363 2003-03-03  Paul Eggert  <eggert@twinsun.com>
128364             Bruno Haible  <bruno@clisp.org>
128366         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
128367         Reported by John Hughes, see
128368         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
128370 2003-02-20  Bruno Haible  <bruno@clisp.org>
128372         * MODULES.html.sh (func_all_modules): Add poll.
128374 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128376         * modules/poll: New file.
128378 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128380         * lib/poll_.h: New file.
128381         * lib/poll.c: New file.
128383 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128385         * m4/poll.m4: New file.
128387 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128389         * modules/mathl: New file.
128391 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128393         * lib/mathl.h: New file.
128394         * lib/acosl.c: New file.
128395         * lib/asinl.c: New file.
128396         * lib/atanl.c: New file.
128397         * lib/ceill.c: New file.
128398         * lib/cosl.c: New file.
128399         * lib/expl.c: New file.
128400         * lib/floorl.c: New file.
128401         * lib/frexpl.c: New file.
128402         * lib/ldexpl.c: New file.
128403         * lib/logl.c: New file.
128404         * lib/sincosl.c: New file.
128405         * lib/sinl.c: New file.
128406         * lib/sqrtl.c: New file.
128407         * lib/tanl.c: New file.
128408         * lib/trigl.c: New file.
128409         * lib/trigl.h: New file.
128411 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128413         * m4/mathl.m4: New file.
128415 2003-02-18  Bruno Haible  <bruno@clisp.org>
128417         * MODULES.html.sh (func_all_modules): Add mathl.
128419 2003-02-17  Bruno Haible  <bruno@clisp.org>
128421         * modules/mkdtemp: New module.
128422         * MODULES.html.sh (func_all_modules): Add it.
128424 2003-02-17  Bruno Haible  <bruno@clisp.org>
128426         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
128428 2003-02-17  Bruno Haible  <bruno@clisp.org>
128430         * lib/mkdtemp.h: New file, from GNU gettext.
128431         * lib/mkdtemp.c: New file, from GNU gettext.
128433 2003-02-02  Jim Meyering  <jim@meyering.net>
128435         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
128436         e.g. glibc-2.2.93.
128438 2003-01-31  Bruno Haible  <bruno@clisp.org>
128440         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
128441         'rpl_rename'.
128442         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
128443         'rpl_strnlen'.
128444         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
128445         'rpl_strtod'.
128446         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
128447         'rpl_utime'.
128449 2003-01-31  Bruno Haible  <bruno@clisp.org>
128451         * lib/rename.c: #undef rename before defining rpl_rename.
128452         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
128454 2003-01-30  Bruno Haible  <bruno@clisp.org>
128456         * modules/vasnprintf, modules/vasprintf: New modules.
128457         * MODULES.html.sh (func_all_modules): Add them.
128459 2003-01-30  Bruno Haible  <bruno@clisp.org>
128461         * m4/signed.m4: New file, from GNU gettext.
128462         * m4/longdouble.m4: New file, from GNU gettext.
128463         * m4/wchar_t.m4: New file, from GNU gettext.
128464         * m4/wint_t.m4: New file, from GNU gettext.
128465         * m4/vasnprintf.m4: New file.
128466         * m4/vasprintf.m4: New file.
128468 2003-01-30  Bruno Haible  <bruno@clisp.org>
128470         * lib/printf-args.h: New file, from GNU gettext.
128471         * lib/printf-args.c: New file, from GNU gettext.
128472         * lib/printf-parse.h: New file, from GNU gettext.
128473         * lib/printf-parse.c: New file, from GNU gettext.
128474         * lib/vasnprintf.h: New file, from GNU gettext.
128475         * lib/vasnprintf.c: New file, from GNU gettext.
128476         * lib/asnprintf.c: New file, from GNU gettext.
128477         * lib/vasprintf.h: New file, from GNU gettext with modifications.
128478         * lib/vasprintf.c: New file, from GNU gettext.
128479         * lib/asprintf.c: New file, from GNU gettext.
128481 2003-01-29  Bruno Haible  <bruno@clisp.org>
128483         * modules/stpncpy: New module.
128484         * MODULES.html.sh (func_all_modules): Add it.
128486 2003-01-29  Bruno Haible  <bruno@clisp.org>
128488         * m4/stpncpy.m4: New file.
128490 2003-01-29  Bruno Haible  <bruno@clisp.org>
128492         * lib/stpncpy.h: New file, from GNU gettext with modifications.
128493         * lib/stpncpy.c: New file, from GNU gettext with modifications.
128495 2003-01-28  Bruno Haible  <bruno@clisp.org>
128497         * modules/c-ctype: New module.
128498         * MODULES.html.sh (func_all_modules): Add it.
128500 2003-01-28  Bruno Haible  <bruno@clisp.org>
128502         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
128503         Paul Eggert.
128504         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
128505         Paul Eggert.
128507 2003-01-27  Bruno Haible  <bruno@clisp.org>
128509         * modules/xsetenv: New module.
128510         * MODULES.html.sh (func_all_modules): Add it.
128512 2003-01-27  Bruno Haible  <bruno@clisp.org>
128514         * lib/xsetenv.h: New file, from GNU gettext.
128515         * lib/xsetenv.c: New file, from GNU gettext.
128517 2003-01-23  Jim Meyering  <jim@meyering.net>
128519         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
128520         from working on systems without dirfd (at least Irix and OSF1/Tru64).
128522 2003-01-23  Bruno Haible  <bruno@clisp.org>
128524         * modules/minmax: New module.
128525         * MODULES.html.sh (func_all_modules): Add it.
128527 2003-01-23  Bruno Haible  <bruno@clisp.org>
128529         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
128530         Eggert.
128532 2003-01-22  Bruno Haible  <bruno@clisp.org>
128534         * modules/exit: New module.
128535         * MODULES.html.sh (func_all_modules): Add it.
128537 2003-01-22  Bruno Haible  <bruno@clisp.org>
128539         * lib/exit.h: New file, from GNU gettext.
128541 2003-01-19  Bruno Haible  <bruno@clisp.org>
128543         * gnulib-tool: Recognize option --extract-maintainer.
128544         (func_get_maintainer): New function.
128545         * modules/*: Add Maintainer entry.
128547 2003-01-16  Jim Meyering  <jim@meyering.net>
128549         * m4/regex.m4: The `regex' struct is both input and output.
128550         Initialize it before each use.  Patch by Tim Waugh.
128552 2003-01-16  Bruno Haible  <bruno@clisp.org>
128554         * MODULES.html.sh: Add a table of contents. Add the module name as
128555         leftmost column. Add hyperlinks.
128557 2003-01-15  Bruno Haible  <bruno@clisp.org>
128559         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
128561 2003-01-15  Bruno Haible  <bruno@clisp.org>
128563         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
128564         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
128565         suffix.
128567 2003-01-15  Bruno Haible  <bruno@clisp.org>
128569         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
128571 2003-01-15  Bruno Haible  <bruno@clisp.org>
128573         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
128574         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
128576 2003-01-14  Jim Meyering  <jim@meyering.net>
128578         * lib/same.c (same_name): Tweak a comment.
128580 2003-01-14  Bruno Haible  <bruno@clisp.org>
128582         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
128583         when a string comparison is sufficient.
128585 2003-01-14  Bruno Haible  <bruno@clisp.org>
128587         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
128588         'unsigned int'.
128590 2003-01-14  Bruno Haible  <bruno@clisp.org>
128592         * lib/hash-pjw.c: Add comment about low quality of this function.
128594 2003-01-13  Bruno Haible  <bruno@clisp.org>
128596         * modules/stpcpy: Distribute lib/stpcpy.h.
128597         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
128599 2003-01-13  Bruno Haible  <bruno@clisp.org>
128601         * modules/*: Add a description.
128602         * modules/strpbrk: Fix Makefile.am snippet.
128603         * modules/strtoimax: Fix dependencies.
128604         * modules/strtoumax: Likewise.
128606 2003-01-13  Bruno Haible  <bruno@clisp.org>
128608         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
128609         * modules/alloca (Makefile.am): All object files depend on alloca.h.
128610         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
128612 2003-01-13  Bruno Haible  <bruno@clisp.org>
128614         * gnulib-tool (func_create_testdir): Store config/* files in the main
128615         directory.
128616         * config.rpath: Move to ...
128617         * config/config.rpath: ... here.
128618         * modules/gettext: Contains config/config.rpath, not config.rpath.
128619         * modules/iconv: Likewise.
128621 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128623         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128624         to avoid collisions with libcurses and libreadline.
128626         * m4/getstr.m4: Remove.
128627         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
128629 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128631         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128632         to avoid collisions with libcurses and libreadline.
128634         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
128635         * lib/getstr.h, getstr.c: Remove.
128636         * lib/getline.c: Include "getline.h", to check interface.
128637         Move body of old getstr.c here: this defines MIN_CHUNK and
128638         declares getdelim2, which is renamed from getstr.
128639         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
128641         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
128642         All uses changed.
128643         * lib/linebuffer.h: Likewise.
128644         (readline): Remove backward-compatibility macro.
128646 2003-01-12  Paul Eggert  <eggert@twinsun.com>
128648         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
128649         to avoid collisions with libcurses and libreadline.
128650         * getstr: Remove.
128651         * MODULES.html.sh: Remove getstr.
128652         * modules/getline: Depend on unlocked-io, not getstr.
128654 2003-01-12  Jim Meyering  <jim@meyering.net>
128656         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
128658 2003-01-10  Bruno Haible  <bruno@clisp.org>
128660         * modules/alloca: Change Makefile.am requirements. Simplify Include
128661         requirements. Add lib/alloca_.h to file list.
128663 2003-01-10  Bruno Haible  <bruno@clisp.org>
128665         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
128667 2003-01-10  Bruno Haible  <bruno@clisp.org>
128669         * lib/alloca_.h: New file.
128670         * lib/getdate.y: Unconditionally include alloca.h.
128671         * lib/makepath.c: Likewise.
128672         * lib/setenv.c: Likewise.
128673         * lib/userspec.c: Likewise.
128675 2003-01-09  Karl Berry  <karl@gnu.org>
128677         * MODULES.html.sh: include `dirname $0` in PATH, to find
128678         gnulib-tool.
128680 2003-01-09  Bruno Haible  <bruno@clisp.org>
128682         * modules/stdbool: Change configure.ac, Makefile.am requirements.
128683         Simplify Include requirements. Add lib/stdbool.h.in to file list.
128685 2003-01-09  Bruno Haible  <bruno@clisp.org>
128687         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
128689 2003-01-09  Bruno Haible  <bruno@clisp.org>
128691         * lib/stdbool.h.in: New file.
128693 2003-01-09  Bruno Haible  <bruno@clisp.org>
128695         * gnulib-tool (func_all_modules): Ignore files ending in ~.
128696         * MODULES.html.sh: Likewise.
128698 2003-01-08  Jim Meyering  <jim@meyering.net>
128700         * lib/full-write.c: Undefine and define-away `const' after inclusion
128701         of errno.h, not before.  Suggestion from Bruno Haible.
128703 2003-01-08  Bruno Haible  <bruno@clisp.org>
128705         * modules/full-read: Depend on full-write.
128707 2003-01-08  Bruno Haible  <bruno@clisp.org>
128709         * lib/safe-read.c: Include specification header first, to ensure its
128710         selfcontainedness.
128711         * lib/full-write.c: Likewise.
128713 2003-01-07  Jim Meyering  <jim@meyering.net>
128715         * lib/full-write.c: Rework so that it may serve to define full_read,
128716         too.
128717         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
128719 2003-01-07  Bruno Haible  <bruno@clisp.org>
128721         * lib/strtoimax.c: Include <stdint.h> as an alternative to
128722         <inttypes.h>.
128723         * lib/xstrtol.h: Likewise.
128724         * lib/xstrtoimax.c: Likewise.
128725         * lib/xstrtoumax.c: Likewise.
128726         * lib/human.h: Likewise.
128728         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
128729         on systems that have <inttypes.h> but not <stdint.h>.
128731 2003-01-07  Bruno Haible  <bruno@clisp.org>
128733         * MODULES.html.sh: Add copyright notice.
128734         (missed_files): Omit CVS directory entries.
128735         (func_module): Make it work with sed-3.02.
128736         * MODULES.txt: Remove file.
128738 2003-01-06  Jim Meyering  <jim@meyering.net>
128740         * lib/version-etc.c: Update year in translatable copyright string.
128742 2003-01-03  Karl Berry  <karl@gnu.org>
128744         * config/config.{guess,sub}: update from prep.
128746 2003-01-02  Karl Berry  <karl@gnu.org>
128748         * doc/COPYING.DOC: belatedly updated to 1.2.
128750 2003-01-01  Karl Berry  <karl@gnu.org>
128752         * gnulib-tool (func_verify_module): report module name $module in
128753         error message, not $1.
128754         * gnulib-tool (create-testdir): don't complain if destdir couldn't
128755         be created, only if it doesn't exist.
128756         * gnulib-tool (last_checkin_date): don't expand the $Date here.
128758 2002-12-31  Paul Eggert  <eggert@twinsun.com>
128760         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
128762 2002-12-31  Paul Eggert  <eggert@twinsun.com>
128764         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
128765         memcmp if strcoll doesn't work.
128767 2002-12-31  Bruno Haible  <bruno@clisp.org>
128769         * lib/utime.c (utime_null): No need to call ftruncate if the file was
128770         nonempty.
128772 2002-12-31  Bruno Haible  <bruno@clisp.org>
128774         * lib/memcoll.c (STRCOLL): New macro.
128775         (memcoll): Use it.
128777 2002-12-31  Bruno Haible  <bruno@clisp.org>
128779         * lib/localcharset.h: New file.
128780         * lib/localcharset.c: Include it.
128781         * lib/unicodeio.c: Likewise.
128783 2002-12-31  Bruno Haible  <bruno@clisp.org>
128785         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
128786         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
128788 2002-12-31  Bruno Haible  <bruno@clisp.org>
128790         * lib/getline.h: Include <stddef.h>, for size_t.
128792         * lib/unicodeio.h: Include <stddef.h>, for size_t.
128793         * lib/unicodeio.c: Don't include <stddef.h>.
128795 2002-12-31  Bruno Haible  <bruno@clisp.org>
128797         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
128798         HAVE_TM_ZONE.
128800 2002-12-24  Karl Berry  <karl@gnu.org>
128802         * config/config.guess: update from prep.
128804 2002-12-24  Bruno Haible  <bruno@clisp.org>
128806         General infrasructure.
128807         * m4/README: Rewritten.
128808         * m4/onceonly.m4: New file.
128809         * m4/onceonly_2_57.m4: New file.
128811         Module atexit.
128812         * m4/atexit.m4: New file.
128814         Module strtod.
128815         * m4/strtod.m4: New file.
128817         Module strtol.
128818         * m4/strtol.m4: New file.
128820         Module strtoul.
128821         * m4/strtoul.m4: New file.
128823         Module memchr.
128824         * m4/memchr.m4: New file.
128826         Module memcmp.
128827         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
128828         (jm_FUNC_MEMCMP): Invoke it.
128830         Module memcpy.
128831         * m4/memcpy.m4: New file.
128833         Module memmove.
128834         * m4/memmove.m4: New file.
128836         Module memset.
128837         * m4/memset.m4: New file.
128839         Module strcspn.
128840         * m4/strcspn.m4: New file.
128842         Module strpbrk.
128843         * m4/strpbrk.m4: New file.
128845         Module strstr.
128846         * m4/strstr.m4: New file.
128848         Module strerror.
128849         * m4/strerror.m4: New file.
128851         Module mktime.
128852         * m4/mktime.m4: Renamed from jm-mktime.m4.
128853         (gl_PREREQ_MKTIME): New macro.
128854         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
128856         Module malloc.
128857         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
128858         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
128859         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
128861         Module realloc.
128862         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
128863         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
128864         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
128866         Module strftime.
128867         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
128868         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
128869         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
128870         gl_TM_GMTOFF.
128871         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
128873         Module xalloc.
128874         * m4/xalloc.m4: New file.
128876         Module alloca.
128877         * m4/alloca.m4: New file.
128879         Module putenv.
128880         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
128881         (jm_FUNC_PUTENV): Invoke it.
128883         Module setenv.
128884         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
128885         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
128886         when invoked twice.
128887         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
128888         gt_FUNC_SETENV.
128890         Module memrchr.
128891         * m4/memrchr.m4: New file.
128893         Module stpcpy.
128894         * m4/stpcpy.m4: New file.
128896         Module strcase.
128897         * m4/strcase.m4: New file.
128899         Module strdup.
128900         * m4/strdup.m4: New file.
128902         Module strnlen.
128903         * m4/strnlen.m4: New file.
128905         Module strndup.
128906         * m4/strndup.m4: New file.
128908         Module xstrtod.
128909         * m4/xstrtod.m4: New file.
128911         Module xstrtol.
128912         * m4/xstrtol.m4: New file.
128914         Module getdate.
128915         * m4/getdate.m4: New file.
128917         Module unlocked-io.
128918         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
128919         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
128920         * m4/jm-glibc-io.m4n: Remove file.
128922         Module long-options.
128923         * m4/long-options.m4: New file.
128925         Module md5.
128926         * m4/md5.m4: New file.
128928         Module sha.
128929         * m4/sha.m4: New file.
128931         Module getstr.
128932         * m4/getstr.m4: New file.
128934         Module getline.
128935         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
128936         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
128937         <sys/types.h>, for size_t. Use the function name gnu_getline, not
128938         simply getline. Infoke gl_PREREQ_GETLINE.
128940         Module obstack.
128941         * m4/obstack.m4: New file.
128943         Module hash.
128944         * m4/hash.m4: New file.
128946         Module readtokens.
128947         * m4/readtokens.m4: New file.
128949         Module strverscmp.
128950         * m4/strverscmp.m4: New file.
128952         Module stdbool.
128953         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
128954         OSF/1.
128956         Module strtoll.
128957         * m4/strtoll.m4: New file.
128959         Module strtoull.
128960         * m4/strtoull.m4: New file.
128962         Module strtoimax.
128963         * m4/strtoimax.m4: New file.
128965         Module strtoumax.
128966         * m4/strtoumax.m4: New file.
128968         Module xstrtoimax.
128969         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
128970         jm_AC_PREREQ_XSTRTOIMAX.
128971         Moved the strtol prerequisites to strtol.m4.
128972         Moved the strtoll prerequisites to strtoll.m4.
128973         Moved the strtoimax prerequisites to strtoimax.m4.
128975         Module xstrtoumax.
128976         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
128977         jm_AC_PREREQ_XSTRTOUMAX.
128978         Moved the strtoul prerequisites to strtoul.m4.
128979         Moved the strtoull prerequisites to strtoull.m4.
128980         Moved the strtoumax prerequisites to strtoumax.m4.
128982         Module chown.
128983         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
128984         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
128986         Module dup2.
128987         * m4/dup2.m4: New file.
128989         Module ftruncate.
128990         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
128991         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
128993         Module getgroups.
128994         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
128995         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
128997         Module gettimeofday.
128998         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
128999         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
129000         gl_PREREQ_GETTIMEOFDAY.
129002         Module mkdir.
129003         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
129004         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
129006         Module mkstemp.
129007         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
129008         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
129009         jm_AC_TYPE_UINTMAX_T.
129010         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
129012         Module stat.
129013         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
129014         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
129016         Module lstat.
129017         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
129018         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
129020         Module timespec.
129021         * m4/timespec.m4 (gl_TIMESPEC): New macro.
129022         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
129023         * m4/st_mtim.m4: Indentation.
129025         Module nanosleep.
129026         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
129027         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
129028         gl_PREREQ_NANOSLEEP.
129030         Module regex.
129031         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
129032         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
129033         (gl_REGEX): New macro.
129035         Module rename.
129036         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
129037         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
129039         Module rmdir.
129040         * m4/rmdir.m4: New file.
129042         Module utime.
129043         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
129044         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
129045         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
129047         Module dirname.
129048         * m4/dirname.m4: New file.
129050         Module getopt.
129051         * m4/getopt.m4: New file.
129053         Module unistd-safer.
129054         * m4/unistd-safer.m4: New file.
129056         Module fnmatch.
129057         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
129058         declaration.
129059         (gl_PREREQ_FNMATCH_EXTRA): New macro.
129060         (gl_FUNC_FNMATCH_POSIX): New macro.
129061         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
129062         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
129063         simply fnmatch.
129065         Module exclude.
129066         * m4/exclude.m4: New file.
129068         Module human.
129069         * m4/human.m4: New file.
129071         Module acl.
129072         * m4/acl.m4: Nop.
129074         Module backupfile.
129075         * m4/backupfile.m4: New file.
129076         * m4/d-ino.m4: Indentation.
129078         Module fsusage.
129079         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
129080         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
129081         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
129083         Module dirfd.
129084         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
129085         requirements.
129087         Module euidaccess.
129088         * m4/euidaccess.m4: New file.
129090         Module file-type.
129091         * m4/file-type.m4: New file.
129093         Module fileblocks.
129094         * m4/fileblocks.m4: New file.
129096         Module filemode.
129097         * m4/filemode.m4: New file.
129099         Module isdir.
129100         * m4/isdir.m4: New file.
129102         Module lchown.
129103         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
129104         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
129106         Module makepath.
129107         * m4/makepath.m4: New file.
129109         Module modechange.
129110         * m4/modechange.m4: New file.
129112         Module mountlist.
129113         * m4/mountlist.m4: New file.
129114         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
129115         Indentation.
129117         Module path-concat.
129118         * m4/path-concat.m4: New file.
129120         Module pathmax.
129121         * m4/pathmax.m4: New file.
129123         Module same.
129124         * m4/same.m4: New file.
129126         Module save-cwd.
129127         * m4/save-cwd.m4: New file.
129129         Module savedir.
129130         * m4/savedir.m4: New file.
129132         Module xgetcwd.
129133         * m4/xgetcwd.m4: New file.
129134         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
129136         Module xreadlink.
129137         * m4/xreadlink.m4: New file.
129139         Module safe-read.
129140         * m4/safe-read.m4: New file.
129142         Module safe-write.
129143         * m4/safe-write.m4: New file.
129145         Module closeout.
129146         * m4/closeout.m4: New file.
129148         Module stdio-safer.
129149         * m4/stdio-safer.m4: New file.
129151         Module getpass.
129152         * m4/getpass.m4: New file.
129154         Module getugroups.
129155         * m4/getugroups.m4: New file.
129157         Module group-member.
129158         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
129159         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
129161         Module idcache.
129162         * m4/idcache.m4: New file.
129164         Module userspec.
129165         * m4/userspec.m4: New file.
129167         Module gettime.
129168         * m4/clock_time.m4: New file.
129169         * m4/gettime.m4: New file.
129171         Module settime.
129172         * m4/settime.m4: New file.
129174         Module posixtm.
129175         * m4/posixtm.m4: New file.
129177         Module gethostname.
129178         * m4/gethostname.m4: New file.
129180         Module canon-host.
129181         * m4/canon-host.m4: New file.
129183         Module gettext.
129184         * m4/codeset.m4: New file, from gettext-0.11.5.
129185         * m4/gettext.m4: New file, from gettext-0.11.5.
129186         * m4/glibc21.m4: New file, from gettext-0.11.5.
129187         * m4/iconv.m4: New file, from gettext-0.11.5.
129188         * m4/intdiv0.m4: New file, from gettext-0.11.5.
129189         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
129190         * m4/inttypes.m4: New file, from gettext-0.11.5.
129191         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
129192         * m4/isc-posix.m4: New file, from gettext-0.11.5.
129193         * m4/lcmessage.m4: New file, from gettext-0.11.5.
129194         * m4/lib-ld.m4: New file, from gettext-0.11.5.
129195         * m4/lib-link.m4: New file, from gettext-0.11.5.
129196         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
129197         * m4/progtest.m4: New file, from gettext-0.11.5.
129198         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
129199         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
129200         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
129202         Module localcharset.
129203         * m4/localcharset.m4: New file.
129205         Module hard-locale.
129206         * m4/hard-locale.m4: New file.
129208         Module mbswidth.
129209         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
129210         onceonly macros.
129211         * m4/mbrtowc.m4: Add comment.
129213         Module memcasecmp.
129214         * m4/memcasecmp.m4: New file.
129216         Module memcoll.
129217         * m4/memcoll.m4: New file.
129219         Module unicodeio.
129220         * m4/unicodeio.m4: New file.
129222         Module rpmatch.
129223         * m4/rpmatch.m4: New file.
129225         Module yesno.
129226         * m4/yesno.m4: New file.
129228         Module exitfail.
129229         * m4/exitfail.m4: New file.
129231         Module c-stack.
129232         * m4/c-stack.m4 (gl_C_STACK): New macro.
129233         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
129235         Module error.
129236         * m4/error.m4 (gl_ERROR): New macro.
129237         (jm_PREREQ_ERROR): Use onceonly macros.
129239         Module fatal.
129240         * m4/fatal.m4: New file.
129242         Module getloadavg.
129243         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
129244         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
129246         Module getpagesize.
129247         * m4/getpagesize.m4: New file.
129249         Module getusershell.
129250         * m4/getusershell.m4: New file.
129252         Module physmem.
129253         * m4/physmem.m4: New file.
129255         Module posixver.
129256         * m4/posixver.m4: New file.
129258         Module quotearg.
129259         * m4/quotearg.m4: New file.
129261         Module quote.
129262         * m4/quote.m4: New file.
129264         Module readutmp.
129265         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
129267         Module sig2str.
129268         * m4/sig2str.m4: New file.
129270         Other.
129271         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
129272         ulonglong.m4.
129273         * m4/intmax_t.m4: New file.
129274         * m4/d-type.m4: Indentation.
129275         * m4/jm-macros.m4: Update.
129276         * m4/prereq.m4 (jm_PREREQ): Update.
129277         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
129278         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
129279         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
129280         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
129281         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
129282         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
129283         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
129284         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
129285         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
129286         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
129287         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
129288         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
129289         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
129290         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
129291         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
129292         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
129293         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
129294         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
129295         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
129297 2002-12-24  Bruno Haible  <bruno@clisp.org>
129299         * MODULES.txt: Update according to m4/ changes.
129301         Module gettext.
129302         * config.rpath: New file, from gettext-0.11.5.
129304         * modules/*: New module descriptions.
129305         * gnulib-tool: New file.
129306         * MODULES.html.sh: New file.
129308 2002-12-21  Karl Berry  <karl@gnu.org>
129310         * doc/fdl.texi: update to version 1.2.
129312 2002-12-19  Karl Berry  <karl@gnu.org>
129314         * config/config.guess: update from prep.
129316 2002-12-18  Bruno Haible  <bruno@clisp.org>
129318         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
129319         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
129321 2002-12-17  Bruno Haible  <bruno@clisp.org>
129323         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
129324         stdlib.h, string.h.
129326 2002-12-17  Bruno Haible  <bruno@clisp.org>
129328         * lib/canon-host.c (strdup): Remove unused declaration.
129330         * lib/fsusage.c: Include full_read.h.
129331         (get_fs_usage): Use full_read instead of safe_read.
129333         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
129335 2002-12-12  Karl Berry  <karl@gnu.org>
129337         * config/config.guess: update from prep.
129339 2002-12-11  Bruno Haible  <bruno@clisp.org>
129341         * m4/setenv.m4: New file, from gettext-0.11.5.
129343 2002-12-11  Bruno Haible  <bruno@clisp.org>
129345         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
129346         not unsetenv().
129347         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
129348         modifications:
129350         2002-12-11  Bruno Haible  <bruno@clisp.org>
129352                 * setenv.c (alloca): Fall back to malloc.
129353                 (freea): New macro.
129354                 (setenv): Use freea() to free memory allocated with alloca().
129356         2002-11-13  Bruno Haible  <bruno@clisp.org>
129358                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
129359                 function declarations.
129360                 * unsetenv.c (unsetenv): Likewise.
129362         2002-03-04  Bruno Haible  <bruno@clisp.org>
129364                 Portability to AIX 4.3.3.
129365                 * unsetenv.c: New file, extracted from setenv.c.
129366                 * setenv.c: Move the unsetenv() function to unsetenv.c.
129368         2001-12-20  Bruno Haible  <bruno@clisp.org>
129370                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
129371                 use malloc instead. For SunOS 4.
129373         2001-12-11  Bruno Haible  <bruno@clisp.org>
129375                 * setenv.c: Declare alloca.
129376                 (compar_fn_t): New typedef.
129377                 (KNOWN_VALUE, STORE_VALUE): Use it.
129379         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
129380         setenv.h.
129382 2002-12-10  Paul Eggert  <eggert@twinsun.com>
129384         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
129385         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
129386         Choose values that are less likely to collide with system fnmatch
129387         options.
129388         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
129389         defined (e.g., a pure POSIX system).
129390         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
129391         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
129393 2002-12-06  Paul Eggert  <eggert@twinsun.com>
129395         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
129396         a pain in practice to deal with generated m4 files.  This change
129397         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
129399         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
129400         and jm-glibc-io.m4, as they are no longer a special case.
129401         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
129402         kludge and the auto-generation stuff.  Check only whether the
129403         functions are declared, not whether they exist, since older hosts
129404         that don't declare the functions can't use the optimization anyway.
129406 2002-12-06  Jim Meyering  <jim@meyering.net>
129408         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
129410         Merge in changes from libc's misc/error.c, in preparation
129411         for the merge of gnulib's changes back into libc.
129413         * lib/error.c (_): Define only if not already defined.
129414         Move definition to follow all #include directives.
129415         Include unlocked-io.h only if !_LIBC.
129416         [_LIBC]: Include <libio/libioP.h>.
129417         [USE_IN_LIBIO]: Include <libio/iolibio.h>
129418         (fflush): Tweak definition to use INTUSE.
129419         (putc): Define.
129421 2002-12-05  Paul Eggert  <eggert@twinsun.com>
129423         * lib/alloca.c [defined emacs]: Include "lisp.h".
129424         (xalloc_die) [defined emacs]: New macro.
129425         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
129426         [! defined emacs]: Include <xalloc.h>.
129427         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
129428         (pointer): Typedef to POINTER_TYPE *.
129429         (malloc): Remove decl; we now always use xmalloc.
129430         (alloca): Use old-style definition, since Emacs needs this.
129431         Check for arithmetic overflow when computing combined size.
129433 2002-12-04  Paul Eggert  <eggert@twinsun.com>
129435         Do not generate unlocked-io.h automatically, since it's easier to
129436         maintain it by hand.
129438         * lib/unlocked-io.h: New file, from GNU diffutils,
129439         but with proper copyright notice and attribution.
129440         * lib/gen-uio: Remove.
129441         * lib/Makefile.am: Add copyright notice.
129442         (libfetish_a_SOURCES): Add unlocked-io.h.
129443         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
129444         (DISTCLEANFILES, io_functions): Remove macros.
129445         (EXTRA_DIST): Remove gen_uio.
129446         (unlocked-io.h): Remove rule.
129448 2002-12-04  Jim Meyering  <jim@meyering.net>
129450         Reflect the fact that stat.c and lstat.c are no longer generated.
129451         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
129452         (DISTCLEANFILES): Likewise.
129453         (EXTRA_DIST): Likewise.
129454         (all_local): Don't depend on stat.c or lstat.c.
129455         (stat.c, lstat.c): Remove rules.
129456         (EXTRA_DIST): Remove xstat.in.
129458         * lib/xstat.in: Remove file.  Contents moved into stat.c.
129459         * lib/stat.c: New file.  Contents mostly from xstat.in.
129460         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
129461         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
129463         * lib/safe-read.c: Rework so that it may serve to define safe_write,
129464         too.
129465         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
129467 2002-12-03  Jim Meyering  <jim@meyering.net>
129469         * lib/safe-read.c, safe-write.c: Change variable names and comments,
129470         but not semantics, to minimize the differences between these two files.
129471         (safe_read): Change comment to mention SAFE_READ_ERROR.
129473         * lib/safe-read.c (IS_EINTR): Define.
129474         (safe_read): Use IS_EINTR in place of in-function cpp directives.
129476 2002-12-02  Jim Meyering  <jim@meyering.net>
129478         * lib/safe-read.c (EINTR): Define.
129479         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
129480         (INT_MAX): Provide fallback.
129481         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
129483         * lib/safe-read.h (SAFE_READ_ERROR): Define.
129485 2002-12-02  Bruno Haible  <bruno@clisp.org>
129487         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
129488         Define, taken from safe-read.c.
129489         (INT_MAX): Provide fallback.
129490         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
129491         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
129493         * lib/safe-read.c (EINTR): Remove definition.
129494         (safe_read): Don't use EINTR if it is absent.
129496 2002-12-01  Jim Meyering  <jim@meyering.net>
129498         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
129499         zero.
129500         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
129502 2002-11-27  Paul Eggert  <eggert@twinsun.com>
129504         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
129505         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
129506         with `if (! (value < limit)) abort ();', for readability.
129508 2002-11-26  Karl Berry  <karl@gnu.org>
129510         * lib/strdup.c: copy from libc again, with jim's ok.
129511         * lib/.cppi-disable: re-add strdup.c
129513 2002-11-25  Karl Berry  <karl@gnu.org>
129515         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
129516         instead of "strtol.c".
129518 2002-11-25  Karl Berry  <karl@gnu.org>
129520         * config/install-sh: update from automake for variable quoting, $0 in
129521         error msgs, etc.
129523         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
129524         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
129525         entry.
129527 2002-11-25  Jim Meyering  <jim@meyering.net>
129529         * lib/mktime.c: Sync from libc, now that it has the latest fix.
129531 2002-11-24  Karl Berry  <karl@gnu.org>
129533         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
129534         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
129536 2002-11-24  Jim Meyering  <jim@meyering.net>
129538         Update from coreutils:
129540         * lib/mktime.c: Merge in changes from libc.
129542         Avoid a link-time failure on some Linux systems.
129543         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
129544         (otherwise).
129545         (__mon_yday): Declare with the STATIC attribute.
129546         (__mktime_internal): Likewise.
129547         Based on a report from Greg Schafer.
129549 2002-11-23  Jim Meyering  <jim@meyering.net>
129551         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
129552         Use `unsigned', not `int', as type of index.
129554         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
129556         * lib/fsusage.c: Remove unneeded parentheses around operands of
129557         `defined'.
129559 2002-11-22  Paul Eggert  <eggert@twinsun.com>
129561         * lib/quotearg.h: Allow multiple inclusion by surrounding with
129562         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
129563         so that we can be included first.
129564         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
129565         * lib/quotearg.c: Include quotearg.h immediately after config.h.
129566         No need to include stddef.h or sys/types.h any more.
129567         Surround local include files with "", not "<>".
129568         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
129569         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
129570         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
129571         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
129572         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
129573         (ISPRINT): Remove; no longer needed now that we assume C89.
129575         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
129576         Preserve errno.
129578         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
129579         quotearg_char): Use SIZE_MAX rather than
129580         (size_t) -1 when we are talking about "infinity".
129582         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
129584 2002-11-22  Paul Eggert  <eggert@twinsun.com>
129586         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
129587         hint that one should use `if (! x) abort ();' rather than `assert
129588         (x);', and anyway it's one less thing to worry about configuring.
129589         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
129590         hash_rehash, hash_insert): Use abort rather than assert.
129592 2002-11-22  Bruno Haible  <bruno@clisp.org>
129594         * lib/safe-read.h: Assume C89. Add comments.
129595         (safe_read): Change return type to size_t.
129596         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
129597         byte counts > SSIZE_MAX correctly.
129598         * lib/safe-write.h: New file.
129599         * lib/safe-write.c: New file.
129600         * lib/full-read.h: New file.
129601         * lib/full-read.c: New file.
129602         * lib/full-write.h: Assume C89. Add comments.
129603         * lib/full-write.c: Include safe-write.h.
129604         (full_write): Rewritten to use safe_write.
129605         Suggested by Jim Meyering and Paul Eggert.
129607 2002-11-21  Jim Meyering  <jim@meyering.net>
129609         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
129611         Merge in changes from the coreutils.
129613         2002-09-25  Paul Eggert  <eggert@twinsun.com>
129614         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
129615         <stdint.h>.
129616         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
129617         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
129618         int.  Work more efficiently if X is the same width as uintmax_t.
129619         Do not compare X to -1, to avoid bogus compiler warning.
129620         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
129621         Don't assume that f_frsize and f_bsize are the same type.
129623         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
129624         warning on FreeBSD.
129626         * lib/makepath.c (make_path): Restore umask *before* creating the final
129627         component.
129628         (make_path): Minor reformatting.
129630         * lib/xmalloc.c: Adjust to work with new autoconf macros,
129631         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
129632         HAVE_MALLOC/HAVE_REALLOC.
129634         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
129635         dummy ones.  At least on GNU/Linux systems, `auto' means something
129636         else.
129637         From Michael Stone.
129639 2002-11-21  Bruno Haible  <bruno@clisp.org>
129641         Remove case insensitive option matching.
129642         * lib/argmatch.h (argcasematch): Remove declaration.
129643         (ARGCASEMATCH): Remove macro.
129644         (__xargmatch_internal): Remove case_sensitive argument.
129645         (XARGMATCH): Update.
129646         (XARGCASEMATCH): Remove macro.
129647         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
129648         case_sensitive argument.
129649         (argcasematch): Remove function.
129650         (__xargmatch_internal): Remove case_sensitive argument.
129651         (main): Use XARGMATCH instead of XARGCASEMATCH.
129653         * lib/xmalloc.c: Change compile-time error message. Add comment about
129654         required autoconf version.
129656 2002-11-20  Paul Eggert  <eggert@twinsun.com>
129658         Merge argmatch cleanups from Bison.  Assume C89.
129660         * lib/argmatch.c: Include config.h here, not in argmatch.h.
129661         Include stdlib.h, for EXIT_FAILURE.
129662         Always include <string.h>, since we assume C89.
129663         (EXIT_FAILURE): Remove pre-C89 bug workaround.
129664         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
129665         Include <stddef.h> instead, since it's all we need for size_t.
129666         (PARAMS): Remove.  All uses removed.
129667         (ARRAY_CARDINALITY): Do not bother to #undef.
129668         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
129669         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
129670         Remove unnecessary parentheses.
129671         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
129672         Insert necessary parentheses.
129673         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
129674         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
129676 2002-11-19  Bruno Haible  <bruno@clisp.org>
129678         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
129679         * lib/mbswidth.h: Include <stddef.h>, for size_t.
129681         * lib/mbswidth.h (PARAMS): Remove macro.
129682         (mbswidth, mbsnwidth): Use ANSI C function declarations.
129683         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
129685         * lib/gcd.h (PARAMS): Remove macro.
129686         (gcd): Use ANSI C function declarations.
129687         * lib/gcd.c (gcd): Likewise.
129689 2002-11-15  Bruno Haible  <bruno@clisp.org>
129691         * lib/strcspn.c: Include <stddef.h>.
129692         (strcspn): Use ANSI C function declaration. Change return type to
129693         size_t. Use NULL.
129694         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
129695         (strpbrk): Use NULL.
129696         * lib/strpbrk.h (PARAMS): Remove macro.
129697         (strpbrk): Use ANSI C function declaration.
129698         * lib/strstr.c: Don't include <sys/types.h>.
129699         * lib/strstr.h (PARAMS): Remove macro.
129700         (strstr): Use ANSI C function declarations.
129702 2002-11-14  Karl Berry  <karl@gnu.org>
129704         * config/mkinstalldirs: `do' on separate line, instead of
129705         `for var; do'.
129707 2002-11-06  Bruno Haible  <bruno@clisp.org>
129709         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
129710         * lib/gcd.c (gcd): Likewise.
129712 2002-11-05  Bruno Haible  <bruno@clisp.org>
129714         * lib/gcd.h: New file, from gettext-0.11.5.
129715         * lib/gcd.c: New file, from gettext-0.11.5.
129717 2002-11-05  Bruno Haible  <bruno@clisp.org>
129719         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129720         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129721         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129722         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
129724         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
129725         <libintl.h>.
129726         * lib/makepath.c: Include gettext.h instead of <locale.h> and
129727         <libintl.h>.
129729         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
129730         * lib/human.c: Include gettext.h instead of <libintl.h>.
129731         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
129732         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
129733         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
129734         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
129735         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
129736         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
129737         (textdomain): Remove definition.
129738         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
129740         * lib/long-options.c: Remove include of <libintl.h> and definition of
129741         _.
129742         * lib/same.c: Remove include of <libintl.h> and definition of _.
129744 2002-11-04  Owen Taylor  <otaylor@redhat.com>
129746         * lib/config.charset: A few additions for Solaris.
129748 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
129750         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
129751         * lib/localcharset.c (locale_charset): Declare as extern "C".
129753 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
129755         * lib/config.charset: msdos in uk_UA uses CP1125.
129757 2002-11-04  Bruno Haible  <bruno@clisp.org>
129759         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
129760         * lib/strcase.h: New file, from GNU gettext-0.11.5.
129761         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
129762         * lib/strstr.h: New file, from GNU gettext-0.11.5.
129763         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
129765 2002-11-04  Bruno Haible  <bruno@clisp.org>
129767         * lib/localcharset.c (locale_charset): Don't return an empty string.
129769 2002-11-04  Bruno Haible  <bruno@clisp.org>
129771         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
129772         aliases.
129774 2002-11-04  Bruno Haible  <bruno@clisp.org>
129776         * lib/config.charset: Update for newest glibc. Add canonical names
129777         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
129779 2002-11-04  Bruno Haible  <bruno@clisp.org>
129781         * lib/config.charset: Add support for NetBSD.
129783 2002-11-04  Bruno Haible  <bruno@clisp.org>
129785         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
129787 2002-11-01  Bruno Haible  <bruno@clisp.org>
129789         * configure.in: Add AC_CONFIG_AUX_DIR call.
129790         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
129791         test/Makefile.
129792         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
129794 2002-09-28  Karl Berry  <karl@gnu.org>
129796         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
129797         installed automake until the next release, since changes have been
129798         made.
129800 2002-09-25  Karl Berry  <karl@gnu.org>
129802         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
129803         * lib/getopt*: copy from libc/posix.
129804         * lib/gettext.h: copy from gettext.
129805         * lib/.cppi-disable: add strdup.c, gettext.h.
129807 2002-09-25  Karl Berry  <karl@gnu.org>
129809         * config/srclist.txt: enable gettext.h check.
129810         * config/config.{guess,sub}: update from prep.
129811         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
129812                 from automake 1.6.3.
129813         See srclist*.
129815 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
129817         * regex.c (PATFETCH): Remove the translating fetch.
129818         (PATFETCH_RAW): Rename to PATFETCH.
129819         (set_image_of_range): New fun.
129820         (SET_RANGE_TABLE_WORK_AREA): Use it.
129821         (regex_compile): Don't translate the pattern chars so eagerly.
129822         Only do it when inserting an `exactn' bytecode or when handling
129823         a char-range.
129824         (mutually_exclusive_p): Avoid empty statement.
129826 2002-07-06  Jim Meyering  <meyering@lucent.com>
129828         * m4/README: Don't mention Makefile.am.in.
129829         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
129831 2002-07-01  Jim Meyering  <meyering@lucent.com>
129833         * lib/c-stack.c: Include sys/time.h.
129834         From Volker Borchert.
129836 2002-06-26  Paul Eggert  <eggert@twinsun.com>
129838         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
129840 2002-06-26  Paul Eggert  <eggert@twinsun.com>
129842         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
129843         New macro.  Use it uniformly instead of
129844         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
129845         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
129846         reported by Vin Shelton.
129848 2002-06-22  Paul Eggert  <eggert@twinsun.com>
129850         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
129851         Do not assume SA_SIGINFO behavior.
129852         Bug reported by Jim Meyering on NetBSD 1.5.2.
129854 2002-06-22  Jim Meyering  <meyering@lucent.com>
129856         * m4/c-stack.m4: New file, from diffutils-2.8.2.
129857         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
129859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
129860         now that configure.ac uses AC_GNU_SOURCE.
129861         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
129862         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
129864         Update to latest tools.  Suggestions from Paul Eggert.
129865         * m4/stdbool.m4: New file, from diffutils-2.8.2.
129866         * m4/gnu-source.m4: Update from diffutils-2.8.2.
129867         * m4/fnmatch.m4: Likewise.
129868         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
129869         to AC_HEADER_STDBOOL
129871 2002-06-22  Jim Meyering  <meyering@lucent.com>
129873         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
129874         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
129876 2002-06-22  Jim Meyering  <meyering@lucent.com>
129878         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
129880         * lib/exitfail.c, exitfail.h: Likewise.
129881         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
129883         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
129884         of fnmatch.h.
129885         (EXTRA_DIST): Add fnmatch_loop.c.
129886         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
129888         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
129889         * lib/fnmatch.c: Update from diffutils-2.8.2.
129890         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
129891         * lib/fnmatch.h: Remove file.
129893 2002-06-21  Jim Meyering  <meyering@lucent.com>
129895         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
129896         * m4/mbrtowc.m4: Likewise.
129898         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
129899         * m4/mbswidth.m4: Reflect name change:
129900         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
129901         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
129903         * m4/lib-link.m4: Update from gettext-0.11.2.
129904         * m4/gettext.m4: Likewise.
129906         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
129907         From Alfred M. Szmidt.
129909 2002-06-18  Paul Eggert  <eggert@twinsun.com>
129911         * lib/file-type.h: Report an error if neither S_ISREG nor
129912         S_IFREG is defined, instead of using a test specific to glibc
129913         2.2.  This should be safe, since POSIX requires S_ISREG and
129914         Unix Version 7 had S_IFREG.  We don't need to check for
129915         <sys/types.h> since we don't use any symbols that it defines.
129917 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
129919         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
129920         $@-t, so that each temporary file name is unique and valid in the first
129921         8 characters, for operation under DOS.
129923 2002-06-15  Paul Eggert  <eggert@twinsun.com>
129925         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
129927 2002-06-15  Jim Meyering  <meyering@lucent.com>
129929         Work even with DJGPP 2.03, which lacks support for symlinks.
129930         From Richard Dawe.
129931         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
129932         is defined.
129933         * lib/lchown.c (S_ISLNK): Likewise.
129935 2002-06-15  Jim Meyering  <meyering@lucent.com>
129937         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
129938         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
129939         have been included before this file.
129941 2002-06-14  Jim Meyering  <meyering@lucent.com>
129943         * lib/file-type.h: Use the version from diffutils-2.8.2.
129944         * lib/file-type.c: Likewise.
129946 2002-06-07  Jim Meyering  <meyering@lucent.com>
129948         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
129949         They're needed at least for NetBSD 1.5.2.
129950         ($statxfs_includes): Include those same headers.
129951         ($statxfs_includes): Include sys/vfs.h if available.
129952         ($statxfs_includes): Likewise for sys/statvfs.h.
129953         Check for the following members in both structs statfs and statvfs:
129954         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
129956 2002-06-01  Jim Meyering  <meyering@lucent.com>
129958         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
129959         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
129961 2002-05-28  Jim Meyering  <meyering@lucent.com>
129963         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
129964         Reported by Volker Borchert.
129966 2002-05-27  Jim Meyering  <meyering@lucent.com>
129968         Fix a problem seen only on nonconforming systems whereby ls.c's
129969         use of localtime, and then of gettimeofday would cause trouble:
129970         the localtime call used to initialize rpl_gettimeofday's save
129971         mechanism would clobber ls's current local time information so
129972         that in any long listing the first file would always be listed
129973         with date 1970-01-01.  Analysis by Volker Borchert.
129975         * lib/gettimeofday.c (localtime): Undefine.
129976         (rpl_localtime): New function.
129978 2002-05-27  Jim Meyering  <meyering@lucent.com>
129980         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
129981         localtime.
129983         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
129984         use the replacement function; it wouldn't resolve at link time.
129985         Reported by Volker Borchert.
129987 2002-05-22  Jim Meyering  <meyering@lucent.com>
129989         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
129990         file-type.h.
129991         * lib/file-type.h: New file.
129992         * lib/file-type.c (file_type): New file/function.  Extracted from
129993         diffutils.
129995 2002-04-30  Jim Meyering  <meyering@lucent.com>
129997         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
129999 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130001         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
130003 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130005         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
130006         Do not check for alloca.h (no longer used) or stdbool.h (was never
130007         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
130009 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130011         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
130013 2002-04-29  Jim Meyering  <meyering@lucent.com>
130015         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
130016         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
130017         Use AC_FUNC_STRNLEN here instead.
130019         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
130020         With autoconf-2.53a, it's part of AC_PROG_CC.
130022 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130024         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
130025         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
130027 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130029         * lib/sig2str.h, lib/sig2str.c: New files.
130030         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
130032 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130034         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
130035         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
130036         of 127, since 64 is the largest conceivable number for ancient
130037         nonstandard hosts.
130038         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
130040 2002-04-28  Jim Meyering  <meyering@lucent.com>
130042         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
130044 2002-04-24  Jim Meyering  <meyering@lucent.com>
130046         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
130047         (jm_PREREQ): Use it.
130049         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
130050         mach/mach.h fcntl.h.
130051         Check for this function: setlocale.
130053 2002-04-24  Jim Meyering  <meyering@lucent.com>
130055         * lib/gettext.h: New file, from Gettext.
130056         * lib/Makefile.am (INCLUDES): Remove -I../intl.
130057         (libfetish_a_SOURCES): Add gettext.h.
130059 2002-04-16  Jim Meyering  <meyering@lucent.com>
130061         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
130062         ut_pid, ut_id, ut_exit.
130064 2002-04-16  Jim Meyering  <meyering@lucent.com>
130066         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
130067         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
130068         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
130070 2002-04-12  Jim Meyering  <meyering@lucent.com>
130072         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
130073         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
130074         existence of the getmntinfo function.  Needed for Darwin 5.3.
130076         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
130077         This is necessary at least on Darwin 5.3.
130079         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
130080         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
130081         strnlen.o in the library, and that makes some versions of ranlib
130082         object.
130084 2002-04-12  Jim Meyering  <meyering@lucent.com>
130086         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
130088 2002-04-09  Jim Meyering  <meyering@lucent.com>
130090         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
130091         to be more precise.  Rather than saying we're checking whether the
130092         function `works', say what we're testing.
130093         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
130094         Reported by Bruno Haible.
130096 2002-03-10  Jim Meyering  <meyering@lucent.com>
130098         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
130099         Suggestion from Santiago Vila.
130101 2002-03-08  Jim Meyering  <meyering@lucent.com>
130103         * lib/rename.c: Mention that this wrapper is needed also on
130104         mips-dec-ultrix4.4 systems.
130106 2002-03-02  Jim Meyering  <meyering@lucent.com>
130108         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
130109         not HAVE_CLOCK_SETTIME.
130111 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130113         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
130114         Check for clock_settime.
130116 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130118         * lib/nanosleep.h: Rename to....
130119         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
130121         * lib/gettime.c: New file.
130122         * lib/settime.c: New file.
130123         * lib/stime.c: Remove.
130125         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
130126         timespec.h.  Remove nanosleep.h.
130128 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130130         * m4/acl.m4: New file.
130131         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
130132         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
130134 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130136         * lib/acl.c, lib/acl.h: New files.
130137         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
130139 2002-02-24  Jim Meyering  <meyering@lucent.com>
130141         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
130142         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
130143         cause trouble.  Reported by Nelson Beebe.
130145 2002-02-23  Paul Eggert  <eggert@twinsun.com>
130147         * lib/path-concat.c (xpath_concat): Reorder code to pacify
130148         compilers that don't know that xalloc_die never returns.
130150 2002-02-20  Jim Meyering  <meyering@lucent.com>
130152         * lib/getdate.c: Regenerate using bison-1.33.
130154 2002-02-17  Jim Meyering  <meyering@lucent.com>
130156         * config/config.guess (main): Don't use `head -1'; it's no longer
130157         portable. Use `sed 1q' instead.
130159 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
130161         * m4/codeset.m4: Upgrade to gettext-0.11.
130162         * m4/gettext.m4: Upgrade to gettext-0.11.
130163         * m4/glibc21.m4: Upgrade to gettext-0.11.
130164         * m4/iconv.m4: Upgrade to gettext-0.11.
130165         * m4/isc-posix.m4: Upgrade to gettext-0.11.
130166         * m4/lcmessage.m4: Upgrade to gettext-0.11.
130167         * m4/lib-ld.m4: New file, from gettext-0.11.
130168         * m4/lib-link.m4: New file, from gettext-0.11.
130169         * m4/lib-prefix.m4: New file, from gettext-0.11.
130170         * m4/progtest.m4: Upgrade to gettext-0.11.
130172 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130174         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
130175         (jm_PREREQ): Use it.
130177 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130179         * lib/posixver.c, lib/posixver.h: New files.
130180         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130182 2002-02-02  Paul Eggert  <eggert@twinsun.com>
130183             Bruno Haible  <bruno@clisp.org>
130185         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
130186         (fwrite_success_callback): New declaration.
130187         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
130188         print_unicode_char. Call failure callback instead of error.
130189         (fwrite_success_callback): New function.
130190         (exit_failure_callback): New function.
130191         (fallback_failure_callback): New function.
130192         (print_unicode_char): Call unicode_to_mb.
130194 2002-01-26  Jim Meyering  <meyering@lucent.com>
130196         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
130197         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
130199 2002-01-26  Jim Meyering  <meyering@lucent.com>
130201         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
130203 2002-01-22  Paul Eggert  <eggert@twinsun.com>
130205         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
130207 2002-01-22  Jim Meyering  <meyering@lucent.com>
130209         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
130210         Otherwise, some versions of automake would omit the rule that makes
130211         Makefile from Makefile.in.
130213 2002-01-21  Paul Eggert  <eggert@twinsun.com>
130215         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
130216         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130217         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
130218         (memcoll): Set errno to zero if there is no error.
130220         * lib/quotearg.c (quotearg_buffer_restyled):
130221         Fix bug with quoting buffers containing NUL when backslashing escapes.
130222         This bug was exposed by the other changes in this patch.
130223         (quotearg_n_options): New arg ARGSIZE.
130224         All callers changed.
130225         (quoting_options_from_style): New function.
130226         (quotearg_n_style): Use it.
130227         (quotearg_n_style_mem): New function.
130229         * lib/quotearg.h (quotearg_n_style_mem): New function.
130231 2002-01-19  Jim Meyering  <meyering@lucent.com>
130233         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
130234         Remove useless quotes: DF_PROG="df".
130235         * m4/strnlen.m4: New file.
130237 2002-01-16  Paul Eggert  <eggert@twinsun.com>
130239         * lib/backupfile.c (ISDIGIT): Comment fix.
130240         * lib/getdate.y (ISDIGIT): Likewise.
130241         * lib/posixtm.c (ISDIGIT, year): Likewise.
130242         * lib/strverscmp.c (ISDIGIT): Likewise.
130243         * lib/userspec.c (ISDIGIT): Likewise.
130245 2002-01-16  Jim Meyering  <meyering@lucent.com>
130247         * lib/getdate.y: Add three semicolons, each just before a closing
130248         brace. Bison (as of version 1.31) no longer papers over that mistake.
130250 2002-01-05  Jim Meyering  <meyering@lucent.com>
130252         * lib/version-etc.c (version_etc_copyright): Update copyright year.
130254 2001-12-19  Paul Eggert  <eggert@twinsun.com>
130256         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
130257         not silently exit merely because the output buffer happens to
130258         have nothing pending.
130260 2001-12-18  Paul Eggert  <eggert@twinsun.com>
130262         See the big note in ../ChangeLog.
130263         * lib/human.c (suffixes): Prefer K to k for 1024.
130264         (generate_suffix_backwards): New function.
130265         (human_readable_inexact): Use it.
130266         * lib/xstrtol.c (__xstrtol): If there is no number but there
130267         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
130268         Accept 'K' as well as 'k'.
130270 2001-12-15  Jim Meyering  <meyering@lucent.com>
130272         * lib/regex.h (__restrict_arr): Update from libc.
130274         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
130275         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
130276         (STREQ): Define.
130278 2001-12-14  Jim Meyering  <meyering@lucent.com>
130280         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
130281         Suggestion from Bruno Haible.
130283 2001-12-10  Jim Meyering  <meyering@lucent.com>
130285         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
130286         xrealloc, Instead, include "xalloc.h".
130287         (initbuffer): Don't cast xmalloc return value to char*.
130288         (readline): Reword comment.
130289         Don't cast xrealloc return value to char*
130290         Return NULL, not 0.
130292 2001-12-09  Jim Meyering  <meyering@lucent.com>
130294         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
130295         about `signed and unsigned type in conditional expression'.
130296         * lib/posixtm.c (posix_time_parse): Likewise.
130298         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
130300         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
130301         to avoid a pedantic warning.
130303         * lib/getstr.c: Don't include assert.h.
130304         (getstr): Remove warning-evoking assertions.
130305         Return -1 if offset parameter is out of bounds.
130306         Change the type of a local from int to size_t.
130308         * lib/strftime.c (my_strftime_localtime_r): Include this function
130309         definition in the `#if ! HAVE_TM_GMTOFF' block.
130311         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
130312         Include xalloc.h instead.
130314 2001-12-02  Jim Meyering  <meyering@lucent.com>
130316         * lib/tempname.c: Don't declare getenv, thus reverting the change of
130317         2001-11-18.  It's no longer necessary, now that stdlib.h is always
130318         included.
130320         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
130321         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
130323 2001-11-30  Akim Demaille  <akim@epita.fr>
130325         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
130326         before being defined.
130328 2001-11-27  Paul Eggert  <eggert@twinsun.com>
130330         * lib/quotearg.h (quotearg_n, quotearg_n_style):
130331         First arg is int, not unsigned.
130332         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
130333         (SIZE_MAX, UINT_MAX): New macros.
130334         (quotearg_n_options): Abort if N is negative.
130335         Avoid overflow check on hosts where size_t is 64 bits and int
130336         is 32 bits, as overflow is impossible there.
130337         Fix off-by-one typo that caused unnecessary reallocation.
130339 2001-11-27  Jim Meyering  <meyering@lucent.com>
130341         * lib/tempname.c: Merge with version from libc.
130342         * lib/regex.c: Likewise.
130344         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
130345         systems for which STDC_HEADERS is 0, it was not included, resulting in
130346         a warning about an integer-to-pointer conversion problem with getenv.
130347         Reported by Volker Borchert.
130349 2001-11-26  Jim Meyering  <meyering@lucent.com>
130351         * lib/gtod.h: Remove file.
130352         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
130353         * lib/gettimeofday.c: Don't include gtod.h.
130354         (GTOD_init): Remove function.
130355         (rpl_gettimeofday): Do its job here instead, rather than aborting.
130356         Suggestion from Volker Borchert.
130358 2001-11-23  Jim Meyering  <meyering@lucent.com>
130360         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
130361         it.
130362         * lib/hash.c (struct hash_table): Define it here instead.
130364 2001-11-22  Jim Meyering  <meyering@lucent.com>
130366         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
130368 2001-11-20  Jim Meyering  <meyering@lucent.com>
130370         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
130371         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
130373 2001-11-19  Jim Meyering  <meyering@lucent.com>
130375         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
130376         directory.  Use "conftestXXXXXX" as the template.
130377         Suggestion from Paul Eggert.
130379         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
130380         immediately, so the test doesn't mistakenly hit the max-open-files
130381         limit.
130383 2001-11-18  Paul Eggert  <eggert@twinsun.com>
130385         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
130386         (TEMPORARIES): New macro.
130387         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
130388         removes an artificial limitation (e.g. HP-UX 10.20, where
130389         TMP_MAX is 17576).
130391 2001-11-18  Jim Meyering  <meyering@lucent.com>
130393         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
130395 2001-11-18  Jim Meyering  <meyering@lucent.com>
130397         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
130398         on SunOS 4.
130400         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
130401         files will be created before anything else.
130403 2001-11-17  Paul Eggert  <eggert@twinsun.com>
130405         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
130406         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
130408 2001-11-17  Jim Meyering  <meyering@lucent.com>
130410         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
130411         Prompted by a report from Bob Proulx.
130413         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
130414         Instead, require UTILS_FUNC_MKSTEMP.
130416 2001-11-17  Jim Meyering  <meyering@lucent.com>
130418         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
130419         Now, that's done as part of AC_FUNC_STRTOD.
130421 2001-11-17  Jim Meyering  <meyering@lucent.com>
130423         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
130424         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
130425         rather than group writable.  Patch by Juan F. Codagnone.
130427         * lib/readtokens.c: Remove explicit declarations of xmalloc and
130428         xrealloc, Instead, include "xalloc.h".
130430         * lib/mountlist.c: Include unlocked-io.h after all system headers.
130431         Remove explicit declarations of xmalloc, xrealloc,
130432         and xstrdup.  Instead, include "xalloc.h".
130434         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
130435         unlocked-io.h.
130436         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
130437         Likewise.
130438         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
130440         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
130441         Reported by Padraig Brady.
130443         * lib/mkstemp.c: #undef mkstemp.
130444         Include config.h.
130445         (rpl_mkstemp): Rename from mkstemp.
130446         Protoize.
130448 2001-11-16  Jim Meyering  <meyering@lucent.com>
130450         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
130451         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
130452         determine the amount of total physical memory, use pstat_getstatic.
130453         HPUX-11 doesn't define _SC_PHYS_PAGES.
130454         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
130455         If sysconf couldn't be used to determine the amount of available
130456         physical memory, use both pstat_getstatic and pstat_getdynamic.
130457         Based on a patch from Bob Proulx.
130459 2001-11-10  Jim Meyering  <meyering@lucent.com>
130461         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
130462         (jm_PREREQ): Use it.
130464 2001-11-09  Jim Meyering  <meyering@lucent.com>
130466         * m4/jm-macros.m4: Require autoconf-2.52f.
130467         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
130468         Use these AC_-prefixed names, not the AM_-prefixed ones.
130470         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
130472 2001-11-05  Jim Meyering  <meyering@lucent.com>
130474         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
130476 2001-11-04  Jim Meyering  <meyering@lucent.com>
130478         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
130479         $DEFS.
130481 2001-11-03  Jim Meyering  <meyering@lucent.com>
130483         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
130484         of AC_DEFUN.
130486         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
130487         know the name of the variable in the macro definition.
130489 2001-11-03  Jim Meyering  <meyering@lucent.com>
130491         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
130492         in argmatch_to_argument call.
130494         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
130495         argument.
130497         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
130498         e.g., a fault due to an attempt to free a NULL pointer.
130500 2001-11-01  Jim Meyering  <meyering@lucent.com>
130502         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
130503         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
130505 2001-11-01  Jim Meyering  <meyering@lucent.com>
130507         * lib/dirfd.c, lib/dirfd.h: New files.
130508         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
130510         * lib/hash.c (hash_print) [TESTING]: Clean up.
130512 2001-10-22  Paul Eggert  <eggert@twinsun.com>
130514         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
130515         to avoid a warning if -Wall.
130517 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
130519         * README: New file
130520         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
130521         (per RMS's instructions, this is now the canonical source)
130522         * lgpl/, gpl/: New directories.
130524 2001-10-21  Paul Eggert  <eggert@twinsun.com>
130526         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
130528 2001-10-21  Jim Meyering  <meyering@lucent.com>
130530         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
130531         this code would end up calling gettext even in packages built
130532         with --disable-nls.
130533         * lib/getopt.c (_): Likewise.
130534         * lib/regex.c (_): Likewise.
130536 2001-10-20  Paul Eggert  <eggert@twinsun.com>
130538         * m4/error.m4 (jm_PREREQ_ERROR):
130539         Do not invoke AC_CHECK_FUNCS with strerror_r, as
130540         AC_FUNC_STRERROR_R does that.
130541         Check for strerror declaration.
130543         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
130544         are supposed to have them these days.
130545         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
130546         Merge changes from latest Autoconf CVS.
130547         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
130548         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
130549         POSIX decided to standardize on the int flavor of strerror_r.
130551 2001-10-20  Paul Eggert  <eggert@twinsun.com>
130553         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
130554         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
130555         Use strerror_r that is only a macro, even if it is not a function.
130556         (strerror): Check for HAVE_DECL_STRERROR before declaring.
130557         (private_strerror): Use prototypes, not old-style function definition.
130558         (print_errno_message): New function.
130559         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
130560         char*-flavored one.
130561         (error_tail, error, error_at_line): Use it.
130563 2001-10-11  Jim Meyering  <meyering@lucent.com>
130565         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
130566         and quote_n (1, ... to avoid clobbering a buffer.
130568 2001-10-05  Jim Meyering  <meyering@lucent.com>
130570         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
130571         hash-pjw.h.
130572         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
130573         * lib/hash-pjw.h: New file.
130575 2001-09-30  Jim Meyering  <meyering@lucent.com>
130577         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
130578         `struct fsstat' has the `f_fstypename' member.
130579         Use that to define FS_TYPE, which is now used to make
130580         the getfsstat link test tighter.
130582 2001-09-30  Jim Meyering  <meyering@lucent.com>
130584         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
130585         Include <sys/ucred.h>, for Apple Darwin.
130586         Include sys/mount.h and sys/fs_types.h only if available.
130587         (FS_TYPE): Define.
130588         (read_filesystem_list): Use FS_TYPE.
130590 2001-09-29  Paul Eggert  <eggert@twinsun.com>
130592         * lib/exclude.c (excluded_filename): 0 -> false, since it's
130593         a boolean context.
130595 2001-09-29  Jim Meyering  <meyering@lucent.com>
130597         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
130598         [one-argument getmntent function]): Include stdio.h before mntent.h.
130599         SunOS 4.1.x needs it for the declaration of `FILE'.
130600         Patch by Volker Borchert.
130602         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
130603         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
130604         sys/fs_types.h, and make the link-test for getfsstat guard #include
130605         directives with appropriate #if HAVE_*_H tests so that we can
130606         detect getfsstat on Apple Darwin1.3.7 systems.
130607         Reported by Nelson Beebe.
130608         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
130610 2001-09-28  Paul Eggert  <eggert@twinsun.com>
130612         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
130613         #defines strtoimax.  Also treat the other strto* functions
130614         like strtoimax.
130616         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
130617         Check for strtoul and strtoumax,
130618         as those declarations are made even in the signed case.
130619         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
130620         Likewise, for strtol and strtoimax.
130622 2001-09-28  Paul Eggert  <eggert@twinsun.com>
130624         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
130625         #defines strtoimax.  Also treat the other strto* functions
130626         like strtoimax.
130628         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
130629         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
130630         (strtoimax, strtoumax): Do not declare if already defined as a macro.
130632 2001-09-26  Jim Meyering  <meyering@lucent.com>
130634         Most macros in unlocked-io.h had the wrong number of arguments.
130635         * lib/gen-uio: New script.
130636         (USE_UNLOCKED_IO): Define to 1 if not already defined.
130637         * lib/unlocked-io.hin: Remove file.
130638         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
130639         rather than trying to embed it here.
130640         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
130641         Reported by Padraig Brady.
130643 2001-09-25  Volker Borchert  <bt@teknon.de>
130645         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
130646         `result'.
130648 2001-09-24  Jim Meyering  <meyering@lucent.com>
130650         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
130652 2001-09-23  Jim Meyering  <meyering@lucent.com>
130654         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
130655         instead of the mere test for existence of mntent.h.  The latter
130656         would get a false-positive on AIX 3.4 systems.
130657         In the outer getmntent if-block, don't die if neither of the getmntent
130658         tests succeeds.  Instead, just fall through and continue with the
130659         remaining tests.
130661 2001-09-23  Jim Meyering  <meyering@lucent.com>
130663         * lib/mountlist.c: Remove useless parentheses in #if directives.
130664         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
130665         the deprecated MOUNTED symbol is no longer defined in mntent.h.
130667 2001-09-22  Jim Meyering  <meyering@lucent.com>
130669         * m4/gettext.m4: New file.  From gettext.
130670         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
130671         * m4/progtest.m4: Likewise
130672         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
130673         * m4/glibc21.m4: Likewise.
130675         * m4/libintl.m4: Remove.  No longer used.
130677 2001-09-22  Jim Meyering  <meyering@lucent.com>
130679         * lib/localcharset.c: Update from latest gettext.
130680         * lib/config.charset: Likewise.
130682 2001-09-20  Jim Meyering  <meyering@lucent.com>
130684         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
130685         strtoimax.
130686         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
130687         strtoumax.
130689 2001-09-20  Jim Meyering  <meyering@lucent.com>
130691         * lib/xstrtol.c (strtoimax): Guard declaration with
130692         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
130693         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
130694         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
130695         (strtoumax): Likewise, for completeness (it wasn't necessary).
130697 2001-09-17  Paul Eggert  <eggert@twinsun.com>
130699         * lib/strtoimax.c (HAVE_LONG_LONG):
130700         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
130701         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
130702         to work around bug in IBM C compiler.
130704 2001-09-17  Jim Meyering  <meyering@lucent.com>
130706         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
130707         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
130708         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
130709         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
130710         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
130711         whenever the right hand side need not be expanded by the shell.
130713 2001-09-16  Paul Eggert  <eggert@twinsun.com>
130715         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
130716         library.  It's not correct, as some older glibcs are buggy.
130717         fnmatch wasn't fixed until glibc 2.2.
130719         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
130720         special shell magic here.
130722 2001-09-16  Jim Meyering  <meyering@lucent.com>
130724         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
130725         * m4/jm-macros.m4: Require it.
130727 2001-09-16  Jim Meyering  <meyering@lucent.com>
130729         * lib/mkdir.c: New file.
130731 2001-09-15  Jim Meyering  <meyering@lucent.com>
130733         * m4/jm-macros.m4: Check for help2man.
130735 2001-09-11  Jim Meyering  <meyering@lucent.com>
130737         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
130738         The body, by Paul Eggert, was moved here from configure.in.
130739         * m4/jm-macros.m4: Require UTILS_HOST_OS.
130741 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130743         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
130744         (jm_PREREQ): Use it.
130746 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130748         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
130749         Use ssize_t, not int, to store result of readlink.
130750         Check for ssize_t overflow as well as size_t overflow,
130751         as POSIX says the result of readlink is implementation-defined
130752         when ssize_t overflows.
130753         Remove unnecessary cast to char*.
130754         Use free+malloc instead of realloc, as the storage doesn't need
130755         to be preserved and it's clearer and can be more efficient that way.
130756         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
130757         * lib/xreadlink.h (xreadlink): Update prototype.
130759 2001-09-04  Paul Eggert  <eggert@twinsun.com>
130761         * lib/xgetcwd.c: Revert some of the previous change; intead,
130762         fix the HAVE_GETCWD_NULL code to behave more like the
130763         !HAVE_GETCWD_NULL code used to.
130765         Include "xalloc.h".
130766         (xgetcwd): Do not return NULL when memory is exhausted; instead,
130767         invoke xalloc_die.
130769 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130771         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
130772         sys/param.h, as pathmax.h includes them.
130774 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130776         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
130777         (jm_PREREQ_XGETCWD): New macro.
130779         * m4/getcwd.m4: New file.
130781 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130783         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
130784         like the HAVE_GETCWD_NULL code.
130785         Include pathmax.h if not HAVE_GETCWD.
130786         Do not include xalloc.h.
130787         (INITIAL_BUFFER_SIZE): New symbol.
130788         Do not use xmalloc / xrealloc, since the caller is responsible for
130789         handling errors.  Preserve errno around `free' during failure.
130790         Do not overrun buffer when using getwd.
130792 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130794         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
130795         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
130796         getcwd (NULL, 0).
130798 2001-09-03  Paul Eggert  <eggert@twinsun.com>
130800         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
130801         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
130802         spotted by Jim Meyering.
130804 2001-09-03  Jim Meyering  <meyering@lucent.com>
130806         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
130807         failure.
130809 2001-09-02  Jim Meyering  <meyering@lucent.com>
130811         * lib/error.c: Update from GNU libc.
130813 2001-09-01  Jim Meyering  <meyering@lucent.com>
130815         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
130816         Used by df.
130818 2001-09-01  Jim Meyering  <meyering@lucent.com>
130820         * lib/xreadlink.c: New file.
130821         * lib/xreadlink.h: New file.
130822         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
130823         xreadlink.h.
130825         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
130826         doesn't conflict with sparc Solaris 7's definition in
130827         /usr/include/sys/int_types.h.
130829         * lib/exclude.c: Use `""', not `<>' to #include non-system header
130830         files.
130831         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
130832         and strncasecmp as r-values.  Unixware didn't have declarations.
130834 2001-08-31  Paul Eggert  <eggert@twinsun.com>
130836         * lib/xstrtol.h: Add copyright notice.
130837         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
130838         LONGINT_INVALID_SUFFIX_CHAR.
130840 2001-08-31  Paul Eggert  <eggert@twinsun.com>
130842         * lib/xstrtol.c (strtoimax): New decl.
130844 2001-08-31  Paul Eggert  <eggert@twinsun.com>
130846         * lib/xgetcwd.c: Don't include pathmax.h.
130847         Include stdlib.h and unistd.h if available.
130848         Include xalloc.h.
130849         (xmalloc, xstrdup, free): Remove decls.
130850         (xgetcwd): Don't assume sizes fit in unsigned.
130851         Check for overflow when computing sizes.
130852         Simplify reallocation code.
130854 2001-08-31  Paul Eggert  <eggert@twinsun.com>
130856         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
130857         a directory's st_size can have an arbitrary value, so the old
130858         usage could waste an arbitrary amount of memory.  All uses
130859         changed.
130860         * lib/savedir.h: Update prototype.
130862 2001-08-31  Paul Eggert  <eggert@twinsun.com>
130864         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
130866         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
130867         old strtoimax.c.
130869         Also, make the following further changes to make this file's
130870         configuration more similar to that of strtol.c:
130871         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
130872         (strtoumax, uintmax_t, strtoull, strtol): Remove.
130873         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
130874         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
130875         changed to signed values.
130877         And make the following changes as well:
130878         Fix copyright notice, as 1999 was missing.
130879         (verify): New macro.
130880         (strtoimax): Check sizes at compile-time, not run-time.
130881         Prefer strtol to strtoll if both work.
130882         (main): Remove; it was not that useful and was a pain to maintain.
130884         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
130886 2001-08-31  Jim Meyering  <meyering@lucent.com>
130888         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
130889         Use an initial, malloc'd, buffer of length 128 rather than
130890         a statically allocated one of length 1024.
130892 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130894         Simplify code, partly by assuming autoconf 2.52 semantics.
130896         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
130898         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
130899         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
130900         All uses removed.
130901         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
130902         Move AC_REQUIRE to next-to-top level, to avoid confusion.
130903         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
130904         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
130905         jm_AC_HEADER_INTTYPES_H.
130906         * m4/jm-macros.m4 (jm_MACROS): Likewise.
130908         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
130910         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
130911         Quote first arg of AC_DEFUN.
130912         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
130913         since they are needed to parse the include file even if we need
130914         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
130915         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
130916         but with opposite signedness.
130918 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130920         Merge 'exclude' changes from tar 1.13.22.
130921         This fixes one or two unlikely storage allocation overflow bugs,
130922         but doesn't change user-visible behavior otherwise.
130924 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130926         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
130927         (jm_PREREQ_EXCLUDE): New macro.
130929 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130931         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
130932         tm to be declared.
130934 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130936         * lib/hash.c: Remove '2001' from copyright notice.
130938 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130940         * lib/full-write.h: New file.
130941         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
130942         * lib/full-write.c: Correct credits, as cccp.c no longer
130943         exists and anyway it was so heavily changed from the old cccp
130944         code as to be unrecognizable.  Include full-write.h.
130945         (full_write): Return size_t, with short writes meaning failure.
130946         All callers changed.  This fixes a bug with large buffers
130947         on 64-bit hosts.
130948         * lib/utime.c: Include full-write.h.
130950 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130952         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
130953         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
130954         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
130955         Include if available.
130956         (<xalloc.h>): Include
130957         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
130958         (verify): New macro.  Use it to verify that EXCLUDE macros do not
130959         collide with FNM macros.
130960         (struct patopts): New struct.
130961         (struct exclude): Use it, as exclude patterns now come with options.
130962         (new_exclude): Support above changes.
130963         (new_exclude, add_exclude_file):
130964         Initial size must now be a power of two to simplify overflow checking.
130965         (free_exclude, fnmatch_no_wildcards): New function.
130966         (excluded_filename): No longer requires options arg, as the options
130967         are determined by add_exclude.  Now returns bool, not int.
130968         (excluded_filename, add_exclude):
130969         Add support for the fancy new exclusion options.
130970         (add_exclude, add_exclude_file): Now takes int options arg.
130971         Check for arithmetic overflow when computing sizes.
130972         (add_exclude_file): xrealloc might modify errno, so don't
130973         realloc until after errno might be used.
130975         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
130976         New macros.
130977         (free_exclude): New decl.
130978         (add_exclude, add_exclude_file): Now takes int options arg.
130979         (excluded_filename): No longer requires options arg, as the options
130980         are determined by add_exclude.  Now returns bool, not int.
130982 2001-08-30  Paul Eggert  <eggert@twinsun.com>
130984         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
130986 2001-08-27  Jim Meyering  <meyering@lucent.com>
130988         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
130990         * lib/version-etc.c (N_): Remove definition.
130991         Revert most of last change.
130992         Instead, simply don't mark the `Copyright...' string for translation.
130993         Based on advice from Paul Eggert.
130995         * lib/strtoxmax.c: Tweak comment.
130997 2001-08-26  Jim Meyering  <meyering@lucent.com>
130999         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
131001         * m4/xstrtoimax.m4: New file.
131002         * m4/xstrtoumax.m4: Add comments explaining why we
131003         AC_REPLACE_FUNCS(strtol).
131005 2001-08-26  Jim Meyering  <meyering@lucent.com>
131007         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
131008         of copyright with `%s' so translators don't get an untranslated
131009         message in 2002.
131010         (COPYRIGHT_YEAR): Define.
131011         (version_etc): Use fprintf rather than fputs.
131012         Suggestion from Ulrich Drepper.
131014         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
131016         * lib/strtoll.c: New file, from GNU libc.
131017         * lib/xstrtoimax.c: New file.
131019         * lib/xstrtol.h: Add xstrtoimax.
131020         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
131021         * lib/strtoimax.c: New file.  Likewise, but first define
131022         STRTOUXMAX_SIGNED.
131024         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
131025         ...
131026         * lib/strtoxmax.c: ... then renamed to this.
131028 2001-08-18  Paul Eggert  <eggert@twinsun.com>
131030         * m4/inttypes.m4: Add AC_PREREQ(2.13).
131031         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
131032         (jm_AC_TYPE_INTMAX_T): New macro.
131033         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
131035         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
131037         * m4/longlong.m4: Renamed from ulonglong.m4.
131038         * m4/inttypes.m4: Renamed from inttypes_h.m4.
131039         * m4/uintmax_t.m4: Removed.
131041 2001-08-13  Paul Eggert  <eggert@twinsun.com>
131043         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
131044         Port to Solaris 8, where 'sed' requires a space after the 'r'
131045         command, and where sh dislikes "$/".  Clean up the spacing a bit.
131046         Redirect output to $tmp just once.
131048 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
131050         * lib/addext.c (<errno.h>): Include.
131051         (errno): Declare if not defined.
131052         (addext): Work correctly when pathconf returns -1 and leaves
131053         errno alone because there is no limit.  Also, work even if
131054         pathconf returns a value greater than SIZE_MAX.
131056 2001-08-12  Jim Meyering  <meyering@lucent.com>
131058         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
131059         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
131060         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
131061         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
131062         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
131063         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
131064         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
131065         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
131066         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
131067         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
131068         utime.m4, utimes.m4, xstrtoumax.m4:
131069         Quote the first argument in each use of AC_DEFUN.
131071 2001-08-12  Jim Meyering  <meyering@lucent.com>
131073         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
131074         Simply `return getcwd (NULL, 0);'.
131075         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
131076         Use 1300 as initial value for length, not PATH_MAX.
131078         * lib/pathmax.h: Clean up cpp syntax.
131080 2001-08-12  Jim Meyering  <meyering@lucent.com>
131082         * lib/gettimeofday.c: New file.
131083         * lib/gtod.h: New file.
131084         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
131086 2001-08-05  Jim Meyering  <meyering@lucent.com>
131088         * m4/jm-macros.m4: Require autoconf-2.52.
131090 2001-08-04  Jim Meyering  <meyering@lucent.com>
131092         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
131093         stmt, to get in sync with glibc.
131095 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131097         The following changes are from gettext 0.10.39 as maintained by
131098         Bruno Haible.
131100         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
131101         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
131102         with inverted sense.  All uses changed.
131104         * lib/mbswidth.c: Don't include <limits.h>.
131105         Include <stdlib.h> and <string.h> unconditionally.
131106         (iswcntrl, mbsinit, ISCNTRL): New macros.
131107         (mbsnwidth): Use K&R style function declarations.
131108         Don't bother checking for MB_LEN_MAX == 1, since the compiler
131109         can optimize it when MB_CUR_MAX == 1.
131110         The width of control characters is zero, not 1.
131112 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131114         The following changes are from gettext 0.10.39 as maintained by
131115         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
131117         * m4/codeset.m4: Upgrade to serial AM1.
131118         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
131119         all uses changed.  Quote first arg of AC_DEFUN.
131120         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
131122         * m4/iconv.m4: Upgrade to serial AM2.
131123         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
131124         Add --with-libconv-prefix.
131125         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
131126         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
131127         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
131128         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
131129         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
131131         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
131132         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
131133         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
131134         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
131135         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
131136         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
131137         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
131138         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
131139         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
131141         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
131142         string.h any more.
131144         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
131145         not the default value.
131147         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
131148         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
131149         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
131150         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
131151         Also check for iswcntrl, used for wcwidth fallback.
131152         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
131153         to Autoconf 2.13.
131155 2001-08-03  Jim Meyering  <meyering@lucent.com>
131157         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
131158         as it was in the original.  Reported by Paul Eggert.
131160 2001-07-16  Jim Meyering  <meyering@lucent.com>
131162         * m4/gettimeofday.m4: New file.
131163         Prompted by a report from Bernhard Baehr.
131165 2001-07-15  Jim Meyering  <meyering@lucent.com>
131167         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
131168         stuff. Now it's in ../Makefile.cfg.
131170 2001-07-15  Jim Meyering  <meyering@lucent.com>
131172         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
131173         (BUILT_SOURCES): Add unlocked-io.h.
131174         (io_functions): Define.
131175         (unlocked-io.h): New rule.
131176         (DISTCLEANFILES): Add unlocked-io.h.
131177         (all-local): Depend on unlocked-io.h, to ensure it is created.
131179         * lib/unlocked-io.hin: New file
131181         * lib/regex.c: Update from glibc.
131183 2001-07-05  Jim Meyering  <meyering@lucent.com>
131185         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
131186         recommendation.
131187         (libfetish_a_SOURCES): Put all .h files here instead.
131188         Remove a thus-exposed (better checks in automake) duplicate and
131189         two unnecessary .h files.
131191 2001-07-04  Jim Meyering  <meyering@lucent.com>
131193         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
131194         that generates jm-glibc-io.m4 so that it doesn't trigger any make
131195         distcheck failure.
131197 2001-07-02  Jim Meyering  <meyering@lucent.com>
131199         The following changes were prompted by suggestions from Bruno Haible.
131201         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
131202         is now generated.
131203         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
131204         definition of EXTRA_DIST.
131205         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
131206         ensure that the generated file is created/updated whenever the list
131207         of $(unlocked_functions) is changed.
131208         (jm-glibc-io.m4): New rule.
131209         (unlocked-io.h): New rule -- currently unused.
131211 2001-06-24  Jim Meyering  <meyering@lucent.com>
131213         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
131214         unmatched right bracket, rather than kludging it with an extra,
131215         falsely-matching quote in a comment.  Patch by Akim Demaille.
131217 2001-06-11  Jim Meyering  <meyering@lucent.com>
131219         * lib/regex.c: Update from GNU libc.
131221 2001-05-27  Jim Meyering  <meyering@lucent.com>
131223         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
131224         Check for ut_type in struct utmp.
131226 2001-05-27  Jim Meyering  <meyering@lucent.com>
131228         * lib/readutmp.h (UT_TYPE): Define.
131230 2001-05-24  Jim Meyering  <meyering@lucent.com>
131232         * lib/argmatch.c: Include "quote.h".
131233         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
131234         quote function.  Reported by Göran Uddeborg.
131236 2001-05-22  Jim Meyering  <meyering@lucent.com>
131238         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
131239         now that we use the package-supplied version unconditionally.
131240         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
131242 2001-05-21  Jim Meyering  <meyering@lucent.com>
131244         * m4/regex.m4: Change a couple backticks to single quotes to avoid
131245         shell syntax errors.
131247 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131249         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
131251 2001-05-20  Paul Eggert  <eggert@twinsun.com>
131253         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
131254         Don't bother to check library strftime, since
131255         we'll be using our own my_strftime function anyway.
131256         Define my_strftime instead of strftime.
131258 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
131260         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
131261         which is not yet declared.
131263 2001-05-15  Jim Meyering  <meyering@lucent.com>
131265         * m4/regex.m4: Use proper quoting so brackets appear in the test
131266         program.
131267         Reported by, and with help from, Bruno Haible.
131269 2001-05-13  Jim Meyering  <meyering@lucent.com>
131271         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
131272         undefined.
131274 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131276         dirname code cleanup.  base_name now behaves more compatibly
131277         with POSIX basename when given file names that have trailing
131278         slashes, and similarly for dir_name.  Add new primitives
131279         base_len and dir_len.  Put the directory-name-related decls
131280         into dirname.h.
131282         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
131283         * lib/backupfile.c (base_name): Likewise.
131284         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
131285         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
131286         * lib/makepath.c (strip_trailing_slashes): Likewise.
131287         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
131288         ISSLASH): Likewise.
131289         * lib/rename.c (strip_trailing_slashes): Likewise.
131290         * lib/same.c (base_name): Likewise.
131291         * lib/stripslash.c (ISSLASH): Likewise.
131293         * lib/addext.c: Include <dirname.h> after size_t is defined.
131294         * lib/backupfile.c: Likewise.
131296         * lib/addext.c (addext): Use base_len to trim redundant
131297         trailing slashes instead of doing it ourselves.
131298         But do not trim the last slash if it is not redundant.
131300         * lib/backupfile.c (find_backup_file_name,
131301         max_backup_version): Use base_len instead of rolling it ourselves.
131302         Handle the case of "" and (on DOS) "C:" correctly.
131304         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
131305         needed. Include <string.h>, <dirname.h>.
131306         (base_name): Allow file names ending in slashes, other than names
131307         that are all slashes.  In this case, return the basename followed
131308         by the slashes.  This is more general, and can be used in places
131309         where the original base_name purposely had an assertion failure.
131310         (base_len): New function.
131312         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
131313         Do not include <assert.h>; no longer needed.
131314         Include xalloc.h.
131315         (memrchr): Remove decl.
131316         (dir_name_r): Remove.
131317         (dir_len): Renamed from dirlen.  All callers changed.
131318         Rewrite in terms of base_name, for simplicity and consistency.
131319         (dir_name): Never return NULL.  All callers changed.
131320         Do not include <stdlib.h> in test program; no longer needed.
131321         return 0; is fine for test program.
131323         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
131324         New macros.
131325         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
131327         * lib/path-concat.c (path_concat): Use base_len to compute
131328         base length, not strlen; this means we cannot rely on memcpy
131329         to null-terminate.
131331         * lib/same.c (STREQ): Remove.
131332         (same_name): Handle the case where the basename ends in trailing '/'.
131334         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
131335         a slash was stripped.  Do not strip the last slash after a
131336         file system prefix.
131338 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131340         * lib/Makefile.am (libfetish_a_SOURCES):
131341         Add strftime.c, since we now compile it on all hosts.
131343         * lib/strftime.c (my_strftime):
131344         Define to nstrftime if emacs, but only if my_strftime is not defined.
131345         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
131346         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
131347         Add one more extra argument: a nanoseconds value.
131348         All uses changed.
131349         (ns): New macro.
131350         (my_strftime function): Add %N format.
131351         (emacs_strftimeu): Renamed from emacs_strftime,
131352         with extra ut argument.
131354 2001-05-09  Paul Eggert  <eggert@twinsun.com>
131356         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
131358 2001-04-21  Jim Meyering  <meyering@lucent.com>
131360         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
131361         doesn't interfere.
131363 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131365         * m4/ftruncate.m4: Check for chsize.
131366         Link with ftruncate.o unconditionally if ftruncate is missing.
131367         This was required when cross-compiling to i586-mingw32msvc.
131369 2001-04-08  Jim Meyering  <meyering@lucent.com>
131371         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
131372         recomputed; that's necessary when the offset spans a DST transition.
131373         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
131375 2001-04-02  Jim Meyering  <meyering@lucent.com>
131377         * lib/regex.h, regex.c: Update from GNU libc.
131379 2001-03-24  Jim Meyering  <meyering@lucent.com>
131381         * m4/jm-macros.m4: Require autoconf-2.49d.
131383 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
131385         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
131387 2001-03-19  Paul Eggert  <eggert@twinsun.com>
131389         * lib/version-etc.c (version_etc_copyright): Update to 2001.
131391 2001-03-17  Jim Meyering  <meyering@lucent.com>
131393         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
131394         now that the version in autoconf is equivalent.
131395         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
131397         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
131398         Suggestion from Akim Demaille.
131400         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
131401         (jm_PREREQ_TEMPNAME): New function.
131403 2001-03-16  Paul Eggert  <eggert@twinsun.com>
131405         * lib/tempname.c (uint64_t): Define to uintmax_t if
131406         not defined, and if UINT64_MAX is not defined.
131407         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
131408         Reported by John David Anglin.
131410 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
131412         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
131413         resolve alias if codeset is empty.
131414         * lib/config.charset (BeOS): Use wildcard syntax.
131416 2001-03-13  Jim Meyering  <meyering@lucent.com>
131418         * lib/path-concat.c (path_concat)
131419         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
131420         concatenating e.g., `C:' and `foo'.
131421         From Bruno Haible.
131423 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131425         * lib/localcharset.c (locale_charset): Don't use
131426         setlocale(LC_CTYPE,NULL). Don't return NULL.
131427         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
131429 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131431         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
131432         support for DOS/DJGPP.
131434 2001-03-01  Paul Eggert  <eggert@twinsun.com>
131436         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
131437         lacks mkstemp.  Compile our own tempname.c if we compile our own
131438         mkstemp.c, as mkstemp relies on tempname.
131440 2001-03-01  Jim Meyering  <meyering@lucent.com>
131442         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
131443         AH_VERBATIM really does output its argument verbatim.
131445 2001-02-28  Paul Eggert  <eggert@twinsun.com>
131447         * lib/Makefile.am (libfetish_a_SOURCES):
131448         Add dup-safer.c, fopen-safer.c.
131449         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
131451         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
131452         * lib/unistd-safer.h: New files.
131454 2001-02-25  Paul Eggert  <eggert@twinsun.com>
131456         The mkstemp replacement is taken from glibc 2.2.2, with some
131457         portability fixes for use outside glibc, as follows:
131459         * lib/tempname.c (struct_stat64): New macro.
131460         (direxists, __gen_tempname): Use it.
131461         This avoids a portability problem with Solaris 8.
131463         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
131464         (<stddef.h>, <stdint.h>, <string.h>):
131465         Include only if STDC_HEADERS || _LIBC.
131466         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
131467         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
131468         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
131469         (__set_errno): Define this macro if <errno.h> doesn't.
131470         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
131471         Define these macros if <stdio.h> doesn't.
131472         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
131473         Define these macros if <sys/stat.h>
131474         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
131475         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
131476         __xstat64): Define if not _LIBC.
131477         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
131478         (__gen_tempname): Invoke gettimeofday only if
131479         HAVE_GETTIMEOFDAY || _LIBC;
131480         otherwise, fall back on plain "time".
131481         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
131483         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
131485         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
131487 2001-02-18  Paul Eggert  <eggert@twinsun.com>
131489         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
131491 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131493         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
131494         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
131495         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
131496         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131498 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131500         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
131501         Remove workaround macros for hosts that have mbrtowc but not
131502         mbstate_t, as we now insist on proper declarations for both
131503         before using mbrtowc.
131505 2001-02-17  Jim Meyering  <meyering@lucent.com>
131507         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
131508         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
131509         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
131510         UnixWare 7.1.1.
131512         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
131513         rather than AC_CACHE_VAL.
131515 2001-02-17  Jim Meyering  <meyering@lucent.com>
131517         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
131518         around included file name.
131520         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
131522         * lib/strftime.c: Update from GNU libc (the only changes were to
131523         comments).
131525 2001-02-17  Jim Meyering  <meyering@lucent.com>
131527         * lib/regex.c: Update from libc.
131529 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
131531         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
131532         clash.
131534 2001-02-16  Paul Eggert  <eggert@twinsun.com>
131536         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
131537         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
131538         Reported by Mark Hounschell via Paul Eggert.
131540 2001-02-07  Jim Meyering  <meyering@lucent.com>
131542         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
131544 2001-02-05  Jim Meyering  <meyering@lucent.com>
131546         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
131547         it includes the patch required for `large file' support with at least
131548         HP-UX's 10.20 /bin/cc.
131550 2001-02-03  Jim Meyering  <meyering@lucent.com>
131552         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
131553         AS_IF, now that it works once again (mysteriously).
131554         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
131556 2001-01-30  Jim Meyering  <meyering@lucent.com>
131558         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
131559         * m4/chown.m4: Rename conftestchown to conftest.chown.
131560         * m4/rename.m4: s/conftestdir/conftest.d1/ and
131561         s/conftestdir2/conftest.d2/.
131562         * m4/utimes.m4: s/conftestdata/conftest.data/
131563         Inspired by Pavel Roskin's change in autoconf.
131565 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
131567         * lib/config.charset: Update for FreeBSD 4.2.
131569 2001-01-27  Jim Meyering  <meyering@lucent.com>
131571         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
131572         a use of AS_IF.
131573         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
131575 2001-01-26  Jim Meyering  <meyering@lucent.com>
131577         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
131578         quotearg.c includes it.
131580 2001-01-26  Jim Meyering  <meyering@lucent.com>
131582         * lib/quotearg.c: Include stddef.h.
131583         * lib/quote.c: Include stddef.h.
131584         Reported by Axel Kittenberger.
131586         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
131587         line in double quotes so that it evokes a better diagnostic.
131588         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
131589         Reported by Axel Kittenberger.
131591 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
131593         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
131594         as if it was a `charset'.
131596 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
131598         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
131599         has const.
131601 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
131603         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
131604         to avoid a warning.  Add back 'const' to inptr.
131606 2001-01-20  Jim Meyering  <meyering@lucent.com>
131608         Be sure that headers are checked before used in code compiled
131609         for the type checks.
131610         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
131611         In place of that, invoke jm_CHECK_ALL_TYPES.
131612         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
131613         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
131614         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
131615         The check for ssize_t was mistakenly run before the test for unistd.h.
131617         The configure-time check for stdbool.h was missing.
131618         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
131619         (jm_PREREQ_HASH): New function.
131621 2001-01-17  Jim Meyering  <meyering@lucent.com>
131623         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
131624         for autoconf-2.49c.
131625         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
131627 2001-01-16  Jim Meyering  <meyering@lucent.com>
131629         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
131630         From Bruno Haible.
131632 2001-01-14  Jim Meyering  <meyering@lucent.com>
131634         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
131635         foo and bar.  Create conftestdir/ in the script, not in the C code.
131636         Remove directories in the script, not in the C code.
131637         Remove conftestdir{,2} before trying to create the directory.
131638         Make the entire configure script fail if the mkdir fails.
131640 2001-01-14  Jim Meyering  <meyering@lucent.com>
131642         * lib/rename.c: New file.  From Volker Borchert.
131643         Include stdlib.h, string.h or strings.h, and xalloc.h.
131644         Use strip_trailing_slashes rather than open-coding it.
131646 2001-01-03  Paul Eggert  <eggert@twinsun.com>
131648         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
131650 2001-01-03  Jim Meyering  <meyering@lucent.com>
131652         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
131653         of local `inptr' to avoid warning with some system declarations of
131654         iconv.
131656 2001-01-02  Volker Borchert  <bt@teknon.de>
131658         * m4/rename.m4: New file.
131659         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
131661 2001-01-01  Jim Meyering  <meyering@lucent.com>
131663         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
131664         even on systems with utmpx.h.  It's necessary for the declaration of
131665         utmp's ut_user member.  Reported by Andreas Jaeger.
131667         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
131668         available. They are required for the declarations of getgrgid and
131669         getpwuid resp.
131670         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
131671         Reported by Andreas Jaeger.
131673 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
131675         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
131676         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
131677         so `make install' also works in VPATH builds.
131679 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
131681         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
131682         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
131683         can be used in subdirectories.
131685 2000-12-29  Paul Eggert  <eggert@twinsun.com>
131687         * lib/modechange.c: Do not assume that mode_t uses the
131688         traditional octal encoding.  E.g. "chmod 1 FOO" should set
131689         the other-execute bit of FOO even if S_IXOTH != 1.
131691         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
131692         WOTH, XOTH, ALLM): New macros.
131693         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
131694          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
131695         Use them.
131696         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
131697         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
131698         (mode_compile):
131699         No need to use uintmax_t; unsigned long is long enough.
131700         Don't bother to get suffix since we don't use it.
131702 2000-12-26  Jim Meyering  <meyering@lucent.com>
131704         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
131705         better with autoheader.
131707 2000-12-24  Jim Meyering  <meyering@lucent.com>
131709         * lib/hash.c (is_prime): Return explicit boolean values.
131710         (hash_get_first): Return NULL to appease Irix5.6's 89.
131711         Reported by Nelson Beebe.
131713 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
131715         * lib/localcharset.c (locale_charset): Add support for Win32.
131717 2000-12-18  Paul Eggert  <eggert@twinsun.com>
131719         * lib/physmem.h, lib/physmem.c: New files.
131721         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
131722         (noinst_HEADERS): Add physmem.h.
131724         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
131725         't' for compatibility with Solaris 8 sort.
131727 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
131729         * lib/config.charset: Add support for BeOS.
131731 2000-12-17  Jim Meyering  <meyering@lucent.com>
131733         * m4/dos.m4 (jm_AC_DOS): New file and macro.
131734         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
131736 2000-12-16  Jim Meyering  <meyering@lucent.com>
131738         This bug had a serious impact on chown: `chown N:M FILE' (for integer
131739         N and M) would have treated it like `chown N:N FILE'.
131741         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
131743 2000-12-16  Jim Meyering  <meyering@lucent.com>
131745         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
131746         SHELLS_FILE to a file name that's useful on djgpp systems.
131747         Include stdlib.h.
131748         (ADDITIONAL_DEFAULT_SHELLS): Define.
131749         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
131750         Based mostly on a patch from Prashant TR.
131752 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
131754         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
131755         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
131756         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
131758 2000-12-08  Andreas Schwab  <schwab@suse.de>
131760         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
131761         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
131763 2000-12-07  Jim Meyering  <meyering@lucent.com>
131765         * lib/stripslash.c (ISSLASH): Define.
131766         (strip_trailing_slashes): Use ISSLASH rather than comparing against
131767         `/'.
131768         From Prashant TR.
131770         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
131771         (dir_name_r): Declare this function as static.
131772         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
131773         manifest itself on a name containing a mix of slashes and
131774         backslashes.
131775         Make this function work with names starting with a DOS-style
131776         drive letter and colon prefix.
131777         (dir_name): Append `.' if necessary.
131778         Based mostly on patches from Prashant TR and Eli Zaretskii.
131780         * lib/dirname.h (dir_name_r): Remove prototype.
131782 2000-12-06  Paul Eggert  <eggert@twinsun.com>
131784         * m4/off_t-format.m4: Remove this file.
131785         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
131787 2000-12-06  Jim Meyering  <meyering@lucent.com>
131789         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
131790         replacement strtoull, we may well need the replacement strtoul, too.
131791         Check for declarations of strtoul and strtoull.
131792         Check for strtol.  Mainly as a cue to cause automake to include
131793         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
131794         Check for limits.h -- strtol.c needs it.
131796 2000-12-05  Jim Meyering  <meyering@lucent.com>
131798         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
131800 2000-12-04  Jim Meyering  <meyering@lucent.com>
131802         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
131803         Also include memory.h, stdlib.h, unistd.h if appropriate.
131804         Reported by Andreas Jaeger (conflicting declaration of malloc).
131806 2000-12-02  Jim Meyering  <meyering@lucent.com>
131808         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
131809         * m4/jm-macros.m4 (jm_MACROS): require it.
131811 2000-12-02  Jim Meyering  <meyering@lucent.com>
131813         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
131815 2000-12-01  Paul Eggert  <eggert@twinsun.com>
131817         * lib/memrchr.c: Include <config.h> before any system include file.
131819 2000-11-30  Jim Meyering  <meyering@lucent.com>
131821         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
131823 2000-11-30  Jim Meyering  <meyering@lucent.com>
131825         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
131827 2000-11-29  Paul Eggert  <eggert@twinsun.com>
131829         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
131831 2000-11-26  Jim Meyering  <meyering@lucent.com>
131833         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
131835 2000-11-22  Paul Eggert  <eggert@twinsun.com>
131837         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
131838         size of (size_t) -1; it's not portable.
131840 2000-11-17  Jim Meyering  <meyering@lucent.com>
131842         * lib/strstr.c: Update from GNU libc.
131844 2000-11-17  Akim Demaille  <akim@epita.fr>
131846         * lib/obstack.h: Formatting changes.
131847         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
131848         prevent type checking.
131849         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
131850         cast the value to (void *): assigning a `foo *' to a `void *'
131851         variable is valid.
131852         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
131854 2000-11-16  Jim Meyering  <meyering@lucent.com>
131856         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
131858 2000-11-11  Jim Meyering  <meyering@lucent.com>
131860         * lib/error.c: Add a couple #includes, merging from GNU libc version.
131862 2000-11-10  Jim Meyering  <meyering@lucent.com>
131864         * lib/obstack.h: Update from GNU libc.
131865         * lib/obstack.c: Likewise.
131867 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
131869         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
131871 2000-11-06  Paul Eggert  <eggert@twinsun.com>
131873         * lib/getusershell.c (setusershell): Use rewind rather than
131874         fseek/fseeko, to avoid configuration hassles with fseeko.
131875         Don't bother opening SHELLS_FILE if shellstream is NULL;
131876         it's not necessary.
131878 2000-11-05  Jim Meyering  <meyering@lucent.com>
131880         * lib/makepath.h (make_dir): Declare.
131881         * lib/makepath.c (make_dir): Remove `static' attribute.
131882         Tweak a comment.
131884 2000-11-04  Jim Meyering  <meyering@lucent.com>
131886         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
131888 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
131890         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
131891         last one in a bucket, advance to the next bucket.
131893 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
131895         * lib/fnmatch.c: Do not comment out all the code if we are using
131896         the GNU C library, because in some cases we are replacing buggy
131897         code in the GNU C library itself.
131899 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
131901         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
131902         (regex_compile): Catch bogus \(\1\).
131904 2000-10-30  Paul Eggert  <eggert@twinsun.com>
131906         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
131907         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
131908         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
131910 2000-10-30  Paul Eggert  <eggert@twinsun.com>
131912         * lib/error.h, getline.h, modechange.h:
131913         Remove "2000" from Copyright line, as the file hasn't been
131914         changed this year other than in the copyright notice.
131916         * lib/xalloc.h: Add "2000" to Copyright line, as this file
131917         was changed this year.
131919 2000-10-29  Jim Meyering  <meyering@lucent.com>
131921         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
131922         renaming.
131923         * m4/ls-mntd-fs.m4: Likewise
131925 2000-10-29  Jim Meyering  <meyering@lucent.com>
131927         * lib/xstat.in: Fix grammar in comment.
131929 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
131931         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
131932         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
131933         doesn't define __restrict_arr.
131935 2000-10-28  Jim Meyering  <meyering@lucent.com>
131937         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
131938         (jm_PREREQ_MEMCHR): New function.
131940 2000-10-28  Jim Meyering  <meyering@lucent.com>
131942         * lib/memchr.c: Update from libc.
131943         Adjust for portability:
131944         [HAVE_STDLIB_H]: Include stdlib.h.
131945         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
131946         Undef __memchr, too.
131947         [!weak_alias]: Define __memchr to memchr.
131949         * lib/regex.c: Update from libc.
131950         * lib/regex.h: Likewise.
131951         * lib/getopt1.c: Likewise.
131952         * lib/memcmp.c: Likewise.
131954         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
131955         Avoid using fseek, when possible -- it's broken by design.
131956         Patch by Ulrich Drepper.
131958 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
131960         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
131961         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
131962         Giving in to popular pressure to shut up the compiler with casts.
131964 2000-10-26  Jim Meyering  <meyering@lucent.com>
131966         * lib/strftime.c: Update from libc.
131968 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
131970         * regex.c: More `unsigned char' -> `re_char' changes.
131971         Also change several `int' into `re_wchar_t'.
131972         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
131973         (PUSH_FAILURE_POINTER): Don't cast any more.
131974         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
131975         We want GCC to complain, since this piece of code makes
131976         re_match non-reentrant, which *should* be fixed.
131977         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
131978         (EXTEND_BUFFER): Use RETALLOC.
131979         (SET_LIST_BIT): Don't cast.
131980         (re_wchar_t): New type.
131981         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
131982         that those two functions will always properly return.
131983         (IMMEDIATE_QUIT_CHECK): Cast to void.
131984         (analyse_first): Use recursion rather than an explicit stack.
131985         (re_compile_fastmap): Can't fail anymore.
131986         (re_search_2): Don't check re_compile_fastmap for failure.
131987         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
131988         Now also sets the new value (passed in a new argument).
131989         (re_match_2_internal): Use it.
131990         Also, use a new var `reg' of type size_t when looping through regs
131991         rather than reuse the inappropriate `mcnt'.
131993 2000-10-25  Jim Meyering  <meyering@lucent.com>
131995         * lib/obstack.c: Update from libc.
131997 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
131999         * regex.c (regex_compile): Change the way of handling a range from
132000         a char less than 256 to a char not less than 256.
132002 2000-10-24  Andrew Innes  <andrewi@gnu.org>
132004         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
132005         NT-Emacs only.
132006         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
132007         so that re_search functions only quit when callers expect them to.
132009 2000-10-23  Jim Meyering  <meyering@lucent.com>
132011         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
132012         wrong.  That set_locale call must not have any side effects.
132013         From Paul Eggert.
132015 2000-10-22  Jim Meyering  <meyering@lucent.com>
132017         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
132018         [CYCLIC]: Remove now-unused definition.
132020         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
132021         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
132022         Suggestion from Ulrich Drepper.
132024 2000-10-21  Jim Meyering  <meyering@lucent.com>
132026         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
132027         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
132028         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
132030 2000-10-21  Jim Meyering  <meyering@lucent.com>
132032         * lib/dirname.c (memrchr): Declare if necessary.
132033         (dir_name): Remove the restriction that there be no
132034         trailing slashes.  Now, this code skips past them, effectively
132035         ignoring them.
132036         [TEST_DIRNAME] (main): New unit tests.
132038         * lib/memrchr.c: New file from GNU libc.
132039         Undef __memrchr, too.
132040         [!weak_alias]: Define __memrchr to memrchr.
132041         Guard weak_alias use with `#ifdef weak_alias'.
132043 2000-10-21  Jim Meyering  <meyering@lucent.com>
132045         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
132046         (dir_name): Use dir_name_r.
132047         * lib/dirname.h (dir_name_r): Declare it.
132049 2000-10-17  Jim Meyering  <meyering@lucent.com>
132051         * lib/quote.h (PARAMS): Define and use.
132052         Reported by Akim Demaille.
132054         * lib/getopt.c: Update from libc.
132056 2000-10-16  Jim Meyering  <meyering@lucent.com>
132058         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
132059         setlocale.
132060         From Jan Fedak.
132062 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
132064         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
132066 2000-09-25  Jim Meyering  <meyering@lucent.com>
132068         * lib/md5.h (rol): Define (from GnuPG).
132070         * lib/sha.c: Give credit (GnuPG) where due.
132071         (M): Use rol rather than open-coding it.
132072         Add a FIXME comment.
132074 2000-09-21  Jim Meyering  <meyering@lucent.com>
132076         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
132077         Reported by Michael Stone.
132079 2000-09-20  Jim Meyering  <meyering@lucent.com>
132081         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
132082         (noinst_HEADERS): Add sha.h.
132083         Based on code from Scott G. Miller and from GnuPG.
132085 2000-09-18  Jim Meyering  <meyering@lucent.com>
132087         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
132088         LIBS. Otherwise, everyone ends up linking with -lelf for some
132089         configurations.
132090         Reported by Mike Stone.
132092 2000-09-15  Jim Meyering  <meyering@lucent.com>
132094         * lib/regex.c: Update from libc.
132096 2000-09-10  Jim Meyering  <meyering@lucent.com>
132098         * lib/getopt.c (_getopt_internal): Update from glibc.
132100 2000-09-09  Jim Meyering  <meyering@lucent.com>
132102         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
132103         think it should be used as a general replacement for isascii.
132104         * lib/fnmatch.c: Likewise.
132105         * lib/mbswidth.c: Likewise
132106         * lib/regex.c: Likewise.
132108         Don't use atoi.
132109         * lib/userspec.c: Include sys/param.h and limits.h.
132110         Include xstrtol.h.
132111         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
132112         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
132113         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
132114         UID, GID.  Check range.
132116 2000-09-06  Jim Meyering  <meyering@lucent.com>
132118         * lib/getopt.c (_getopt_internal): Update from glibc.
132120 2000-08-30  Jim Meyering  <meyering@lucent.com>
132122         * lib/strftime.c: Merge in changes from GNU libc.
132124 2000-08-26  Jim Meyering  <meyering@lucent.com>
132126         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
132127         * m4/fpending.m4: New file.
132129 2000-08-26  Jim Meyering  <meyering@lucent.com>
132131         * lib/closeout.c: Include "__fpending.h".
132132         (close_stdout_status): Return right away if there's nothing to flush.
132134         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
132135         * lib/__fpending.c: New file.
132136         * lib/__fpending.h: New file.
132138 2000-08-20  Jim Meyering  <meyering@lucent.com>
132140         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
132141         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
132142         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
132144 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
132146         Improve fileutils installation on systems where running
132147         programs (like install) can't be unlinked.
132148         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
132149         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
132151 2000-08-07  Paul Eggert  <eggert@twinsun.com>
132153         Standardize on "memory exhausted" instead of "Memory exhausted"
132154         or "virtual memory exhausted".
132155         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
132156         "virtual memory exhausted".
132157         * lib/same.c (same_name): Invoke xalloc_die instead of printing
132158         our own message.
132159         * lib/userspec.c (parse_user_spec): Likewise.
132160         * lib/bumpalloc.h: comment fix
132161         * lib/same.c, userspec.c: Include xalloc.h.
132163         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
132164         not char *const and pointing to a constant array.
132165         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
132166         (xrealloc): Comment fix.
132168         * lib/userspec.c (parse_user_spec):
132169         Don't translate a message until just before returning,
132170         to avoid unnecessary translation.
132172 2000-08-07  Jim Meyering  <meyering@lucent.com>
132174         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
132175         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
132176         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
132177         getgroups.c, gethostname.c, getopt.h, group-member.c,
132178         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
132179         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
132180         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
132181         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
132182         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
132183         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
132184         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
132185         yesno.c: Back out Copyright date changes for each file with no change
132186         this year.  This eases coordination with other programs using the same
132187         source code modules.  From Paul Eggert.
132189 2000-08-06  Paul Eggert  <eggert@twinsun.com>
132191         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
132192         not char, for compatibility with glibc 2.1.3 strftime.c.
132194 2000-08-03  Greg McGary  <greg@mcgary.org>
132196         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
132197         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
132198         (EXTEND_BUFFER): Use them.
132200 2000-08-01  Jim Meyering  <meyering@lucent.com>
132202         * lib/dirname.c (ISSLASH): Define.
132203         (BACKSLASH_IS_PATH_SEPARATOR): Define.
132204         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
132205         both `\' and `/' may be use as path separators.
132206         Based on a patch from Prashant TR.
132208 2000-07-31  Paul Eggert  <eggert@twinsun.com>
132210         * lib/quotearg.c (quotearg_n_options): Don't make the initial
132211         slot vector a constant, since it might get modified.
132213 2000-07-31  Jim Meyering  <meyering@lucent.com>
132215         * lib/xmalloc.c: Use `virtual memory exhausted', not
132216         `Memory exhausted'.
132217         * lib/obstack.c (print_and_abort): Likewise.
132219 2000-07-30  Paul Eggert  <eggert@twinsun.com>
132221         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
132222         buffer, so that the caller can always quote one small
132223         component of a "memory exhausted" message in slot 0.
132224         From a suggestion by Jim Meyering.
132226 2000-07-30  Jim Meyering  <meyering@lucent.com>
132228         * lib/makepath.c (make_path): Quote the other instance, too.
132230         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
132231         (STATIC_BUF_SIZE): Define.
132232         (quotearg_n_options): Use only statically allocated storage when
132233         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
132234         than STATIC_BUF_SIZE.
132236 2000-07-29  Jim Meyering  <meyering@lucent.com>
132238         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
132239         * lib/dirname.c (dir_name): Likewise.
132241         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
132242         `/'.
132244         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
132245         (dir_name): Assert that there are no trailing slashes.
132247 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
132249         * lib/mbswidth.h (mbswidth): Add a flags argument.
132250         (mbswidth): New declaration.
132251         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
132252         * lib/mbswidth.c (mbswidth): Add a flags argument.
132253         (mbsnwidth): New function.
132255 2000-07-24  Jim Meyering  <meyering@lucent.com>
132257         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
132259 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132261         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
132263 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132265         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
132266         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
132267         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
132268         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
132269         invoke multibyte primitives.
132271 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132273         * lib/quotearg.c:
132274         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
132275         so that mbstate_t is always defined.
132277         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
132278         be 1 in at least one GCC installation, and this configuration
132279         error is likely to be common.  Ignoring MB_LEN_MAX hurts
132280         performance on hosts that have mbrtowc but have only unibyte
132281         locales, but I assume these hosts are rare.
132283 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132285         * lib/mbswidth.c (_XOPEN_SOURCE):
132286         Don't define; this causes problems on Solaris 7.
132287         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
132289 2000-07-23  Jim Meyering  <meyering@lucent.com>
132291         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
132292         too: getgrgid, getpwuid, getuid.
132294 2000-07-23  Jim Meyering  <meyering@lucent.com>
132296         * lib/basename.c (base_name): Add an assertion.
132298 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
132300         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
132301         shadow its mbsinit function.
132303 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132305         * lib/mbswidth.h: New file.
132306         * lib/mbswidth.c: New file.
132307         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
132308         (noinst_HEADERS): Add mbswidth.h.
132310 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132312         * lib/config.charset: Add support for FreeBSD. Improve support for
132313         HP-UX and IRIX 6.
132315 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
132317         * m4/mbswidth.m4: New file.
132318         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
132320 2000-07-15  Jim Meyering  <meyering@lucent.com>
132322         * lib/makepath.c: Include quote.h.
132323         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
132324         corresponding argument in a `quote (...)' call.
132325         Give better diagnostics.
132327         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
132328         (noinst_HEADERS): Add quote.h.
132330         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
132331         from tar's src/misc.c.
132332         * lib/quote.h: New file.  Prototypes for same.
132334 2000-07-14  Paul Eggert  <eggert@twinsun.com>
132336         From a suggestion by Bruno Haible.
132337         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
132338         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
132339         to decide whether to define the BeOS workaround macro;
132340         this adjusts to the change to AC_MBSTATE_T.
132342 2000-07-14  Jim Meyering  <meyering@lucent.com>
132344         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
132345         jm_AC_TYPE_UINTMAX_T.
132347 2000-07-13  Paul Eggert  <eggert@twinsun.com>
132349         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
132351         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
132352         quotearg_buffer_restyled): Add support for
132353         clocale_quoting_style.  Undo previous change to
132354         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
132355         and "{RIGHT QUOTATION MARK}" msgids.
132357 2000-07-10  Paul Eggert  <eggert@twinsun.com>
132359         From a suggestion by Bruno Haible.
132360         * m4/mbstate_t.m4 (AC_MBSTATE_T):
132361         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
132362         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
132363         and mbstate_t, to a single-part test that simply defines mbstate_t.
132364         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
132365         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
132367 2000-07-10  Jim Meyering  <meyering@lucent.com>
132369         * m4/strerror_r.m4: Mirror the correction made in autoconf.
132371         * m4/gnu-source.m4: Output to confdefs.h directly.
132372         Suggestion from Akim Demaille.
132374 2000-07-09  Paul Eggert  <eggert@twinsun.com>
132376         The old behavior of quoting `like this' doesn't look good with
132377         newer, ISO-style fonts.  See:
132378         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
132380         Instead, quote "like this" by default.  Let the translator
132381         tailor the locale-specific quoting behavior by providing
132382         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
132384         * lib/quotearg.c (N_): New macro.
132385         (gettext_default): New function.
132386         (quotearg_buffer_restyled): Use
132387         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
132388         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
132390 2000-07-09  Jim Meyering  <meyering@lucent.com>
132392         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
132393         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
132395         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
132396         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
132398 2000-07-09  Jim Meyering  <meyering@lucent.com>
132400         * lib/Most files: Update copyright dates to include 2000.
132402 2000-07-08  Jim Meyering  <meyering@lucent.com>
132404         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
132405         if not defined.
132406         (xgethostname): Remove now-unnecessary #ifdef.
132407         Move declaration of `err' into loop where it's used.
132409 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132410         and Bruno Haible  <haible@clisp.cons.org>
132412         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
132413         only if the test for an object-type mbstate_t fails.  This
132414         prevents us from mistakenly reporting that mbstate_t is a
132415         system object type after we "#define mbstate_t int" to work
132416         around its lack.
132418 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132419         and Bruno Haible  <haible@clisp.cons.org>
132421         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
132423 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132425         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
132426         to strerror_r.
132427         Include <ctype.h> for use of isalpha.
132429 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132431         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
132432         by allocating a larger buffer. Test the gethostname return value for
132433         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
132434         returns an error and ENAMETOOLONG isn't defined.
132436 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132438         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
132439         dimension.
132441 2000-07-04  Jim Meyering  <meyering@lucent.com>
132443         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
132444         of the deprecated AC_CHECKING.
132446 2000-07-04  Jim Meyering  <meyering@lucent.com>
132448         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
132449         Reported by Bruno Haible.
132451 2000-07-04  Jim Meyering  <meyering@lucent.com>
132453         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
132454         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
132455         lacks mbrtowc.
132457 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132459         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
132460         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
132462 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132463         and Bruno Haible  <haible@clisp.cons.org>
132465         * lib/quotearg.c (mbrtowc):
132466         Assign to *pwc, and return 1 only if result is nonzero.
132467         (iswprint): Use ISPRINT when substituting our own mbrtowc.
132469 2000-07-03  Jim Meyering  <meyering@lucent.com>
132471         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
132473 2000-07-03  Jim Meyering  <meyering@lucent.com>
132475         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
132476         This is necessary to get a definition of e.g., UTMP_FILE on
132477         HP-UX 10.20.
132478         From Bob Proulx.
132480 2000-07-02  Jim Meyering  <meyering@lucent.com>
132482         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
132484         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
132485         AC_LIBOBJ(function_name).
132486         * m4/chown.m4: Likewise.
132487         * m4/fnmatch.m4: Likewise.
132488         * m4/ftruncate.m4: Likewise.
132489         * m4/getgroups.m4: Likewise.
132490         * m4/getline.m4: Likewise.
132491         * m4/group-member.m4: Likewise.
132492         * m4/jm-macros.m4: Likewise.
132493         * m4/lstat.m4: Likewise.
132494         * m4/malloc.m4: Likewise.
132495         * m4/memcmp.m4: Likewise.
132496         * m4/nanosleep.m4: Likewise.
132497         * m4/putenv.m4: Likewise.
132498         * m4/realloc.m4: Likewise.
132499         * m4/regex.m4: Likewise.
132500         * m4/stat.m4: Likewise.
132501         * m4/strftime.m4: Likewise.
132503 2000-07-02  Jim Meyering  <meyering@lucent.com>
132505         * lib/quotearg.c (mbstate_t): Don't define here.
132507 2000-07-02  Jim Meyering  <meyering@lucent.com>
132509         * lib/nanosleep.c (SIGCONT): Define if not already defined.
132511 2000-07-01  Jim Meyering  <meyering@lucent.com>
132513         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
132515 2000-07-01  Jim Meyering  <meyering@lucent.com>
132517         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
132518         problem.
132520 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132522         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
132523         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
132525 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
132527         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
132528         per change in ../m4/ls-mntd-fs.m4.
132529         (read_filesystem_list): Ignore symbolic links.
132531 2000-06-29  Jim Meyering  <meyering@lucent.com>
132533         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
132534         for declaration of strcmp.
132536         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
132538         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
132539         Avoid warning by casting result to `char *' to remove `const'.
132541 2000-06-28  Jim Meyering  <meyering@lucent.com>
132543         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
132544         included by quotearg.c, for which we perform this test.  From
132545         Bruno Haible.
132547 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
132549         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
132550         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
132551         <utmpx.h> exists, put readutmp.o into LIBOBJS.
132553 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
132555         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
132557 2000-06-26  Paul Eggert  <eggert@twinsun.com>
132559         savedir now sets errno on failure and invokes xmalloc to get memory.
132560         Fix a couple of other minor bugs while we're at it.
132562         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
132563         (NAMLEN): Remove macro.
132564         (malloc, realloc): Remove decls.
132565         (stpcpy): Likewise.
132566         ("xalloc.h"): Include.
132567         (NAME_SIZE_DEFAULT): New macro.
132568         (savedir): Use xmalloc / xrealloc to allocate memory.
132569         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
132570         Skip "" directory entries.
132571         Use strlen to calculate directory entry length, since the old method
132572         is rarely used these days and isn't worth supporting.
132573         Don't use a pointer after freeing it.
132574         Check for integer overflow when calculating allocation size.
132575         Use memcpy to copy entries, instead of stpcpy.
132576         Set errno properly when returning NULL.
132577         Check for readdir error.
132579 2000-06-26  Jim Meyering  <meyering@lucent.com>
132581         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
132583 2000-06-25  Jim Meyering  <meyering@lucent.com>
132585         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
132586         Linux header bug when _XOPEN_SOURCE is defined to 500.
132588 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
132590         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
132591         deficiency.
132593 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
132595         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
132596         Include xalloc.h.
132597         Don't include <stdlib.h>.  Don't declare malloc, realloc.
132599 2000-06-24  Jim Meyering  <meyering@lucent.com>
132601         * m4/strerror_r.m4: Revive this file -- to try out an experimental
132602         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
132603         for which strerror does return char*, but which lacks a conveniently
132604         accessible declaration of the function.  If the compile-test says
132605         strerror_r doesn't work, then resort to a `run'-test that works on
132606         BeOS and segfaults on DEC Unix.
132608 2000-06-24  Jim Meyering  <meyering@lucent.com>
132610         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
132612 2000-06-23  Paul Eggert  <eggert@twinsun.com>
132614         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
132615         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
132617 2000-06-23  Paul Eggert  <eggert@twinsun.com>
132619         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
132620         (mbrtowc, mbstate_t): Define substitutes if
132621         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
132622         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
132623         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
132625 2000-06-23  Jim Meyering  <meyering@lucent.com>
132627         * m4/afs.m4: Add missing AC_MSG_RESULT.
132628         Reported by Bruno Haible.
132630         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
132631         Suggestion from Bruno Haible.
132633 2000-06-23  Jim Meyering  <meyering@lucent.com>
132635         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
132637 2000-06-21  Jim Meyering  <meyering@lucent.com>
132639         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
132641 2000-06-21  Jim Meyering  <meyering@lucent.com>
132643         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
132644         (noinst_HEADERS): Add getstr.h.
132646         * lib/getline.c (getstr): Move into a separate file.
132647         * lib/getstr.c (getstr): New file, extracted from getline.c, with
132648         the following changes: new parameter, delim2; both delim[12]
132649         parameters have type `int', not `char'.  The latter would lose
132650         with 8-bit delimiters.
132651         * lib/getstr.h: New file.
132653 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132655         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
132656         than 1024, return a memory chunk of least possible size, instead
132657         of size PATH_MAX + 2. In the loop, increment the size proportionally.
132658         Use free/xmalloc instead of xrealloc to avoid copying for very long
132659         paths.
132661 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132663         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
132664         the empty string.
132666 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
132668         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
132669         address, not strdup.  Include <stdlib.h> and don't declare free().
132671 2000-06-19  Jim Meyering  <meyering@lucent.com>
132673         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
132675 2000-06-18  Jim Meyering  <meyering@lucent.com>
132677         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
132679         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
132680         `checking whether...' message to be consistent with that of the
132681         lstat test.
132683 2000-06-18  Jim Meyering  <meyering@lucent.com>
132685         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
132686         Besides, these days every porting target provides a mkdir function.
132688         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
132689         needed. (this snippet comes from src/system.h).
132691 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
132693         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
132695 2000-06-15  Paul Eggert  <eggert@twinsun.com>
132697         * lib/human.c (adjust_value): New function.
132698         (human_readable_inexact): Apply rounding style even when
132699         printing approximate values.
132701 2000-06-14  Paul Eggert  <eggert@twinsun.com>
132703         * lib/human.c (human_readable_inexact): Allow an input block
132704         size that is not a multiple of the output block size, and vice versa.
132705         Reported by Piergiorgio Sartor.
132707 2000-06-14  Paul Eggert  <eggert@twinsun.com>
132709         * lib/getdate.y (get_date): Apply relative times after time
132710         zone indicator, not before.  Reported by Todd A. Jacobs.
132712 2000-06-13  Jim Meyering  <meyering@lucent.com>
132714         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
132716         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
132718 2000-06-12  Paul Eggert  <eggert@twinsun.com>
132720         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
132722 2000-06-12  Jim Meyering  <meyering@lucent.com>
132724         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
132725         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
132726         optional argument.
132727         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
132728         the optional argument, `lib'.
132730 2000-06-08  Jim Meyering  <meyering@lucent.com>
132732         * m4/largefile.m4: Remove file (now that it's part of autoconf).
132734 2000-06-04  Paul Eggert  <eggert@twinsun.com>
132736         Rewrite largefile configuration so that we don't need to run
132737         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
132738         AC_CANONICAL_HOST in configure.in -- jmm]
132740         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
132741         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
132742         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
132743         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
132744         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
132745         All uses changed.
132746         Instead of inspecting the output of getconf, try to compile the
132747         test program without and with the macro definition.
132748         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
132749         for getconf.  Instead, check for the needed flags by compiling
132750         test programs.
132752 2000-06-04  Paul Eggert  <eggert@twinsun.com>
132754         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
132756 2000-06-04  Jim Meyering  <meyering@lucent.com>
132758         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
132759         SunOS 4.1.4 for which gid_t is an unsigned type.
132761 2000-06-03  Jim Meyering  <meyering@lucent.com>
132763         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
132764         now that autoconf requires that.
132766         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
132767         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
132768         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
132770 2000-06-03  Jim Meyering  <meyering@lucent.com>
132772         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
132774 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
132776         * m4/glibc21.m4: New file.
132777         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
132779 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
132781         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
132782         newer, don't install charset.alias.
132783         * lib/config.charset: Change the Linux/glibc rules so they become empty
132784         on glibc-2.1 or newer.
132786 2000-06-02  Jim Meyering  <meyering@lucent.com>
132788         * lib/mountlist.c: Back out last change.  Instead, do this...
132789         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
132790         me_dummy member using the same `ignore'-testing code.
132791         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
132792         fs_type strings.
132793         From Mark D. Roth.
132795 2000-05-29  Jim Meyering  <meyering@lucent.com>
132797         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
132798         mounts with the `ignore' attribute.  Based on a patch from
132799         Mark D. Roth.
132801 2000-05-28  Jim Meyering  <meyering@lucent.com>
132803         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
132804         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
132805         * m4/stat.m4: Likewise.
132806         * m4/lstat.m4: Likewise.
132807         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
132809         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
132810         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
132812 2000-05-26  Jim Meyering  <meyering@lucent.com>
132814         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
132816 2000-05-24  Jim Meyering  <meyering@lucent.com>
132818         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
132819         autoconf requires that.
132820         * m4/lib-check.m4: Likewise.
132821         * m4/jm-macros.m4: Likewise.
132822         * m4/strftime.m4: Likewise.
132824         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
132825         AC_CHECK_DECLS, now that autoconf requires that.
132827 2000-05-22  Jim Meyering  <meyering@lucent.com>
132829         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
132830         * m4/lstat.m4: Likewise.
132832 2000-05-22  Jim Meyering  <meyering@lucent.com>
132834         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
132836 2000-05-20  Jim Meyering  <meyering@lucent.com>
132838         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
132839         (jm_PREREQ): Use it.
132841 2000-05-18  Jim Meyering  <meyering@lucent.com>
132843         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
132844         back, too, since it may have been modified by allocate_entry.
132845         (hash_delete): Rewrite to use neither the assignment operator
132846         nor the comma operator in an if-expression.
132848 2000-05-15  Paul Eggert  <eggert@twinsun.com>
132850         * lib/closeout.c:
132851         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
132852         Remove; no longer needed.
132853         "quotearg.h": Add include.
132854         (file_name): Do not bother to explicitly initialize to NULL; it's less
132855         efficient on some hosts.
132856         (close_stdout_status): Remove test as to whether stdout was already
132857         closed; it breaks for the case "echo x | sort >&-".
132858         Quote file name colons.
132859         Do not assume that _("write error") lacks format strings.
132861 2000-05-15  Jim Meyering  <meyering@lucent.com>
132863         * lib/version-etc.c (version_etc_copyright): Update the copyright
132864         string used in all --version output.
132866 2000-05-14  Jim Meyering  <meyering@lucent.com>
132868         * lib/closeout.c (close_stdout_set_file_name): New function.
132869         (close_stdout_status): Use new file-scoped global.
132870         Return right away if fstat says the stdout file descriptor is invalid.
132871         * lib/closeout.h (close_stdout_set_file_name): Declare.
132873 2000-05-10  Jim Meyering  <meyering@lucent.com>
132875         * lib/closeout.c [default_exit_status]: New file-scoped variable.
132876         (close_stdout_set_status): New function.
132877         * lib/closeout.h (close_stdout_set_status): Declare.
132879 2000-05-09  Jim Meyering  <meyering@lucent.com>
132881         * m4/gettext.m4: Rename this...
132882         * m4/libintl.m4: ...to this.
132884 2000-05-08  Jim Meyering  <meyering@lucent.com>
132886         * lib/long-options.c: Don't include closeout.h.
132887         (parse_long_options): Don't call close_stdout for --version.
132889 2000-05-06  Paul Eggert  <eggert@twinsun.com>
132891         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
132892         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
132893         2.1.3 bug.  This avoids a clash when files like regex.c define
132894         _GNU_SOURCE.
132896 2000-05-06  Jim Meyering  <meyering@lucent.com>
132898         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
132899         (AC_REPLACE_FUNCS): Add strnlen.
132901         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
132902         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
132904         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
132905         AC_SEARCH_LIBS call for nanosleep.
132906         (LIB_NANOSLEEP): Set and AC_SUBST.
132908 2000-05-06  Jim Meyering  <meyering@lucent.com>
132910         * lib/strnlen.c: Undefine __strnlen and strnlen.
132911         [!weak_alias]: Define __strnlen to strnlen.
132913         * lib/atexit.c: New file, from libiberty.
132915 2000-05-06  Jim Meyering  <meyering@lucent.com>
132917         * lib/closeout.c (close_stdout_status): Also check for errors on the
132918         stderr stream.
132920 2000-05-05  Jim Meyering  <meyering@lucent.com>
132922         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
132923         AC_SEARCH_LIBS call for clock_gettime.
132924         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
132926         * m4/search-libs.m4: Update from autoconf.
132928         su doesn't work on Solaris 2.6.
132929         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
132930         <shadow.h>.  Reported by Dragos Harabor.
132932 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
132934         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
132935         memcpy instead of xmalloc, xrealloc, path_concat.
132936         (locale_charset): Treat empty environment variables as absent.
132937         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
132939 2000-05-04  Jim Meyering  <meyering@lucent.com>
132941         * lib/getopt.c: Update from glibc.
132942         * lib/obstack.c: Likewise.
132943         * lib/obstack.h: Likewise.
132944         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
132945         file
132947         * lib/regex.h: Likewise.
132948         * lib/strndup.c: Likewise.
132949         * lib/strnlen.c: New file, from glibc.
132951 2000-05-03  Jim Meyering  <meyering@lucent.com>
132953         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
132955 2000-05-02  Paul Eggert  <eggert@twinsun.com>
132957         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
132958         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
132959         compile-time test, rather than inspecting host and OS, to
132960         decide whether to define _LARGEFILE_SOURCE.
132962 2000-05-01  Jim Meyering  <meyering@lucent.com>
132964         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
132966         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
132967         Based on a patch from Bruno Haible.
132969 2000-05-01  Jim Meyering  <meyering@lucent.com>
132971         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
132973 2000-04-29  Jim Meyering  <meyering@lucent.com>
132975         * lib/path-concat.c: Declare strdup only if it's not defined.
132976         * lib/canon-host.c: Likewise.
132978 2000-04-28  Jim Meyering  <meyering@lucent.com>
132980         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
132981         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
132982         is included first, then limits.h is included by locale.h by libintl.h.
132983         From John David Anglin.
132985 2000-04-25  Jim Meyering  <meyering@lucent.com>
132987         * lib/makepath.c (S_IRWXUGO): Define.
132988         (make_path): Always perform explicit chmod if MODE specifies any
132989         of the `special' permission bits.  Prompted by a bug report against
132990         install from Mate Wierdl and Joost van Baal.
132992 2000-04-18  Jim Meyering  <meyering@lucent.com>
132994         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
132995         (jm_PREREQ): Use it.
132997 2000-04-18  Jim Meyering  <meyering@lucent.com>
132999         * lib/README: New file.
133001         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
133002         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
133004 2000-04-17  Jim Meyering  <meyering@lucent.com>
133006         Get it right :-)
133007         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
133008         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
133009         Suggestion from Akim Demaille.
133011 2000-04-17  Jim Meyering  <meyering@lucent.com>
133013         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
133014         the definition of it to rpl_strftime also defined-away the system's
133015         declaration.
133017 2000-04-15  Jim Meyering  <meyering@lucent.com>
133019         Use `C' to denote so-called `contiguous' files, the same way
133020         that tar does.
133021         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
133022         (ftypelet): Use S_ISCTG.
133023         From Michael Deutschmann.
133025 2000-04-14  Jim Meyering  <meyering@lucent.com>
133027         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
133028         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
133029         clobbered.
133031 2000-04-14  Jim Meyering  <meyering@lucent.com>
133033         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
133035 2000-04-13  Jim Meyering  <meyering@lucent.com>
133037         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
133038         AH_VERBATIM to insert required #ifndef into config.h.in.
133039         Suggestion from Akim Demaille.
133041 2000-04-12  Jim Meyering  <meyering@lucent.com>
133043         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
133044         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
133045         Christian Krackowizer.
133047         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
133048         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
133049         (AC_SYS_LARGEFILE): Require.
133050         (AM_C_PROTOTYPES): Require.
133052 2000-04-08  Jim Meyering  <meyering@lucent.com>
133054         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
133055         names don't conflict.  Reported by Eli Zaretskii.
133057 2000-04-07  Jim Meyering  <meyering@lucent.com>
133059         * lib/putenv.c: Move inclusion of errno.h so it follows that of
133060         sys/types.h, to work around system header problems on AIX 3.2.5.
133061         From Bruno Haible.
133063 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
133065         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
133066         bug.  Deal with the different error behavior of Irix iconv.
133068 2000-04-05  Paul Eggert  <eggert@twinsun.com>
133070         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
133071         IRIX if the installer said otherwise.
133073 2000-04-05  Jim Meyering  <meyering@lucent.com>
133075         Portability tweaks required for ultrix4.3.
133076         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
133077         (jm_CHECK_DECLS): Add getutent to the list of functions.
133078         (_jm_DECL_HEADERS): Add utmpx.h.
133079         From John David Anglin.
133081         * m4/strftime.m4: Back out the 2000-04-02 change.
133082         Instead of that change, simply undefine putenv in the test program.
133084 2000-04-05  Jim Meyering  <meyering@lucent.com>
133086         Portability tweaks required for ultrix4.3.
133087         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
133088         getutent.
133089         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
133090         * lib/canon-host.c: Declare strdup.
133091         * lib/path-concat.c: Likewise.
133092         From John David Anglin.
133094 2000-04-04  Jim Meyering  <meyering@lucent.com>
133096         Be more DOS 8.3-friendly.
133097         * lib/ref-add.sin: Renamed from ref-add.sed.in.
133098         * lib/ref-del.sin: Renamed from ref-del.sed.in.
133099         * lib/Makefile.am: Reflect renaming.
133100         Reported by Eli Zaretskii.
133102         Use a temporary file name that won't clash with `charset.alias'
133103         in the DOS 8.3 name space.
133104         * lib/Makefile.am (charset_tmp): Define.
133105         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
133106         (uninstall-local): Likewise.
133107         Reported by Eli Zaretskii.
133109 2000-04-03  Jim Meyering  <meyering@lucent.com>
133111         * m4/gettext.m4: Fix typo in comment.
133113         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
133114         textutils/configure.in).  Suggestion from Paul Eggert.
133115         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
133117 2000-04-02  Paul Eggert  <eggert@twinsun.com>
133119         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
133120         variable in the shell rather than using putenv, which isn't
133121         portable.  This avoids the configure-time inter-test dependency
133122         on the potentially-renamed putenv function.
133124 2000-03-30  Paul Eggert  <eggert@twinsun.com>
133126         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
133127         before checking struct stat.st_blksize, so that
133128         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
133130 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133132         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
133133         since strftime.c uses HAVE_STRFTIME to decide whether to use
133134         the underlying strftime.
133136 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133138         * lib/time/strftime.c (my_strftime): Make sure we call the system
133139         strftime, not ourselves, when invoking the underlying strftime.
133141 2000-03-24  Jim Meyering  <meyering@lucent.com>
133143         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
133144         (charset_alias): Define.
133145         (install-exec-local): Factor out common code.
133146         (uninstall-local): Split lines longer than 80.
133147         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
133148         (SUFFIXES): Define.
133149         (.sed.in.sed): New rule.  Don't redirect directly to $@.
133150         (CLEANFILES): Add ref-add.sed and ref-del.sed.
133152 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
133154         * lib/config.charset: Output a line containing "Packages using this
133155         file".
133156         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
133157         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
133158         ref-del.sed): New rules.
133160 2000-03-17  Jim Meyering  <meyering@lucent.com>
133162         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
133163         Otherwise, include <strings.h>
133165 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
133167         * lib/unicodeio.c (utf8_wctomb): New function.
133168         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
133169         format instead of in UCS-4 with platform dependent endianness.
133171 2000-03-10  Jim Meyering  <meyering@lucent.com>
133173         * m4/lib-check.m4: Look for getspnam in -lgen, too.
133174         From Marco Franzen.
133176 2000-03-07  Paul Eggert  <eggert@twinsun.com>
133178         * lib/savedir.c (savedir): Work even if directory size is
133179         negative; this can happen with some screwy NFS configurations.
133181 2000-03-06  Jim Meyering  <meyering@lucent.com>
133183         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
133184         if it's NULL (because we ran out of memory).  From Bruno Haible.
133186 2000-03-05  Jim Meyering  <meyering@lucent.com>
133188         * lib/localcharset.c ("path-concat.h"): Include.
133189         (get_charset_aliases): Use path_concat instead of ANSI string
133190         concatenation.
133192         * lib/unicodeio.h (PARAMS): Define.
133193         Use it to guard prototype.
133195 2000-03-04  Jim Meyering  <meyering@lucent.com>
133197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
133198         for lib/localcharset.c.
133200 2000-03-04  Jim Meyering  <meyering@lucent.com>
133202         * lib/Makefile.am (install-exec-local): Create $(libdir) before
133203         installing into it.
133204         (uninstall-local): Uncomment this rule so `make distcheck' works
133205         once again.
133207         * lib/unicodeio.c (<errno.h>): Include it.
133208         (errno): Declare if not defined.
133210         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
133212         * lib/config.charset: New version, incorporating remarks from a linux
133213         i18n mailing list.  From Bruno Haible.
133215 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
133217         * m4/codeset.m4: New file.
133218         * m4/iconv.m4: New file.
133219         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
133221 2000-03-03  Jim Meyering  <meyering@lucent.com>
133223         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
133225 2000-03-02  Jim Meyering  <meyering@lucent.com>
133227         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
133228         the messages come out on separate lines.
133230         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
133231         rather than jm_CHECK_DECLARATIONS.
133232         * m4/decl.m4: Remove now-unused file.
133234         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
133235         geteuid.
133237 2000-03-02  Jim Meyering  <meyering@lucent.com>
133239         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
133241 2000-03-01  Jim Meyering  <meyering@lucent.com>
133243         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
133244         * lib/unicodeio.c: Likewise.
133246 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
133248         * lib/config.charset: New file.
133249         * lib/localcharset.c: New file.
133250         * lib/unicodeio.h, lib/unicodeio.c: New files.
133251         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
133252         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
133253         (noinst_HEADERS): Add unicodeio.h.
133254         (all-local, install-exec-local, charset.alias): New targets.
133256 2000-02-28  Paul Eggert  <eggert@twinsun.com>
133258         * lib/quotearg.c (ALERT_CHAR): New macro.
133259         (quotearg_buffer_restyled): Use it.
133261 2000-02-27  Jim Meyering  <meyering@lucent.com>
133263         * m4/check-decl.m4: Add getenv to the list.
133265 2000-02-27  Jim Meyering  <meyering@lucent.com>
133267         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
133268         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
133270         * lib/backupfile.c: Guard inclusion of stdlib.h with
133271         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
133272         Declare malloc if needed.
133274         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
133275         `#ifndef HAVE_DECL..'
133276         now that autoconf always defines the HAVE_DECL_ symbols.
133277         * lib/human.c: Likewise.
133278         * lib/same.c: Likewise.
133279         * lib/strtoumax.c: Likewise.
133281         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
133282         declaration check was not run.
133283         * lib/hash.c: Likewise.
133284         * lib/human.c: Likewise.
133285         * lib/same.c: Likewise.
133286         * lib/strtoumax.c: Likewise.
133288         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
133289         `.', then first look up the entire `.'-containing string as a login
133290         name.
133292 2000-02-23  Jim Meyering  <meyering@lucent.com>
133294         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
133295         in place of my hack.
133297 2000-02-18  Paul Eggert  <eggert@twinsun.com>
133299         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
133300         (textint): New typedef.
133301         (parser_control): Member year changed from int to textint.
133302         All uses changed.
133303         (YYSTYPE): Removed; replaced by %union with int and textint members.
133304         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
133305         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
133306         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
133307         (tSNUMBER, tUNUMBER): Now of type <textintval>.
133308         (date, number, to_year): Use width of number in digits, not its value,
133309         to determine whether it's a 2-digit year, or a 2-digit time.
133310         (yylex): Store number of digits of numeric tokens.
133311         Reported by John Kendall.
133313         (parser_control): Changed from struct parser_control to typedef (for
133314         consistency).  All uses changed.
133316         (tID): Removed; not used.
133317         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
133319 2000-02-14  Paul Eggert  <eggert@twinsun.com>
133321         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
133322         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
133324 2000-02-12  Jim Meyering  <meyering@lucent.com>
133326         * lib/userspec.c (ISDIGIT): Define it.
133327         (isdigit): Remove definition.
133328         (is_number): Use ISDIGIT, not isdigit.
133329         <libintl.h>: Include.
133330         (_ and N_): Define.
133331         (parse_user_spec): Mark translatable strings.
133333 2000-02-10  Jim Meyering  <meyering@lucent.com>
133335         With these changes, nanosleep.[ch] are finally enough like the other
133336         lib/* replacement files to compile on a few more losing systems.
133338         * lib/nanosleep.h: Don't include config.h.
133339         Remove prototype from declaration of nanosleep.
133340         (PARAMS): Remove now-unneeded definition.
133341         * lib/nanosleep.c: #undef nanosleep.
133342         (rpl_nanosleep): Rename from nanosleep.
133344 2000-02-10  Jim Meyering  <meyering@lucent.com>
133346         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
133347         gnu_nanosleep to rpl_nanosleep.
133349 2000-02-09  Jim Meyering  <meyering@lucent.com>
133351         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
133352         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
133354 2000-02-08  Akim Demaille  <akim@epita.fr>
133356         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
133357         `[' and `]' and remove uses of `changequote'.
133358         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
133359         (AC_SYS_LARGEFILE): Likewise.
133360         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
133361         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
133362         of changequote.
133363         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
133364         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
133365         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
133366         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
133368 2000-02-05  Jim Meyering  <meyering@lucent.com>
133370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
133371         Remove explicit use of AC_HEADER_TIME.  It is required by
133372         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
133373         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
133374         in autoconf whereby the expansion of the latter ended up preceding
133375         the expansion of its prerequisite, AC_HEADER_TIME.
133376         Reported by Volker Borchert.
133378 2000-02-03  Jim Meyering  <meyering@lucent.com>
133380         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
133382 2000-02-03  Jim Meyering  <meyering@lucent.com>
133384         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
133385         rather than with `#if HAVE_UTMPNAME'.
133387 2000-02-02  Jim Meyering  <meyering@lucent.com>
133389         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
133390         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
133391         Reported by Eli Zaretskii.
133393 2000-02-01  Jim Meyering  <meyering@lucent.com>
133395         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
133397 2000-01-31  Jim Meyering  <meyering@lucent.com>
133399         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
133400         functions.  Add the time.h and sys/time.h headers along with the
133401         AC_REQUIRE'ment of AC_HEADER_TIME.
133403 2000-01-31  Jim Meyering  <meyering@lucent.com>
133405         * lib/nanosleep.h (nanosleep): Guard declaration with
133406         `#if ! HAVE_DECL_NANOSLEEP'.
133407         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
133408         the declaration in that vendor's sys/timers.h.
133409         Reported by Christian Krackowizer.
133411         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
133412         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
133413         (ISPRINT): Likewise.
133414         Reported by Tom Tromey.
133416 2000-01-30  Jim Meyering  <meyering@lucent.com>
133418         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
133420         * m4/prereq.m4 (utmp_includes): Define.
133421         Check for ut_user and ut_name members in both struct utmpx
133422         and struct utmp.
133424 2000-01-30  Jim Meyering  <meyering@lucent.com>
133426         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
133427         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
133428         header files where only utmpx.ut_user is declared.
133430         * lib/readutmp.h (UT_USER): Define.
133432 2000-01-29  Jim Meyering  <meyering@lucent.com>
133434         * m4/lib-check.m4: New file containing library-related checks from
133435         fileutils and sh-utils (textutils had none).
133437 2000-01-28  Jim Meyering  <meyering@lucent.com>
133439         * m4/perl.m4: Change format of warning message to look more like that
133440         from the missing script.  Suggestion from François Pinard.
133442 2000-01-25  Jim Meyering  <meyering@lucent.com>
133444         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
133445         well as time.h in the compile check.
133446         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
133447         Fix typo in cross-compiling case: s/yes/no/.
133449 2000-01-23  Jim Meyering  <meyering@lucent.com>
133451         * m4/jm-macros.m4: Move df-related tests here from
133452         fileutils/configure.in
133454         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
133455         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
133457         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
133458         s/space/ac_fsusage_space/.
133459         (jm_FILE_SYSTEM_USAGE): Take two parameters.
133461         * m4/ftruncate.m4: New file (derived from part of
133462         fileutils/configure.in).
133463         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
133464         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
133466         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
133467         AC_SUBST these here, rather than just in sh-util/configure.in, so
133468         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
133469         all the same.
133470         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
133471         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
133472         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
133473         (AC_SUBST(POW_LIBM)): Likewise.
133474         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
133476 2000-01-23  Jim Meyering  <meyering@lucent.com>
133478         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
133479         obstack.c.
133481 2000-01-22  Jim Meyering  <meyering@lucent.com>
133483         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
133485         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
133487         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
133488         configure.in
133489         (AC_CHECK_HEADERS): Likewise for sh-utils.
133490         (AC_CHECK_HEADERS): Likewise for textutils.
133491         Merge the three lists of headers.
133493         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
133494         from fileutils' configure.in.
133496         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
133497         code. Moved tests into their own function (_jm_DECL_HEADERS) in
133498         check-decl.m4.
133500         * m4/check-decl.m4: Use #if rather than #ifdef.
133501         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
133502         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
133503         (_jm_DECL_HEADERS): Define new function.
133504         (jm_CHECK_DECLARATIONS): Require it.
133506 2000-01-22  Jim Meyering  <meyering@lucent.com>
133508         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
133509         [! HAVE_DECL_STRTOULL]: Declare strtoull.
133510         Required for some AIX systems.  Reported by Christian Krackowizer.
133511         [TESTING] (main): New function.
133513         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
133514         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
133515         letters.
133517         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
133518         iswprint.
133520         * lib/strverscmp.c (ISDIGIT): Define.
133521         (strverscmp): Use ISDIGIT, not isdigit.
133523 2000-01-19  Jim Meyering  <meyering@lucent.com>
133525         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
133526         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
133527         defines `struct timespec' in <sys/time.h>
133529         * m4/c-bs-a.m4: Remove uses of changequote altogether.
133530         Thanks to Akim for explaining.
133532 2000-01-17  Paul Eggert  <eggert@twinsun.com>
133534         * lib/nanosleep.c (nanosleep):
133535         Don't use SA_INTERRUPT to decide whether to call sigaction, as
133536         POSIX.1 doesn't require SA_INTERRUPT and some systems
133537         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
133538         it's been part of POSIX.1 since day 1 (in 1988).
133540 2000-01-17  Jim Meyering  <meyering@lucent.com>
133542         * lib/interlock: Remove unused file.  Reported by François Pinard.
133544 2000-01-16  Paul Eggert  <eggert@twinsun.com>
133546         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
133547         alert, backslash, formfeed, and vertical tab unnecessarily in
133548         shell quoting style.
133550 2000-01-16  Jim Meyering  <meyering@lucent.com>
133552         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
133553         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
133554         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
133555         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
133557 2000-01-16  Jim Meyering  <meyering@lucent.com>
133559         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
133560         because the latter didn't work.
133562 2000-01-15  Jim Meyering  <meyering@lucent.com>
133564         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
133565         (AC_REPLACE_FUNCS): Add memcpy and memset.
133566         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
133567         Add strpbrk.
133568         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
133570 2000-01-12  Jim Meyering  <meyering@lucent.com>
133572         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
133573         (jm_PREREQ): Use it.
133574         (jm_PREREQ_READUTMP): New macro.
133575         (jm_PREREQ): Use it.
133577 2000-01-11  Paul Eggert  <eggert@twinsun.com>
133579         Quote multibyte characters correctly.
133580         * m4/c-bs-a.m4: New file.
133581         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
133582         (jm_PREREQ): Use it.
133584 2000-01-11  Paul Eggert  <eggert@twinsun.com>
133586         * m4/uintmax_t.m4: Port to autoconf 2.13.
133588 2000-01-08  Jim Meyering  <meyering@ascend.com>
133590         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
133591         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
133593 2000-01-04  Jim Meyering  <meyering@ascend.com>
133595         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
133596         jm_STRUCT_DIRENT_D_TYPE.
133597         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
133598         jm_STRUCT_DIRENT_D_INO.
133599         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
133600         jm_STRUCT_UTIMBUF.
133601         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
133602         renamings.
133603         * m4/utime.m4: Likewise.
133605         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
133606         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
133608 2000-01-03  Paul Eggert  <eggert@twinsun.com>
133610         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
133611         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
133613 2000-01-02  Jim Meyering  <meyering@ascend.com>
133615         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
133616         remember if this is necessary.
133618 1999-12-26  Jim Meyering  <meyering@ascend.com>
133620         * m4/jm-macros.m4: Use it here.
133621         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
133623 1999-12-23  Jim Meyering  <meyering@ascend.com>
133625         * m4/jm-macros.m4: Check for clock_gettime (moved from
133626         fileutils/configure.in)
133627         Check for gettimeofday.
133629 1999-12-20  Jim Meyering  <meyering@ascend.com>
133631         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
133632         autoconf-2.14a-1999-12-20.
133634 1999-12-19  Jim Meyering  <meyering@ascend.com>
133636         * m4/lstat-slash.m4: New file.
133637         * m4/jm-macros.m4: Use the new macro:
133638         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133640 1999-12-07  Jim Meyering  <meyering@ascend.com>
133642         * m4/perl.m4: Require that File::Compare be available, too.
133643         Too many systems seem to lack it.
133645         * m4/strftime.m4: Add checks for most of the cpp macros tested in
133646         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
133648 1999-11-18  Paul Eggert  <eggert@twinsun.com>
133650         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
133651         problem with the QNX 4.25 shell, which doesn't propagate exit
133652         status of failed commands inside shell assignments.
133654 1999-11-17  Jim Meyering  <meyering@ascend.com>
133656         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
133658 1999-11-07  Jim Meyering  <meyering@ascend.com>
133660         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
133662 1999-11-06  Jim Meyering  <meyering@ascend.com>
133664         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
133665         * m4/jm-macros.m4 (jm_MACROS): Use it here.
133667 1999-11-05  Jim Meyering  <meyering@ascend.com>
133669         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
133670         configure.in of textutils, fileutils, and sh-utils into this one
133671         (shared between those packages) file.
133672         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
133673         AC_STRUCT_ST_BLKSIZE.
133675 1999-11-03  Jim Meyering  <meyering@ascend.com>
133677         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
133678         of AC_CHECK_TYPE checks includes unistd.h.
133679         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
133680         Suggestion from Akim Demaille.
133682 1999-10-30  Jim Meyering  <meyering@ascend.com>
133684         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
133685         m4-quoted string.
133686         * m4/ls-mntd-fs.m4: Likewise.
133687         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
133688         * m4/jm-winsz1.m4: Likewise.
133690         * m4/const.m4: Remove file, since the fix made it into the experimental
133691         version of autoconf.
133692         * m4/mktime.m4: Likewise.
133694         * m4/check-type.m4: Remove file, now that the latest version of
133695         AC_CHECK_TYPE takes a third arg to specify additional #includes.
133697         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
133698         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
133699         AC_CHECK_TYPE.
133701 1999-10-04  Jim Meyering  <meyering@ascend.com>
133703         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
133705 1999-09-22  Paul Eggert  <eggert@twinsun.com>
133707         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
133708         2.95.1 bug with HP-UX 10.20.
133710 1999-09-17  Jim Meyering  <meyering@ascend.com>
133712         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
133713         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
133714         due to missing strdup (against sh-utils-2.0).
133716 1999-08-29  Jim Meyering  <meyering@ascend.com>
133718         * m4/jm-macros.m4: Require jm_BISON.
133719         * m4/bison.m4: New file.
133721 1999-08-17  Paul Eggert  <eggert@twinsun.com>
133723         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
133724         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
133726 1999-08-05  Jim Meyering  <meyering@ascend.com>
133728         * m4/getline.m4: Rename test file from conftestdata to conftest.data
133729         to avoid conflicts with `conftest' on 8+3 filesystems.
133730         Suggestion from Eli Zaretskii.
133732 1999-08-04  Jim Meyering  <meyering@ascend.com>
133734         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
133735         fileutils and sh-utils (textutils's getline test was inadequate).
133736         (AM_FUNC_GETLINE): Run this test.
133737         (AC_CHECK_FUNCS): Check for getdelim.
133738         Reported by Bob Proulx.
133740 1999-08-02  Jim Meyering  <meyering@ascend.com>
133742         * m4/jm-macros.m4: Add a comment.
133744 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133746         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
133747         <inttypes.h> defines strtoumax as a macro (and not as a
133748         function).
133750 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133752         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
133753         that we can shift, multiply and divide unsigned long long
133754         values; Ultrix cc can't do it.
133756 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133758         * m4/mktime.m4: New file, which is a preview of what should appear
133759         in the next public autoconf release.
133761 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133763         * m4/lfs.m4: Remove this file.
133764         * m4/largefile.m4: New file.  It contains the old contents of
133765         lfs.m4, except that all names with prefix AC_LFS have been
133766         changed to use the prefix AC_SYS_LARGEFILE instead, to be
133767         compatible with future autoconf versions.  Also, some minor m4
133768         quoting problems have been fixed.
133770 1999-08-01  Paul Eggert  <eggert@twinsun.com>
133772         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
133773         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
133774         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
133775         and simplify the shell code.
133777 1999-08-01  Jim Meyering  <meyering@ascend.com>
133779         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
133780         m4.
133782 1999-07-20  Jim Meyering  <meyering@ascend.com>
133784         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
133786 1999-07-15  Jim Meyering  <meyering@ascend.com>
133788         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
133790 1999-05-22  Jim Meyering  <meyering@ascend.com>
133792         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
133794 1999-05-20  Jim Meyering  <meyering@ascend.com>
133796         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
133797         Add a colon after each `then' in case $4 is empty.
133799 1999-05-16  Jim Meyering  <meyering@ascend.com>
133801         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
133803 1999-05-10  Jim Meyering  <meyering@ascend.com>
133805         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
133807         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
133808         AC_FUNC_MKTIME.
133810 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
133812         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
133814 1999-05-04  Paul Eggert  <eggert@twinsun.com>
133816         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
133817         not CPPFLAGS, so that linking works correctly in IRIX.
133819 1999-04-30  Paul Eggert  <eggert@twinsun.com>
133821         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
133823 1999-04-20  Paul Eggert  <eggert@twinsun.com>
133825         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
133826         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
133827         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
133828         jm_AC_TYPE_UNSIGNED_LONG_LONG.
133829         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
133831         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
133833 1999-04-20  Jim Meyering  <meyering@ascend.com>
133835         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
133836         AC_REPLACE xstroull if necessary.  From Paul Eggert.
133837         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
133839 1999-04-18  Jim Meyering  <meyering@ascend.com>
133841         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
133842         * m4/jm-macros.m4: Use it.
133844 1999-04-06  Jim Meyering  <meyering@ascend.com>
133846         * m4/strftime.m4: Remove test for %f.
133848 1999-03-29  Jim Meyering  <meyering@ascend.com>
133850         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
133851         superset of the AC_TYPE_* checks in the textutils, fileutils,
133852         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
133853         AC_TYPE_PID_T.
133855 1999-03-28  Jim Meyering  <meyering@ascend.com>
133857         * m4/jm-macros.m4: Define GNU_PACKAGE here.
133858         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
133859         replaced e.g., in the *.sh files of the sh-utils.
133861 1999-03-20  Jim Meyering  <meyering@ascend.com>
133863         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
133864         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
133865         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
133867 1999-03-19  Jim Meyering  <meyering@ascend.com>
133869         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
133871 1999-03-12  Jim Meyering  <meyering@ascend.com>
133873         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
133875 1999-03-07  Jim Meyering  <meyering@ascend.com>
133877         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
133878         declared.
133880 1999-02-17  Jim Meyering  <meyering@ascend.com>
133882         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
133883         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
133885 1999-02-07  Jim Meyering  <meyering@ascend.com>
133887         * m4/group-member.m4: New file -- extracted from sh-utils'
133888         configure.in.
133890         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
133891         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
133893 1999-02-06  Jim Meyering  <meyering@ascend.com>
133895         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
133896         * m4/fnmatch.m4: Likewise.
133897         * m4/getgroups.m4: Likewise.
133898         * m4/lstat.m4: Likewise.
133899         * m4/malloc.m4: Likewise.
133900         * m4/putenv.m4: Likewise.
133901         * m4/realloc.m4: Likewise.
133902         * m4/regex.m4: Likewise.
133903         * m4/stat.m4: Likewise.
133904         * m4/strftime.m4: Likewise.
133905         Suggestion from Alain Magloire.
133907         * m4/chown.m4: Use `.$ac_objext', not `.o'.
133908         * m4/fnmatch.m4: Likewise.
133909         * m4/getgroups.m4: Likewise.
133910         * m4/getline.m4: Likewise.
133911         * m4/lstat.m4: Likewise.
133912         * m4/malloc.m4: Likewise.
133913         * m4/memcmp.m4: Likewise.
133914         * m4/putenv.m4: Likewise.
133915         * m4/realloc.m4: Likewise.
133916         * m4/regex.m4: Likewise.
133917         * m4/stat.m4: Likewise.
133918         * m4/strftime.m4: Likewise.
133919         Suggestion from Alain Magloire.
133921         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
133922         an argument.
133924         * m4/regex.m4: Add a run-time Test for proper operation of
133925         re_compile_pattern.
133927 1999-01-31  Jim Meyering  <meyering@ascend.com>
133929         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
133931 1999-01-30  Jim Meyering  <meyering@ascend.com>
133933         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
133935         * m4/jm-mktime.m4: Make this a wrapper around the official
133936         AM_FUNC_MKTIME rather than my private copy, now that the official one
133937         is up to date.
133938         * m4/mktime.m4: Remove file.
133940         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
133941         * m4/uptime.m4: Likewise.
133942         * m4/uintmax_t.m4: Likewise.
133944 1999-01-28  Jim Meyering  <meyering@ascend.com>
133946         * m4/jm-macros.m4: Use jm_AFS.
133947         * m4/afs.m4: New file (from fileutils' configure.in).
133949         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
133950         * m4/chown.m4: Likewise.
133951         * m4/d-ino.m4: Likewise.
133952         * m4/d-type.m4: Likewise.
133953         * m4/fnmatch.m4: Likewise.
133954         * m4/getgroups.m4: Likewise.
133955         * m4/gettext.m4: Likewise.
133956         * m4/jm-mktime.m4: Likewise.
133957         * m4/jm-winsz2.m4: Likewise.
133958         * m4/lcmessage.m4: Likewise.
133959         * m4/ls-mntd-fs.m4: Likewise.
133960         * m4/malloc.m4: Likewise.
133961         * m4/memcmp.m4: Likewise.
133962         * m4/putenv.m4: Likewise.
133963         * m4/realloc.m4: Likewise.
133964         * m4/st_mtim.m4: Likewise.
133965         * m4/strftime.m4: Likewise.
133967 1999-01-16  Jim Meyering  <meyering@ascend.com>
133969         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
133970         (ARGMATCH_DIE_DECL): Define.
133972 1999-01-12  Jim Meyering  <meyering@ascend.com>
133974         * m4/Makefile.am.in: Rewrite to avoid using fmt.
133975         Reported by Lars Hecking.
133977 1999-01-10  Jim Meyering  <meyering@ascend.com>
133979         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
133980         gross kludge.
133981         * m4/inttypes_h.m4: Likewise.
133982         * m4/lstat.m4: Likewise.
133983         * m4/malloc.m4: Likewise.
133984         * m4/readdir.m4: Likewise.
133985         * m4/realloc.m4: Likewise.
133986         * m4/st_dm_mode.m4: Likewise.
133987         * m4/stat.m4: Likewise.
133988         * m4/utimbuf.m4: Likewise.
133989         * m4/utimes.m4: Likewise.
133991         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
133992         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
133993         comments in config.h.in are meaningful.
133995         * m4/jm-macros.m4: Require autoconf-2.13 here.
133997         * m4/regex.m4: By default, don't use the included regex.c on systems
133998         with glibc 2.  Suggestion from Uli Drepper.
134000 1999-01-02  Jim Meyering  <meyering@ascend.com>
134002         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
134004 1998-12-18  Jim Meyering  <meyering@ascend.com>
134006         * m4/Makefile.am.in (Makefile.am): Simplify rule.
134007         Based on a suggestion from Lars Hecking.
134009 1998-11-16  Paul Eggert  <eggert@twinsun.com>
134011         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
134013 1998-11-16  Jim Meyering  <meyering@ascend.com>
134015         * m4/lfs.m4: Double-quote the `uname...` expression.
134017 1998-11-14  Jim Meyering  <meyering@ascend.com>
134019         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
134020         * m4/stat.m4: Likewise.
134022 1998-11-03  Jim Meyering  <meyering@ascend.com>
134024         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
134025         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
134027 1998-10-18  Jim Meyering  <meyering@ascend.com>
134029         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
134031 1998-10-17  Jim Meyering  <meyering@ascend.com>
134033         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
134034         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
134035         calls for those previously hard-coded headers.  Instead, take a new
134036         parameter.
134037         (jm_CHECK_DECLARATIONS): Reflect interface change.
134038         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
134039         (jm_CHECK_DECL_LOCALTIME_R): New macro.
134041         * m4/mktime.m4: Test for spring-forward gap before long-running test.
134043 1998-10-14  Jim Meyering  <meyering@ascend.com>
134045         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
134046         instead of "TZ=America/Vancouver".  From Paul Eggert.
134048 1998-10-11  Jim Meyering  <meyering@ascend.com>
134050         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
134051         This adds a test for a recently added compatibility fix for mktime.c.
134052         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
134054 1998-09-27  Jim Meyering  <meyering@ascend.com>
134056         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
134058         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
134059         ../configure.in, including a change from Gordon Matzigkeit to allow
134060         cross-compiling for the Hurd.
134062         * m4/glibc.m4: New file/macro to test for the GNU C Library
134063         versions 1 and 2.  From Gordon Matzigkeit.
134064         Indent.
134066 1998-09-21  Jim Meyering  <meyering@ascend.com>
134068         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
134070 1998-08-18  Paul Eggert  <eggert@twinsun.com>
134072         Port nanosecond-resolution times to UnixWare 2.1.2 and
134073         pedantic Solaris 2.6.
134075         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
134076         AC_STRUCT_ST_MTIM.
134077         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
134078         Generate name of ns member, instead of just 1 or undef.
134079         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
134081 1998-08-15  Jim Meyering  <meyering@ascend.com>
134083         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
134084         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
134085         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
134086         instead of jm_TYPE_SSIZE_T.
134088 1998-08-12  Jim Meyering  <meyering@ascend.com>
134090         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
134092 1998-08-02  Jim Meyering  <meyering@ascend.com>
134094         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
134095         in acconfig.h manually.
134097 1998-07-31  Paul Eggert  <eggert@twinsun.com>
134099         * m4/st_mtim.m4: New file.
134101 1998-07-28  Jim Meyering  <meyering@ascend.com>
134103         * m4/utimes.m4: Undef stat.
134105 1998-07-25  Jim Meyering  <meyering@ascend.com>
134107         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
134108         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
134110 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
134112         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
134113         uid and gid actually remain unchanged.
134115 1998-07-07  Jim Meyering  <meyering@ascend.com>
134117         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
134119 1998-07-04  Jim Meyering  <meyering@ascend.com>
134121         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
134122         to prove that this macro can be used in packages without regex.c.
134124 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
134126         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
134127         is to be used.
134129 1998-07-03  Jim Meyering  <meyering@ascend.com>
134131         * m4/gettext.m4: Add -lintl if it's found to be necessary.
134133         * m4/gettext.m4: New file -- from gettext-0.10.35.
134134         * m4/lcmessage.m4: Likewise.
134135         * m4/progtest.m4: Likewise.
134137         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
134138         * m4/jm-macros.m4: Require the new macro.
134140 1998-06-29  Jim Meyering  <meyering@ascend.com>
134142         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
134143         for the definition of NGROUPS (used in a system header included
134144         by sys/mount.h).
134146 1998-06-28  Jim Meyering  <meyering@ascend.com>
134148         * m4/ls-mntd-fs.m4: New file.
134149         * m4/fstypename.m4: New file.
134151         * m4/jm-macros.m4: Require the new macro.
134152         * m4/jm-glibc-io.m4: New file.
134154 1998-05-19  Jim Meyering  <meyering@ascend.com>
134156         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
134157         * m4/lchown.m4: New file.
134159         * m4/Makefile.am.in: New file.
134160         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
134162 1998-05-14  Jim Meyering  <meyering@ascend.com>
134164         * m4/Makefile.am (EXTRA_DIST): Add them.
134165         * m4/jm-macros.m4: New file.
134166         * m4/utimbuf.m4: New file.
134168 1998-05-12  Jim Meyering  <meyering@ascend.com>
134170         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
134172 1998-05-11  Jim Meyering  <meyering@ascend.com>
134174         * m4/isc-posix.m4: New file.
134176 1998-05-10  Jim Meyering  <meyering@ascend.com>
134178         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
134180 1998-05-09  Jim Meyering  <meyering@ascend.com>
134182         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
134183         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
134184         with automake.
134186         * m4/ssize_t.m4: New file.
134187         * m4/mktime.m4: Remove file -- the new automake has this now.
134189 1998-04-26  Jim Meyering  <meyering@ascend.com>
134191         * m4/assert.m4: New file.
134192         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
134194 1998-04-05  Jim Meyering  <meyering@ascend.com>
134196         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
134197         (jm_PREREQ): Use it here.
134199 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
134201         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
134202         in acconfig.h.
134204 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
134206         * m4/prereq.m4: New file.
134207         * m4/error.m4: New file.
134208         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
134210 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
134212         * m4/getline.m4: Don't set am_cv_func_working_getline before the
134213         cache-check for the same variable -- that defeated the purpose of
134214         the test; the test program was never run.  This was a problem only
134215         on systems with losing getline functions -- HP-UX 10.20 is one.
134216         Reported by Bjorn Helgaas.
134218 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
134220         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
134222 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
134224         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
134226         * m4/const.m4: New file.  Use an initializer in this declaration
134227         typedef int charset[2]; const charset x;
134228         Reported by Bob Glickstein.
134230 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
134232         * m4/chown.m4: Fix reversed types on -1 args to chown.
134233         From Kaveh Ghazi.
134235 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
134237         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
134238         Add lseek and memchr.
134240         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
134241         T.E.Dickey <dickey@clark.net> said that some older preprocessors
134242         have a 20-character limit on names.
134244 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
134246         * m4/inttypes_h.m4: New file.
134247         * m4/uintmax_t.m4: New file.
134248         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
134251         -----
134253         Local Variables:
134254         coding: utf-8
134255         End:
134257         Copyright (C) 1997-2020 Free Software Foundation, Inc.
134259         Copying and distribution of this file, with or without
134260         modification, are permitted provided the copyright notice
134261         and this notice are preserved.